On 2/1/26 11:19 PM, Willem de Bruijn wrote: > Paolo Abeni wrote: >> @@ -260,6 +293,38 @@ for family in 4 6; do >> ip netns exec $NS_SRC $PING -q -c 1 $OL_NET$DST_NAT >/dev/null >> run_test "GRO fwd over UDP tunnel" $OL_NET$DST_NAT 10 10 $OL_NET$DST >> cleanup >> + >> + # force segmentation and re-aggregation >> + create_vxlan_pair >> + ip netns exec "$NS_DST" ethtool -K veth"$DST" generic-receive-offload on >> + ip netns exec "$NS_SRC" ethtool -K veth"$SRC" tso off >> + ip -n "$NS_SRC" link set dev veth"$SRC" mtu 1430 >> + >> + # forward to a 2nd veth pair >> + ip -n "$NS_DST" link add br0 type bridge >> + ip -n "$NS_DST" link set dev veth"$DST" master br0 >> + >> + # segment the aggregates TSO packet, without csum offload >> + ip -n "$NS_DST" link add veth_segment type veth peer veth_rx >> + for FEATURE in tso tx-udp-segmentation tx-checksumming; do >> + ip netns exec "$NS_DST" ethtool -K veth_segment "$FEATURE" off >> + done > > fwiw, tx off will disable all the dependent tx offloads too
Going over the features in this order is intentional to prevent ethtool from emitting messages about the additional features disabled by tx-checksumming. >> + ip -n "$NS_DST" link set dev veth_segment master br0 up >> + ip -n "$NS_DST" link set dev br0 up >> + ip -n "$NS_DST" link set dev veth_rx up >> + >> + # move the lower layer IP in the last added veth >> + for ADDR in "$BM_NET_V4$DST/24" "$BM_NET_V6$DST/64"; do >> + # the dad argument will let iproute emit a unharmfull warning > > unimportant but minor typo: unharmful. Also above aggregates -> aggregated These ones were not intentional :) > >> + # with ipv4 addresses >> + ip -n "$NS_DST" addr del dev veth"$DST" "$ADDR" \ >> + nodad 2>/dev/null > > nodad probably only matters on add? uhm... yes, left-over from c&p. There is no rush, let me send a v2 addressing the above. Thanks! Paolo
