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

Most forwarding tests invoke vrf_prepare() to set up VRF forwarding and
vrf_cleanup() to restore the original configuration. Add a helper,
adf_vrf_prepare(), which is like vrf_prepare(), but takes care of
scheduling the cleanup automatically.

Convert a number of 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/2f2000e54ae700d560a8d6128322dade3bd2207e.1758821127.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Petr Machata 2025-09-25 19:31:53 +02:00 committed by Jakub Kicinski
parent 14b72996ae
commit 02aabe00b2
13 changed files with 18 additions and 24 deletions

View File

@ -106,8 +106,7 @@ setup_prepare()
# Reload to ensure devlink-trap settings are back to default.
defer devlink_reload
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -225,8 +225,7 @@ setup_prepare()
h3mac=$(mac_get $h3)
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -178,8 +178,7 @@ setup_prepare()
h2mac=$(mac_get $h2)
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -196,8 +196,7 @@ setup_prepare()
h3mac=$(mac_get $h3)
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -250,8 +250,7 @@ setup_prepare()
h3_mac=$(mac_get $h3)
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -57,8 +57,7 @@ setup_prepare()
swp2=${NETIFS[p3]}
h2=${NETIFS[p4]}
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -98,8 +98,7 @@ setup_prepare()
swp3=${NETIFS[p5]}
h3=${NETIFS[p6]}
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
forwarding_enable
defer forwarding_restore

View File

@ -599,6 +599,12 @@ vrf_cleanup()
ip -4 rule del pref 32765
}
adf_vrf_prepare()
{
vrf_prepare
defer vrf_cleanup
}
__last_tb_id=0
declare -A __TB_IDS

View File

@ -251,8 +251,7 @@ setup_prepare()
put=$swp2
hut=$h2
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -125,8 +125,7 @@ setup_prepare()
h3_mac=$(mac_get $h3)
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -149,8 +149,7 @@ setup_prepare()
h2_mac=$(mac_get $h2)
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
h1_create
h2_create

View File

@ -371,8 +371,7 @@ setup_prepare()
swp3=${NETIFS[p5]}
h3=${NETIFS[p6]}
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
forwarding_enable
defer forwarding_restore

View File

@ -88,8 +88,7 @@ setup_prepare()
rp1=${NETIFS[p3]}
rp2=${NETIFS[p4]}
vrf_prepare
defer vrf_cleanup
adf_vrf_prepare
forwarding_enable
defer forwarding_restore