Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: forwarding: lib: Add an autodefer variant of simple_if_init()

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>

authored by

Petr Machata and committed by
Jakub Kicinski
f53748d5 02aabe00

+31 -52
+3 -6
tools/testing/selftests/drivers/net/mlxsw/qos_ets_strict.sh
··· 57 57 58 58 h1_create() 59 59 { 60 - simple_if_init $h1 61 - defer simple_if_fini $h1 60 + adf_simple_if_init $h1 62 61 63 62 mtu_set $h1 10000 64 63 defer mtu_restore $h1 ··· 69 70 70 71 h2_create() 71 72 { 72 - simple_if_init $h2 73 - defer simple_if_fini $h2 73 + adf_simple_if_init $h2 74 74 75 75 mtu_set $h2 10000 76 76 defer mtu_restore $h2 ··· 81 83 82 84 h3_create() 83 85 { 84 - simple_if_init $h3 85 - defer simple_if_fini $h3 86 + adf_simple_if_init $h3 86 87 87 88 mtu_set $h3 10000 88 89 defer mtu_restore $h3
+2 -4
tools/testing/selftests/drivers/net/mlxsw/qos_max_descriptors.sh
··· 68 68 69 69 h1_create() 70 70 { 71 - simple_if_init $h1 72 - defer simple_if_fini $h1 71 + adf_simple_if_init $h1 73 72 74 73 vlan_create $h1 111 v$h1 192.0.2.33/28 75 74 defer vlan_destroy $h1 111 ··· 77 78 78 79 h2_create() 79 80 { 80 - simple_if_init $h2 81 - defer simple_if_fini $h2 81 + adf_simple_if_init $h2 82 82 83 83 vlan_create $h2 111 v$h2 192.0.2.34/28 84 84 defer vlan_destroy $h2 111
+3 -6
tools/testing/selftests/drivers/net/mlxsw/qos_mc_aware.sh
··· 72 72 73 73 h1_create() 74 74 { 75 - simple_if_init $h1 192.0.2.65/28 76 - defer simple_if_fini $h1 192.0.2.65/28 75 + adf_simple_if_init $h1 192.0.2.65/28 77 76 78 77 mtu_set $h1 10000 79 78 defer mtu_restore $h1 ··· 80 81 81 82 h2_create() 82 83 { 83 - simple_if_init $h2 84 - defer simple_if_fini $h2 84 + adf_simple_if_init $h2 85 85 86 86 mtu_set $h2 10000 87 87 defer mtu_restore $h2 ··· 92 94 93 95 h3_create() 94 96 { 95 - simple_if_init $h3 192.0.2.66/28 96 - defer simple_if_fini $h3 192.0.2.66/28 97 + adf_simple_if_init $h3 192.0.2.66/28 97 98 98 99 mtu_set $h3 10000 99 100 defer mtu_restore $h3
+1 -2
tools/testing/selftests/drivers/net/mlxsw/sch_red_core.sh
··· 100 100 local dev=$1; shift 101 101 local host=$1; shift 102 102 103 - simple_if_init $dev 104 - defer simple_if_fini $dev 103 + adf_simple_if_init $dev 105 104 106 105 mtu_set $dev 10000 107 106 defer mtu_restore $dev
+2 -4
tools/testing/selftests/net/forwarding/bridge_activity_notify.sh
··· 26 26 27 27 h1_create() 28 28 { 29 - simple_if_init "$h1" 192.0.2.1/28 30 - defer simple_if_fini "$h1" 192.0.2.1/28 29 + adf_simple_if_init "$h1" 192.0.2.1/28 31 30 } 32 31 33 32 h2_create() 34 33 { 35 - simple_if_init "$h2" 192.0.2.2/28 36 - defer simple_if_fini "$h2" 192.0.2.2/28 34 + adf_simple_if_init "$h2" 192.0.2.2/28 37 35 } 38 36 39 37 switch_create()
+2 -6
tools/testing/selftests/net/forwarding/bridge_fdb_local_vlan_0.sh
··· 44 44 local ipv4=$1; shift 45 45 local ipv6=$1; shift 46 46 47 - simple_if_init "$h" "$ipv4" "$ipv6" 48 - defer simple_if_fini "$h" "$ipv4" "$ipv6" 49 - 47 + adf_simple_if_init "$h" "$ipv4" "$ipv6" 50 48 adf_ip_route_add vrf "v$h" 192.0.2.16/28 nexthop via 192.0.2.3 51 49 adf_ip_route_add vrf "v$h" 2001:db8:2::/64 nexthop via 2001:db8:1::3 52 50 } 53 51 54 52 h3_create() 55 53 { 56 - simple_if_init "$h3" 192.0.2.18/28 2001:db8:2::2/64 57 - defer simple_if_fini "$h3" 192.0.2.18/28 2001:db8:2::2/64 58 - 54 + adf_simple_if_init "$h3" 192.0.2.18/28 2001:db8:2::2/64 59 55 adf_ip_route_add vrf "v$h3" 192.0.2.0/28 nexthop via 192.0.2.17 60 56 adf_ip_route_add vrf "v$h3" 2001:db8:1::/64 nexthop via 2001:db8:2::1 61 57
+6
tools/testing/selftests/net/forwarding/lib.sh
··· 717 717 vrf_destroy $vrf_name 718 718 } 719 719 720 + adf_simple_if_init() 721 + { 722 + simple_if_init "$@" 723 + defer simple_if_fini "$@" 724 + } 725 + 720 726 tunnel_create() 721 727 { 722 728 local name=$1; shift
+2 -4
tools/testing/selftests/net/forwarding/sch_ets_core.sh
··· 165 165 { 166 166 local i; 167 167 168 - simple_if_init $h1 169 - defer simple_if_fini $h1 168 + adf_simple_if_init $h1 170 169 171 170 mtu_set $h1 9900 172 171 defer mtu_restore $h1 ··· 181 182 { 182 183 local i 183 184 184 - simple_if_init $h2 185 - defer simple_if_fini $h2 185 + adf_simple_if_init $h2 186 186 187 187 mtu_set $h2 9900 188 188 defer mtu_restore $h2
+3 -6
tools/testing/selftests/net/forwarding/sch_red.sh
··· 52 52 53 53 h1_create() 54 54 { 55 - simple_if_init $h1 192.0.2.1/28 56 - defer simple_if_fini $h1 192.0.2.1/28 55 + adf_simple_if_init $h1 192.0.2.1/28 57 56 58 57 mtu_set $h1 10000 59 58 defer mtu_restore $h1 ··· 64 65 65 66 h2_create() 66 67 { 67 - simple_if_init $h2 192.0.2.2/28 68 - defer simple_if_fini $h2 192.0.2.2/28 68 + adf_simple_if_init $h2 192.0.2.2/28 69 69 70 70 mtu_set $h2 10000 71 71 defer mtu_restore $h2 ··· 72 74 73 75 h3_create() 74 76 { 75 - simple_if_init $h3 192.0.2.3/28 76 - defer simple_if_fini $h3 192.0.2.3/28 77 + adf_simple_if_init $h3 192.0.2.3/28 77 78 78 79 mtu_set $h3 10000 79 80 defer mtu_restore $h3
+1 -2
tools/testing/selftests/net/forwarding/sch_tbf_core.sh
··· 59 59 local dev=$1; shift 60 60 local host=$1; shift 61 61 62 - simple_if_init $dev 63 - defer simple_if_fini $dev 62 + adf_simple_if_init $dev 64 63 65 64 mtu_set $dev 10000 66 65 defer mtu_restore $dev
+2 -4
tools/testing/selftests/net/forwarding/vxlan_bridge_1q_mc_ul.sh
··· 119 119 120 120 h1_create() 121 121 { 122 - simple_if_init "$h1" 123 - defer simple_if_fini "$h1" 122 + adf_simple_if_init "$h1" 124 123 125 124 adf_ip_link_add "$h1.10" master "v$h1" link "$h1" type vlan id 10 126 125 adf_ip_link_set_up "$h1.10" ··· 310 311 adf_bridge_vlan_add vid 20 dev w1 311 312 312 313 # w2 313 - simple_if_init w2 314 - defer simple_if_fini w2 314 + adf_simple_if_init w2 315 315 316 316 # w2.10 317 317 adf_ip_link_add w2.10 master vw2 link w2 type vlan id 10
+2 -4
tools/testing/selftests/net/forwarding/vxlan_reserved.sh
··· 47 47 48 48 h1_create() 49 49 { 50 - simple_if_init $h1 192.0.2.1/28 51 - defer simple_if_fini $h1 192.0.2.1/28 50 + adf_simple_if_init $h1 192.0.2.1/28 52 51 53 52 tc qdisc add dev $h1 clsact 54 53 defer tc qdisc del dev $h1 clsact ··· 75 76 76 77 vrp2_create() 77 78 { 78 - simple_if_init $rp2 192.0.2.18/28 79 - defer simple_if_fini $rp2 192.0.2.18/28 79 + adf_simple_if_init $rp2 192.0.2.18/28 80 80 } 81 81 82 82 setup_prepare()