Send one packet
Make sure that a packet can be sent correctly
Validate PMD Tx operation in general and various Tx offloads in particular.
Reconcile interdependent test parameters
Prepare TEST_ETHDEV_INITIALIZED state
Conduct environment substitutions in the traffic template
Learn about protocol types present in the traffic template
Learn about offload capabilities supported by the PMD
Spoil outer IP checksum in the traffic template
Set outer L4 checksum to 0 in the traffic template if need be
Spoil inner IP checksum in the traffic template
Spoil inner L4 checksum in the traffic template
Set payload length in the traffic template
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 inner IP checksum offload in the PMD
Enable inner L4 checksum offload in the PMD
Enable TSO in the PMD
Enable multisegment mbuf support in the PMD
Prepare TEST_ETHDEV_RX_SETUP_DONE state
Generate mbuf and a packet sample from the traffic template
Add VLAN offload request to the mbuf
Add outer offload flags for the outer frame to the mbuf
Reconcile inner header length fields in the mbuf so that they refer to the outer header and fill zeros in outer header length fields
Add inner offload flags for the outer frame to the mbuf
Add inner offload flags for the inner frame to the mbuf
Add TSO request to the mbuf
Redistribute the packet data across multiple mbuf segments
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 TEST_ETHDEV_TX_SETUP_DONE state
Enlarge MTU on both ends to cope with big frame(s)
Prepare TEST_ETHDEV_STARTED state
Check mbuf segmentation vs limits
Validate Tx offloads for the packet
Create an Rx CSAP on the TST host according to the template
Inject VLAN tag to the packet sample
Replace checksums in the outer frame of the packet sample with script values to demand that the checksums in the packet(s) received by peer be correct
Replace checksums in the inner frame of the packet sample with script values to demand that the checksums in the packet(s) received by the peer be correct
Conduct TSO edits for the packet sample
Prepare a traffic pattern from TSO packet samples
Mask TCP flag CWR in the first packet to handle it gracefully
Prepare a traffic pattern from the packet sample
Ensure that interface is UP on Tester side
Start to capture traffic with the pattern prepared
Send the packet
Check that no extra packets are received on Tester
Verify the number of matching packets received
Fail if TCP CWR flag is lost
Parameters:
tmpl |
Traffic template |
payload_len |
Payload length |
inner_ip_cksum_offload |
Inner or no-tunnel IP checksum offload toggle |
l4_cksum_offload |
L4 checksum offload toggle |
vlan_id |
VLAN offload: VLAN ID (ON) or |
tso_segsz |
TSO: segment size > |
segmentation |
Mbuf segmentation pattern or an empty line |