selftests: test_vxlan_fdb_changelink: Convert to lib.sh
authorPetr Machata <petrm@nvidia.com>
Fri, 14 Feb 2025 16:18:23 +0000 (17:18 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 18 Feb 2025 12:06:44 +0000 (13:06 +0100)
Instead of inlining equivalents, use lib.sh-provided primitives.
Use defer to manage vx lifetime.

This will make it easier to extend the test in the next patch.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
tools/testing/selftests/net/test_vxlan_fdb_changelink.sh

index 2d442cd..6f2bca4 100755 (executable)
@@ -1,29 +1,38 @@
 #!/bin/bash
 # SPDX-License-Identifier: GPL-2.0
 
-# Check FDB default-remote handling across "ip link set".
+ALL_TESTS="
+       test_set_remote
+"
+source lib.sh
 
 check_remotes()
 {
        local what=$1; shift
        local N=$(bridge fdb sh dev vx | grep 00:00:00:00:00:00 | wc -l)
 
-       echo -ne "expected two remotes after $what\t"
-       if [[ $N != 2 ]]; then
-               echo "[FAIL]"
-               EXIT_STATUS=1
-       else
-               echo "[ OK ]"
-       fi
+       ((N == 2))
+       check_err $? "expected 2 remotes after $what, got $N"
+}
+
+# Check FDB default-remote handling across "ip link set".
+test_set_remote()
+{
+       RET=0
+
+       ip_link_add vx up type vxlan id 2000 dstport 4789
+       bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.20 self permanent
+       bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.30 self permanent
+       check_remotes "fdb append"
+
+       ip link set dev vx type vxlan remote 192.0.2.30
+       check_remotes "link set"
+
+       log_test 'FDB default-remote handling across "ip link set"'
 }
 
-ip link add name vx up type vxlan id 2000 dstport 4789
-bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.20 self permanent
-bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.30 self permanent
-check_remotes "fdb append"
+trap defer_scopes_cleanup EXIT
 
-ip link set dev vx type vxlan remote 192.0.2.30
-check_remotes "link set"
+tests_run
 
-ip link del dev vx
 exit $EXIT_STATUS