Skip to content

Commit

Permalink
selftests/xsk: reset NIC settings to default after running test suite
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
mfijalko authored and Kernel Patches Daemon committed May 30, 2023
1 parent fac93ab commit 2c0cfe7
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
5 changes: 5 additions & 0 deletions tools/testing/selftests/bpf/test_xsk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -184,6 +187,8 @@ exec_xskxceiver

if [ -z $ETH ]; then
cleanup_exit ${VETH0} ${VETH1}
else
cleanup_iface ${ETH} ${MTU}
fi

failures=0
Expand Down
7 changes: 7 additions & 0 deletions tools/testing/selftests/bpf/xsk_prereqs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 ] &&
Expand Down

0 comments on commit 2c0cfe7

Please sign in to comment.