On 5/30/24 15:10, David Marchand wrote:
> The outer checksum offloading API in DPDK is ambiguous and was
> implemented by Intel folks in their drivers with the assumption that
> any outer offloading always goes with an inner offloading request.
> 
> With net/i40e and net/ice drivers, in the case of encapsulating a ARP
> packet in a vxlan tunnel (which results in requesting outer ip checksum
> with a tunnel context but no inner offloading request), a Tx failure is
> triggered, associated with a port MDD event.
> 2024-03-27T16:02:07.084Z|00018|dpdk|WARN|ice_interrupt_handler(): OICR:
>       MDD event
> 
> To avoid this situation, if no checksum or segmentation offloading is
> requested on the inner part of a packet, fallback to "normal" (non outer)
> offloading request.
> 
> Reported-at: https://github.com/openvswitch/ovs-issues/issues/321
> Fixes: 084c8087292c ("userspace: Support VXLAN and GENEVE TSO.")
> Fixes: f81d782c1906 ("netdev-native-tnl: Mark all vxlan/geneve packets as 
> tunneled.")
> Signed-off-by: David Marchand <david.march...@redhat.com>
> Acked-by: Kevin Traynor <ktray...@redhat.com>
> ---
> Changes since v2:
> - kept offloads disabled for net/i40e and net/ice as this patch does not
>   fix outer udp checksum (a DPDK fix is required),
> - updated commitlog with details to reproduce the issue,
> - adjusted indent,
> 
> Changes since v1:
> - reset inner marks before converting outer requests,
> - fixed some coding style,
> 
> ---
>  lib/netdev-dpdk.c | 71 +++++++++++++++++++++++++++--------------------
>  1 file changed, 41 insertions(+), 30 deletions(-)


Recheck-request: github-robot
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to