selftests: xsk: Disable IPv6 on VETH1
authorKal Conley <kal.conley@dectris.com>
Wed, 5 Apr 2023 08:29:04 +0000 (10:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:20 +0000 (23:03 +0900)
[ Upstream commit f2b50f17268390567bc0e95642170d88f336c8f4 ]

This change fixes flakiness in the BIDIRECTIONAL test:

    # [is_pkt_valid] expected length [60], got length [90]
    not ok 1 FAIL: SKB BUSY-POLL BIDIRECTIONAL

When IPv6 is enabled, the interface will periodically send MLDv1 and
MLDv2 packets. These packets can cause the BIDIRECTIONAL test to fail
since it uses VETH0 for RX.

For other tests, this was not a problem since they only receive on VETH1
and IPv6 was already disabled on VETH0.

Fixes: a89052572ebb ("selftests/bpf: Xsk selftests framework")
Signed-off-by: Kal Conley <kal.conley@dectris.com>
Link: https://lore.kernel.org/r/20230405082905.6303-1-kal.conley@dectris.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/bpf/test_xsk.sh

index d821fd0..4e3ec38 100755 (executable)
@@ -118,6 +118,7 @@ setup_vethPairs() {
        ip link add ${VETH0} numtxqueues 4 numrxqueues 4 type veth peer name ${VETH1} numtxqueues 4 numrxqueues 4
        if [ -f /proc/net/if_inet6 ]; then
                echo 1 > /proc/sys/net/ipv6/conf/${VETH0}/disable_ipv6
+               echo 1 > /proc/sys/net/ipv6/conf/${VETH1}/disable_ipv6
        fi
        if [[ $verbose -eq 1 ]]; then
                echo "setting up ${VETH1}: namespace: ${NS1}"