[dpdk-dev] [PATCH v2] net/i40e: fix forward outer IPv6 VXLAN packets

David Marchand david.marchand at redhat.com
Fri Mar 29 09:16:07 CET 2024


Hello Bruce, John,

On Fri, Nov 5, 2021 at 4:39 AM Jie Wang <jie1x.wang at intel.com> wrote:
>
> Testpmd forwards packets in checksum mode that it need to calculate
> the checksum of each layer's protocol. Then it will fill flags and
> header length into mbuf.
>
> In process_outer_cksums, HW calculates the outer checksum if
> tx_offloads contains outer UDP checksum otherwise SW calculates
> the outer checksum.
>
> When tx_offloads contains outer UDP checksum or outer IPv4 checksum,
> mbuf will be filled with correct header length.
>
> This patch added outer UDP checksum in tx_offload_capa and
> I40E_TX_OFFLOAD_MASK, when we set csum hw outer-udp on that the
> engine can forward outer IPv6 VXLAN packets.
>
> Fixes: 7497d3e2f777 ("net/i40e: convert to new Tx offloads API")
> Cc: stable at dpdk.org
>
> Signed-off-by: Jie Wang <jie1x.wang at intel.com>

- There is a bz opened by a OVS user trying to offload geneve checksum.
https://bugs.dpdk.org/show_bug.cgi?id=1406

Reading the X7xx datasheet, parsing i40e_parse_tunneling_params() and
looking at the packets reported by the user, I understand that outer
udp checksum is actually *not* supported by net/i40e.
And so the change from this mail thread should be reverted as the
driver falsely claims support for this feature.


- I found some bits about X722 (5535087e6c56 ("i40e/base: add outer
UDP checksum for X722")) supporting this feature, but I did not find a
definition in the datasheet.
Besides, this I40E_TXD_CTX_QW0_L4T_CS_MASK is not used in the net/i40e tx path.


We need Intel to clear state what is supported or not, and send fixes
accordingly.

Thanks.

-- 
David Marchand



More information about the stable mailing list