]> www.infradead.org Git - users/hch/misc.git/commitdiff
selftests: forwarding: lib: Add an autodefer variant of simple_if_init()
authorPetr Machata <petrm@nvidia.com>
Thu, 25 Sep 2025 17:31:54 +0000 (19:31 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 27 Sep 2025 00:48:40 +0000 (17:48 -0700)
Most forwarding tests invoke simple_if_init() to set up a VRF-based "host"
and simple_if_fini() to tear it down again. Add a helper,
adf_simple_if_init(), which is like simple_if_fini(), but takes care of
scheduling the cleanup automatically.

Convert the tests that currently use defer to schedule the cleanup.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/6b9ee1a7946a36fd32a47fdb1aa9325198ffc695.1758821127.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
13 files changed:
tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
tools/testing/selftests/drivers/net/mlxsw/qos_ets_strict.sh
tools/testing/selftests/drivers/net/mlxsw/qos_max_descriptors.sh
tools/testing/selftests/drivers/net/mlxsw/qos_mc_aware.sh
tools/testing/selftests/drivers/net/mlxsw/sch_red_core.sh
tools/testing/selftests/net/forwarding/bridge_activity_notify.sh
tools/testing/selftests/net/forwarding/bridge_fdb_local_vlan_0.sh
tools/testing/selftests/net/forwarding/lib.sh
tools/testing/selftests/net/forwarding/sch_ets_core.sh
tools/testing/selftests/net/forwarding/sch_red.sh
tools/testing/selftests/net/forwarding/sch_tbf_core.sh
tools/testing/selftests/net/forwarding/vxlan_bridge_1q_mc_ul.sh
tools/testing/selftests/net/forwarding/vxlan_reserved.sh

index 6cb5a7a7438bc93737f86b80328bd4bed224dfc8..e212ad8ccef67d1366328d34f6dddac36870fa38 100755 (executable)
@@ -44,8 +44,7 @@ source $lib_dir/devlink_lib.sh
 
 h1_create()
 {
-       simple_if_init $h1 192.0.2.1/24
-       defer simple_if_fini $h1 192.0.2.1/24
+       adf_simple_if_init $h1 192.0.2.1/24
 
        mtu_set $h1 10000
        defer mtu_restore $h1
@@ -56,8 +55,7 @@ h1_create()
 
 h2_create()
 {
-       simple_if_init $h2 198.51.100.1/24
-       defer simple_if_fini $h2 198.51.100.1/24
+       adf_simple_if_init $h2 198.51.100.1/24
 
        mtu_set $h2 10000
        defer mtu_restore $h2
index ed217eb63cc7dfd85bcaab3057847d02cb748ca4..9ca340c5f3a6fecc560a40be529667cff6de15b8 100755 (executable)
@@ -57,8 +57,7 @@ source qos_lib.sh
 
 h1_create()
 {
-       simple_if_init $h1
-       defer simple_if_fini $h1
+       adf_simple_if_init $h1
 
        mtu_set $h1 10000
        defer mtu_restore $h1
@@ -70,8 +69,7 @@ h1_create()
 
 h2_create()
 {
-       simple_if_init $h2
-       defer simple_if_fini $h2
+       adf_simple_if_init $h2
 
        mtu_set $h2 10000
        defer mtu_restore $h2
@@ -83,8 +81,7 @@ h2_create()
 
 h3_create()
 {
-       simple_if_init $h3
-       defer simple_if_fini $h3
+       adf_simple_if_init $h3
 
        mtu_set $h3 10000
        defer mtu_restore $h3
index d10df3a19300d82250f3f85094009776935281c6..a4a25637fe2a7945a953a9ed7571f9781c5d35bb 100755 (executable)
@@ -68,8 +68,7 @@ mlxsw_only_on_spectrum 2+ || exit
 
 h1_create()
 {
-       simple_if_init $h1
-       defer simple_if_fini $h1
+       adf_simple_if_init $h1
 
        vlan_create $h1 111 v$h1 192.0.2.33/28
        defer vlan_destroy $h1 111
@@ -78,8 +77,7 @@ h1_create()
 
 h2_create()
 {
-       simple_if_init $h2
-       defer simple_if_fini $h2
+       adf_simple_if_init $h2
 
        vlan_create $h2 111 v$h2 192.0.2.34/28
        defer vlan_destroy $h2 111
index 6aca01ebb1ee2333c7bfac764e895d9186ad93e9..d8f8ae8533cdc94eb4c7cd5de8c4d597ad8b318b 100755 (executable)
@@ -72,8 +72,7 @@ source qos_lib.sh
 
 h1_create()
 {
-       simple_if_init $h1 192.0.2.65/28
-       defer simple_if_fini $h1 192.0.2.65/28
+       adf_simple_if_init $h1 192.0.2.65/28
 
        mtu_set $h1 10000
        defer mtu_restore $h1
@@ -81,8 +80,7 @@ h1_create()
 
 h2_create()
 {
-       simple_if_init $h2
-       defer simple_if_fini $h2
+       adf_simple_if_init $h2
 
        mtu_set $h2 10000
        defer mtu_restore $h2
@@ -94,8 +92,7 @@ h2_create()
 
 h3_create()
 {
-       simple_if_init $h3 192.0.2.66/28
-       defer simple_if_fini $h3 192.0.2.66/28
+       adf_simple_if_init $h3 192.0.2.66/28
 
        mtu_set $h3 10000
        defer mtu_restore $h3
index a88d61a84b986716487aeb455ebf52dd678da07f..47d2ffcf366e61e850c62e1856bd00a29f9a2731 100644 (file)
@@ -100,8 +100,7 @@ host_create()
        local dev=$1; shift
        local host=$1; shift
 
-       simple_if_init $dev
-       defer simple_if_fini $dev
+       adf_simple_if_init $dev
 
        mtu_set $dev 10000
        defer mtu_restore $dev
index afce1c964d5a4077cdbcc0f0d11ecad15aff7739..522a5b1b046c6623558e051cad581902c073b146 100755 (executable)
@@ -26,14 +26,12 @@ source lib.sh
 
 h1_create()
 {
-       simple_if_init "$h1" 192.0.2.1/28
-       defer simple_if_fini "$h1" 192.0.2.1/28
+       adf_simple_if_init "$h1" 192.0.2.1/28
 }
 
 h2_create()
 {
-       simple_if_init "$h2" 192.0.2.2/28
-       defer simple_if_fini "$h2" 192.0.2.2/28
+       adf_simple_if_init "$h2" 192.0.2.2/28
 }
 
 switch_create()
index 052b2f757ff024c4f2296d34b74c5cec3b3a61e5..78b6be513a2d6854144f0ac134a0dba5d7864630 100755 (executable)
@@ -44,18 +44,14 @@ host_create()
        local ipv4=$1; shift
        local ipv6=$1; shift
 
-       simple_if_init "$h" "$ipv4" "$ipv6"
-       defer simple_if_fini "$h" "$ipv4" "$ipv6"
-
+       adf_simple_if_init "$h" "$ipv4" "$ipv6"
        adf_ip_route_add vrf "v$h" 192.0.2.16/28 nexthop via 192.0.2.3
        adf_ip_route_add vrf "v$h" 2001:db8:2::/64 nexthop via 2001:db8:1::3
 }
 
 h3_create()
 {
-       simple_if_init "$h3" 192.0.2.18/28 2001:db8:2::2/64
-       defer simple_if_fini "$h3" 192.0.2.18/28 2001:db8:2::2/64
-
+       adf_simple_if_init "$h3" 192.0.2.18/28 2001:db8:2::2/64
        adf_ip_route_add vrf "v$h3" 192.0.2.0/28 nexthop via 192.0.2.17
        adf_ip_route_add vrf "v$h3" 2001:db8:1::/64 nexthop via 2001:db8:2::1
 
index 1370d7a326552974b8e9af81b935fd123e80f6a0..7d506cf81a322316f10e727a45da3ffde72edde6 100644 (file)
@@ -717,6 +717,12 @@ simple_if_fini()
        vrf_destroy $vrf_name
 }
 
+adf_simple_if_init()
+{
+       simple_if_init "$@"
+       defer simple_if_fini "$@"
+}
+
 tunnel_create()
 {
        local name=$1; shift
index f9d15b2f4615e031be57100587030579f7ca6eb3..0453210271dc354081698c64189a3ddad14a012a 100644 (file)
@@ -165,8 +165,7 @@ h1_create()
 {
        local i;
 
-       simple_if_init $h1
-       defer simple_if_fini $h1
+       adf_simple_if_init $h1
 
        mtu_set $h1 9900
        defer mtu_restore $h1
@@ -182,8 +181,7 @@ h2_create()
 {
        local i
 
-       simple_if_init $h2
-       defer simple_if_fini $h2
+       adf_simple_if_init $h2
 
        mtu_set $h2 9900
        defer mtu_restore $h2
index 8f79a86cb15b3b3ee749b407931532806d092b2d..f2a3d9254642837e9063bb5e48caa86180142e75 100755 (executable)
@@ -52,8 +52,7 @@ PKTSZ=1400
 
 h1_create()
 {
-       simple_if_init $h1 192.0.2.1/28
-       defer simple_if_fini $h1 192.0.2.1/28
+       adf_simple_if_init $h1 192.0.2.1/28
 
        mtu_set $h1 10000
        defer mtu_restore $h1
@@ -65,8 +64,7 @@ h1_create()
 
 h2_create()
 {
-       simple_if_init $h2 192.0.2.2/28
-       defer simple_if_fini $h2 192.0.2.2/28
+       adf_simple_if_init $h2 192.0.2.2/28
 
        mtu_set $h2 10000
        defer mtu_restore $h2
@@ -74,8 +72,7 @@ h2_create()
 
 h3_create()
 {
-       simple_if_init $h3 192.0.2.3/28
-       defer simple_if_fini $h3 192.0.2.3/28
+       adf_simple_if_init $h3 192.0.2.3/28
 
        mtu_set $h3 10000
        defer mtu_restore $h3
index bce9ab3cb24ac65e16460c06eef06b50aef8af25..070c17faa9e4f959a3fe6540373987041f2f9d4d 100644 (file)
@@ -59,8 +59,7 @@ host_create()
        local dev=$1; shift
        local host=$1; shift
 
-       simple_if_init $dev
-       defer simple_if_fini $dev
+       adf_simple_if_init $dev
 
        mtu_set $dev 10000
        defer mtu_restore $dev
index 9beb5d512b8e91616da45a8290c7b5bcda05c397..9974a93eb850b43c66c8f23442b8f2125df89608 100755 (executable)
@@ -119,8 +119,7 @@ source lib.sh
 
 h1_create()
 {
-       simple_if_init "$h1"
-       defer simple_if_fini "$h1"
+       adf_simple_if_init "$h1"
 
        adf_ip_link_add "$h1.10" master "v$h1" link "$h1" type vlan id 10
        adf_ip_link_set_up "$h1.10"
@@ -311,8 +310,7 @@ ns_init_common()
        adf_bridge_vlan_add vid 20 dev w1
 
        # w2
-       simple_if_init w2
-       defer simple_if_fini w2
+       adf_simple_if_init w2
 
        # w2.10
        adf_ip_link_add w2.10 master vw2 link w2 type vlan id 10
index c564d7a3af0b3763d2f954839e87bedcaeba6809..712f3367ee5a567aa9417d0551668d7d14c1c82c 100755 (executable)
@@ -47,8 +47,7 @@ source lib.sh
 
 h1_create()
 {
-       simple_if_init $h1 192.0.2.1/28
-       defer simple_if_fini $h1 192.0.2.1/28
+       adf_simple_if_init $h1 192.0.2.1/28
 
        tc qdisc add dev $h1 clsact
        defer tc qdisc del dev $h1 clsact
@@ -76,8 +75,7 @@ switch_create()
 
 vrp2_create()
 {
-       simple_if_init $rp2 192.0.2.18/28
-       defer simple_if_fini $rp2 192.0.2.18/28
+       adf_simple_if_init $rp2 192.0.2.18/28
 }
 
 setup_prepare()