Send one packet and request offloads
Evaluate transmit operation correctness by sending one packet
Learn about protocol types from the traffic template
Prepare state TEST_ETHDEV_INITIALIZED
Attempt to configure tunnel UDP port number in the PMD
Enable VLAN offload in the PMD
Enable outer IP checksum offload in the PMD
Enable outer UDP checksum offload in the PMD
Enable innermost IP checksum offload in the PMD
Enable innermost L4 checksum offload in the PMD
Enable non-tunnel TSO in the PMD
Enable VXLAN TSO in the PMD
Enable Geneve TSO in the PMD
Enable multi-seg mbuf support in the PMD
Prepare state TEST_ETHDEV_CONFIGURED
Prepare state TEST_ETHDEV_RX_SETUP_DONE
Cook the traffic template
Generate and customise a packet mbuf
Add VLAN offload request to the mbuf
Add outer IP checksum offload request to the mbuf
Add outer UDP checksum offload request to the mbuf
Add innermost IP checksum offload request to the mbuf
Add TCP checksum offload request to the mbuf
Add innermost UDP checksum offload request to the mbuf
Add TSO request to the mbuf
Clone the mbuf from IUT RPCS to TST RPCS
Redistribute the packet data across multiple mbuf segments
Evaluate TxQ ring size
Override the number of descriptors by the maximum supported value since the NIC may need additional descriptor room for TSO transaction while being unable to report this in limits
Prepare state TEST_ETHDEV_TX_SETUP_DONE
Prepare state TEST_ETHDEV_STARTED
Check mbuf segmentation vs limits
Sanity check the packet mbuf with Tx prepare API
Derive the maximum packet length and the number of packets to be seen on Rx side
Enlarge MTU on both ends
Deploy RTE af_packet on top of TST network interface
Squeeze out garbage packets possibly captured by RTE af_packet
Send the packet
Receive the packet(s)
Match Rx packet(s) and figure out what offloads took place
Parameters:
tmpl |
Traffic template |
pld_size |
Payload size |
vlan |
VLAN offload: VLAN ID (ON) or |
outer_ip_cksum |
Outer IP checksum offload toggle |
outer_udp_cksum |
Outer UDP checksum offload toggle |
innermost_ip_cksum |
Innermost IP checksum offload toggle |
innermost_l4_cksum |
Innermost L4 checksum offload toggle |
tso |
TSO: segment size (ON) or |
segmentation |
Mbuf segmentation pattern or an empty line |