]> git.itanic.dy.fi Git - linux-stable/commitdiff
selftests/net: convert fib_nexthop_nongw.sh to run it in unique namespace
authorHangbin Liu <liuhangbin@gmail.com>
Wed, 13 Dec 2023 06:08:51 +0000 (14:08 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 15 Dec 2023 02:38:35 +0000 (18:38 -0800)
Here is the test result after conversion.

 ]# ./fib_nexthop_nongw.sh
 TEST: nexthop: get route with nexthop without gw                    [ OK ]
 TEST: nexthop: ping through nexthop without gw                      [ OK ]

Acked-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://lore.kernel.org/r/20231213060856.4030084-9-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/fib_nexthop_nongw.sh

index b7b928b38ce46e7494c0c7f1d43875975914817c..1ccf56f10171373fbe0078212bb20ef3c4ac3dff 100755 (executable)
@@ -8,6 +8,7 @@
 #            veth0 <---|---> veth1
 # Validate source address selection for route without gateway
 
+source lib.sh
 PAUSE_ON_FAIL=no
 VERBOSE=0
 ret=0
@@ -64,35 +65,31 @@ run_cmd()
 # config
 setup()
 {
-       ip netns add h1
-       ip -n h1 link set lo up
-       ip netns add h2
-       ip -n h2 link set lo up
+       setup_ns h1 h2
 
        # Add a fake eth0 to support an ip address
-       ip -n h1 link add name eth0 type dummy
-       ip -n h1 link set eth0 up
-       ip -n h1 address add 192.168.0.1/24 dev eth0
+       ip -n $h1 link add name eth0 type dummy
+       ip -n $h1 link set eth0 up
+       ip -n $h1 address add 192.168.0.1/24 dev eth0
 
        # Configure veths (same @mac, arp off)
-       ip -n h1 link add name veth0 type veth peer name veth1 netns h2
-       ip -n h1 link set veth0 up
+       ip -n $h1 link add name veth0 type veth peer name veth1 netns $h2
+       ip -n $h1 link set veth0 up
 
-       ip -n h2 link set veth1 up
+       ip -n $h2 link set veth1 up
 
        # Configure @IP in the peer netns
-       ip -n h2 address add 192.168.1.1/32 dev veth1
-       ip -n h2 route add default dev veth1
+       ip -n $h2 address add 192.168.1.1/32 dev veth1
+       ip -n $h2 route add default dev veth1
 
        # Add a nexthop without @gw and use it in a route
-       ip -n h1 nexthop add id 1 dev veth0
-       ip -n h1 route add 192.168.1.1 nhid 1
+       ip -n $h1 nexthop add id 1 dev veth0
+       ip -n $h1 route add 192.168.1.1 nhid 1
 }
 
 cleanup()
 {
-       ip netns del h1 2>/dev/null
-       ip netns del h2 2>/dev/null
+       cleanup_ns $h1 $h2
 }
 
 trap cleanup EXIT
@@ -108,12 +105,11 @@ do
        esac
 done
 
-cleanup
 setup
 
-run_cmd ip -netns h1 route get 192.168.1.1
+run_cmd ip -netns $h1 route get 192.168.1.1
 log_test $? 0 "nexthop: get route with nexthop without gw"
-run_cmd ip netns exec h1 ping -c1 192.168.1.1
+run_cmd ip netns exec $h1 ping -c1 192.168.1.1
 log_test $? 0 "nexthop: ping through nexthop without gw"
 
 exit $ret