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>
This commit is contained in:
committed by
Jakub Kicinski
parent
02aabe00b2
commit
f53748d56d
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user