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