Bug 1125 - i40e: Tx offload for outer UDP checksum is advertised but in fact unsupported
Summary: i40e: Tx offload for outer UDP checksum is advertised but in fact unsupported
Status: UNCONFIRMED
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: unspecified
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Zhang Yuying
URL:
Depends on:
Blocks:
 
Reported: 2022-11-12 13:15 CET by ivan.malov
Modified: 2023-11-03 07:49 CET (History)
5 users (show)



Attachments

Description ivan.malov 2022-11-12 13:15:24 CET
In the opensource ethdev verification suite [1], there is a test, xmit/one_packet, which is tailored specifically for Tx offload checks. In the case of i40e, the test finds a bug in encap. TSO support.

As shown in [2], a VXLAN packet with TSO request is transmitted, and resulting packets mismatch because of the wrong checksum in the outer UDP header (it is the same as the one in the original superframe). However, since the test sees capability bit TX_OFFLOAD_OUTER_UDP_CKSUM in device info, the checksum is expected to be offloaded.

According to Intel(R) Ethernet Controller X710/ XXV710/XL710 Datasheet, section 8.4.4.2, "Tunneling UDP headers and GRE header are not offloaded while the X710/XXV710/XL710 leaves their checksum field as is". That means the i40e PMD shall not advertise TX_OFFLOAD_OUTER_UDP_CKSUM capability via device info API.

[1] https://mails.dpdk.org/archives/dev/2022-October/251663.html
[2] https://ts-factory.io/bublik/v2/log/163204?focusId=165783&mode=treeAndlog
Comment 1 dengkaiwen 2023-11-03 07:49:46 CET
please offer the reproduce steps with standard DPDK API like testpmd, l3fwd and other examples.

Note You need to log in before you can comment on or make changes to this bug.