Message ID | 20240322114624.160306-1-atenart@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | gro: various fixes related to UDP tunnels | expand |
On Fri, 22 Mar 2024 12:46:19 +0100 Antoine Tenart wrote: > We found issues when a UDP tunnel endpoint is in a different netns than > where UDP GRO happens. This kind of setup is actually quite diverse, > from having one leg of the tunnel on a remove host, to having a tunnel > between netns (eg. being bridged in another one or on the host). In our > case that UDP tunnel was geneve. I think this series makes net/udpgro_fwd.sh selftest fail.
Quoting Jakub Kicinski (2024-03-22 23:55:50) > On Fri, 22 Mar 2024 12:46:19 +0100 Antoine Tenart wrote: > > We found issues when a UDP tunnel endpoint is in a different netns than > > where UDP GRO happens. This kind of setup is actually quite diverse, > > from having one leg of the tunnel on a remove host, to having a tunnel > > between netns (eg. being bridged in another one or on the host). In our > > case that UDP tunnel was geneve. > > I think this series makes net/udpgro_fwd.sh selftest fail. Thanks! Sorry for not checking this earlier... What happens is the vxlan tunnel tests expect GRO to happen at the veth level which is exactly the issues this series is fixing. The below diff should fix the tests. I think it's good to keep them to ensure GRO is actually not happening while packets are in an UDP tunnel; I also removed the "UDP tunnel fwd perf" test as it's not providing any useful data now IMO. diff --git a/tools/testing/selftests/net/udpgro_fwd.sh b/tools/testing/selftests/net/udpgro_fwd.sh index 380cb15e942e..83ed987cff34 100755 --- a/tools/testing/selftests/net/udpgro_fwd.sh +++ b/tools/testing/selftests/net/udpgro_fwd.sh @@ -244,7 +244,7 @@ for family in 4 6; do create_vxlan_pair ip netns exec $NS_DST ethtool -K veth$DST generic-receive-offload on ip netns exec $NS_DST ethtool -K veth$DST rx-gro-list on - run_test "GRO frag list over UDP tunnel" $OL_NET$DST 1 1 + run_test "GRO frag list over UDP tunnel" $OL_NET$DST 10 10 cleanup # use NAT to circumvent GRO FWD check @@ -258,13 +258,7 @@ for family in 4 6; do # load arp cache before running the test to reduce the amount of # stray traffic on top of the UDP tunnel 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 1 1 $OL_NET$DST - cleanup - - create_vxlan_pair - run_bench "UDP tunnel fwd perf" $OL_NET$DST - ip netns exec $NS_DST ethtool -K veth$DST rx-udp-gro-forwarding on - run_bench "UDP tunnel GRO fwd perf" $OL_NET$DST + run_test "GRO fwd over UDP tunnel" $OL_NET$DST_NAT 10 10 $OL_NET$DST cleanup done