On Fri, Apr 5, 2024 at 3:00 PM Ilya Maximets <i.maxim...@ovn.org> wrote: > >> > >>> Basically, resolving a neighbor with ARP inside tunnels is broken on > >>> Intel nics (even without re-enabling outer udp checksum). > >>> This can be observed with the following debug patch at the end of > >>> netdev_dpdk_prep_hwol_packet(): > >>> > >>> + char buf[256]; > >>> + if (rte_get_tx_ol_flag_list(mbuf->ol_flags, buf, sizeof(buf)) != 0) > >>> + buf[0] = '\0'; > >>> + VLOG_WARN("len=%u, ol_flags=%s, outer_l2_len=%u, outer_l3_len=%u, > >>> l2_len=%u, l3_len=%u, l4_len=%u, tso_segsz=%u", mbuf->pkt_len, buf, > >>> mbuf->outer_l2_len, mbuf->outer_l3_len, mbuf->l2_len, mbuf->l3_len, > >>> mbuf->l4_len, mbuf->tso_segsz); > >>> > >>> Then doing a "arping" inside the tunnel triggers: > >>> 2024-04-03T16:05:40.920Z|00014|netdev_dpdk(pmd-c03/id:8)|WARN|len=96, > >>> ol_flags=RTE_MBUF_F_TX_L4_NO_CKSUM RTE_MBUF_F_TX_OUTER_IP_CKSUM > >>> RTE_MBUF_F_TX_OUTER_IPV4 RTE_MBUF_F_TX_TUNNEL_VXLAN , outer_l2_len=18, > >>> outer_l3_len=20, l2_len=0, l3_len=0, l4_len=0, tso_segsz=0 > > The fact that l2_len and l3_len are not set here looks like an OVS > bug though, as AFAIU, these should always be set if any Tx offload > is requested.
The commit that introduces such Tx offloads requests is: f81d782c19 - netdev-native-tnl: Mark all vxlan/geneve packets as tunneled. (7 weeks ago) <Mike Pattrick> -- David Marchand _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev