Skip to content

Commit d76ccb2

Browse files
pmachatakuba-moo
authored andcommitted
selftests: net: lib: Add several autodefer helpers
Add ip_link_set_addr(), ip_link_set_up(), ip_addr_add() and ip_route_add() to the suite of helpers that automatically schedule a corresponding cleanup. When setting a new MAC, one needs to remember the old address first. Move mac_get() from forwarding/ to that end. Signed-off-by: Petr Machata <[email protected]> Reviewed-by: Ido Schimmel <[email protected]> Reviewed-by: Nikolay Aleksandrov <[email protected]> Link: https://patch.msgid.link/add6bcbe30828fd01363266df20c338cf13aaf25.1733412063.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 8653eb2 commit d76ccb2

File tree

2 files changed

+39
-7
lines changed

2 files changed

+39
-7
lines changed

tools/testing/selftests/net/forwarding/lib.sh

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -932,13 +932,6 @@ packets_rate()
932932
echo $(((t1 - t0) / interval))
933933
}
934934

935-
mac_get()
936-
{
937-
local if_name=$1
938-
939-
ip -j link show dev $if_name | jq -r '.[]["address"]'
940-
}
941-
942935
ether_addr_to_u64()
943936
{
944937
local addr="$1"

tools/testing/selftests/net/lib.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,13 @@ xfail_on_veth()
435435
fi
436436
}
437437

438+
mac_get()
439+
{
440+
local if_name=$1
441+
442+
ip -j link show dev $if_name | jq -r '.[]["address"]'
443+
}
444+
438445
kill_process()
439446
{
440447
local pid=$1; shift
@@ -459,3 +466,35 @@ ip_link_set_master()
459466
ip link set dev "$member" master "$master"
460467
defer ip link set dev "$member" nomaster
461468
}
469+
470+
ip_link_set_addr()
471+
{
472+
local name=$1; shift
473+
local addr=$1; shift
474+
475+
local old_addr=$(mac_get "$name")
476+
ip link set dev "$name" address "$addr"
477+
defer ip link set dev "$name" address "$old_addr"
478+
}
479+
480+
ip_link_set_up()
481+
{
482+
local name=$1; shift
483+
484+
ip link set dev "$name" up
485+
defer ip link set dev "$name" down
486+
}
487+
488+
ip_addr_add()
489+
{
490+
local name=$1; shift
491+
492+
ip addr add dev "$name" "$@"
493+
defer ip addr del dev "$name" "$@"
494+
}
495+
496+
ip_route_add()
497+
{
498+
ip route add "$@"
499+
defer ip route del "$@"
500+
}

0 commit comments

Comments
 (0)