]> git.itanic.dy.fi Git - linux-stable/commitdiff
selftests/net: convert drop_monitor_tests.sh to run it in unique namespace
authorHangbin Liu <liuhangbin@gmail.com>
Sat, 2 Dec 2023 02:01:02 +0000 (10:01 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 5 Dec 2023 12:00:56 +0000 (13:00 +0100)
Here is the test result after conversion.

]# ./drop_monitor_tests.sh

Software drops test
    TEST: Capturing active software drops                               [ OK ]
    TEST: Capturing inactive software drops                             [ OK ]

Hardware drops test
    TEST: Capturing active hardware drops                               [ OK ]
    TEST: Capturing inactive hardware drops                             [ OK ]

Tests passed:   4
Tests failed:   0

Acked-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
tools/testing/selftests/net/drop_monitor_tests.sh

index b7650e30d18b65d428ec03b822250bb7262458e0..7c4818c971fc7ed8ab6e9d722726b0fed5f5b0f6 100755 (executable)
@@ -2,10 +2,8 @@
 # SPDX-License-Identifier: GPL-2.0
 
 # This test is for checking drop monitor functionality.
-
+source lib.sh
 ret=0
-# Kselftest framework requirement - SKIP code is 4.
-ksft_skip=4
 
 # all tests in this script. Can be overridden with -t option
 TESTS="
@@ -13,10 +11,6 @@ TESTS="
        hw_drops
 "
 
-IP="ip -netns ns1"
-TC="tc -netns ns1"
-DEVLINK="devlink -N ns1"
-NS_EXEC="ip netns exec ns1"
 NETDEVSIM_PATH=/sys/bus/netdevsim/
 DEV_ADDR=1337
 DEV=netdevsim${DEV_ADDR}
@@ -43,7 +37,7 @@ setup()
        modprobe netdevsim &> /dev/null
 
        set -e
-       ip netns add ns1
+       setup_ns NS1
        $IP link add dummy10 up type dummy
 
        $NS_EXEC echo "$DEV_ADDR 1" > ${NETDEVSIM_PATH}/new_device
@@ -57,7 +51,7 @@ setup()
 cleanup()
 {
        $NS_EXEC echo "$DEV_ADDR" > ${NETDEVSIM_PATH}/del_device
-       ip netns del ns1
+       cleanup_ns ${NS1}
 }
 
 sw_drops_test()
@@ -194,8 +188,15 @@ if [ $? -ne 0 ]; then
        exit $ksft_skip
 fi
 
-# start clean
+# create netns first so we can get the namespace name
+setup_ns NS1
 cleanup &> /dev/null
+trap cleanup EXIT
+
+IP="ip -netns ${NS1}"
+TC="tc -netns ${NS1}"
+DEVLINK="devlink -N ${NS1}"
+NS_EXEC="ip netns exec ${NS1}"
 
 for t in $TESTS
 do