]> www.infradead.org Git - users/hch/configfs.git/commitdiff
selftests/xsk: reset NIC settings to default after running test suite
authorMaciej Fijalkowski <maciej.fijalkowski@intel.com>
Wed, 19 Jul 2023 13:24:21 +0000 (15:24 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 19 Jul 2023 16:56:51 +0000 (09:56 -0700)
Currently, when running ZC test suite, after finishing first run of test
suite and then switching to busy-poll tests within xskxceiver, such
errors are observed:

libbpf: Kernel error message: ice: MTU is too large for linear frames and XDP prog does not support frags
1..26
libbpf: Kernel error message: Native and generic XDP can't be active at the same time
Error attaching XDP program
not ok 1 [xskxceiver.c:xsk_reattach_xdp:1568]: ERROR: 17/"File exists"

this is because test suite ends with 9k MTU and native xdp program being
loaded. Busy-poll tests start non-multi-buffer tests for generic mode.
To fix this, let us introduce bash function that will reset NIC settings
to default (e.g. 1500 MTU and no xdp progs loaded) so that test suite
can continue without interrupts. It also means that after busy-poll
tests NIC will have those default settings, whereas right now it is left
with 9k MTU and xdp prog loaded in native mode.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://lore.kernel.org/r/20230719132421.584801-25-maciej.fijalkowski@intel.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/test_xsk.sh
tools/testing/selftests/bpf/xsk_prereqs.sh

index c2ad50f26b636a4f448aae34288e9ea37a34c9d2..2aa5a3445056ac917a44fcb73a17482c137efeb7 100755 (executable)
@@ -171,7 +171,10 @@ exec_xskxceiver
 
 if [ -z $ETH ]; then
        cleanup_exit ${VETH0} ${VETH1}
+else
+       cleanup_iface ${ETH} ${MTU}
 fi
+
 TEST_NAME="XSK_SELFTESTS_${VETH0}_BUSY_POLL"
 busy_poll=1
 
@@ -184,6 +187,8 @@ exec_xskxceiver
 
 if [ -z $ETH ]; then
        cleanup_exit ${VETH0} ${VETH1}
+else
+       cleanup_iface ${ETH} ${MTU}
 fi
 
 failures=0
index ae697a10a0569c4bba277b6f2525de2991d54286..29175682c44d6fb2b50c0b71e7b7ed3229620a6a 100755 (executable)
@@ -53,6 +53,13 @@ test_exit()
        exit 1
 }
 
+cleanup_iface()
+{
+       ip link set $1 mtu $2
+       ip link set $1 xdp off
+       ip link set $1 xdpgeneric off
+}
+
 clear_configs()
 {
        [ $(ip link show $1 &>/dev/null; echo $?;) == 0 ] &&