Rx checksum offload sanity check
Make sure that valid Rx checksum flags are put into mbufs
The test receives one packet with valid checksums and one with wrong. Then checksum status is verified for the packets by means of peeking at the mbuf checksum flags.
Make a copy of the template to be used for bad checksum testing
Inspect the 2nd template to discover outer and inner (if any) PDUs
Spoil checksums in the outer PDUs of the 2nd template and make notes on the standard checksum flags which _could be expected
Spoil checksums in the inner PDUs of the 2nd template and make notes on the standard checksum flags which _could be expected
Prepare
TEST_ETHDEV_INITIALIZED
stateCheck the capabilities and adjust the expectations of checksum flags
Toggle Rx checksum offload feature based on rx_ol_cksum
Prepare
TEST_ETHDEV_STARTED
stateConfigure tunnel UDP port number if need be
Enable promiscuous mode if supported
Ensure that interface is UP on Tester side
Transmit both packets and get the corresponding patterns
Capture and recognise both packets
Make note on the tunnel type value detected by the PMD
Retrieve offload flags from the two mbufs
Make sure that NONE flags are unset for the packets
Determine what flags (for outer or inner PDUs) must be checked and verify external IP BAD checksum flag in the case of tunnel
Parameters:
tmpl |
Traffic template |
rx_ol_cksum |
Rx checksum offload toggle |