selftests: xsk: Disable IPv6 on VETH1
authorKal Conley <kal.conley@dectris.com>
Wed, 5 Apr 2023 08:29:04 +0000 (10:29 +0200)
committerMartin KaFai Lau <martin.lau@kernel.org>
Wed, 5 Apr 2023 19:22:59 +0000 (12:22 -0700)
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>
tools/testing/selftests/bpf/test_xsk.sh

index b077cf5..377fb15 100755 (executable)
@@ -116,6 +116,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}"