Re: [PATCH] udp: let rx-udp-gro-forwarding aggregate under encapsulation
From: Eva Kurchatova (Virtuozzo)
Date: Mon Oct 26 2026 - 08:24:00 EST
On 10/19/26 21:19, Willem de Bruijn wrote:
On Sun, Oct 18, 2026 at 12:54 PM Eva Kurchatova (Virtuozzo)
<eva.kurchatova@xxxxxxxxxxxxx> wrote:
I also don't have a straightforward fix to the test. Maybe just make
On Wed, 15 Oct 2026 02:56, Willem de Bruijn wrote:
> Uses encapsulation in the same network namespace as where the test
> runs? If different namespaces, the socket lookup should fail and
> thus the behavior be the same as on a host without a tunnel.
Different one: the vxlan sat in the init namespace, the test in the
ns it creates. The static key is global, though, so the tunnel turns
the lookup on everywhere, and the lookup then runs in the test's
receiving namespace, where it finds the test's own receiver: a plain
socket bound to any address, without UDP_GRO. That is why the check
goes from 1 to 10 the moment a tunnel exists anywhere on the host.
this one optionally SKIP if it fails.
This is the following test in veth.sh, right?
"
chk_gro() {
local msg="$1"
local expected=$2
ip netns exec $BASE$SRC ping -qc 1 $BM_NET_V4$DST >/dev/null
NSTAT_HISTORY=$STATS ip netns exec $NS_DST nstat -n
printf "%-60s" "$msg"
ip netns exec $BASE$DST ./udpgso_bench_rx -C 1000 -R 10 &
local spid=$!
sleep 0.1
ip netns exec $NS_SRC ./udpgso_bench_tx -4 -s 13000 -S 1300 -M
1 -D $BM_NET_V4$DST
local retc=$?
wait $spid
local rets=$?
"
which gets called both to verify coalsecing and no coalescing
"
ip netns exec $NS_SRC ethtool -K veth$SRC tx-udp-segmentation off
chk_gro " - aggregation with TSO off" 10
...
ip netns exec $NS_SRC ethtool -K veth$SRC tx-udp-segmentation off
ip netns exec $NS_DST ethtool -K veth$DST rx-udp-gro-forwarding on
chk_gro " - aggregation with TSO off" 1
"
The full solution would be to add a third true routing namespace in
between, which would not have that local socket without -G..
I agree, and withdraw the patch. The lookup behaves as designed, yet the test asserts it isn't running.
Will follow-up with a fix to the kselftest via the third namespace, with your Suggested-by.