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 <pe...@nvidia.com>
Reviewed-by: Ido Schimmel <ido...@nvidia.com>
---

Notes:
CC: Simon Horman <ho...@kernel.org>
CC: Shuah Khan <sh...@kernel.org>
CC: linux-kselftest@vger.kernel.org

 .../net/test_vxlan_fdb_changelink.sh          | 39 ++++++++++++-------
 1 file changed, 24 insertions(+), 15 deletions(-)

diff --git a/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh 
b/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh
index 2d442cdab11e..6f2bca4b346c 100755
--- a/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh
+++ b/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh
@@ -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"
 }
 
-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"
+# Check FDB default-remote handling across "ip link set".
+test_set_remote()
+{
+       RET=0
 
-ip link set dev vx type vxlan remote 192.0.2.30
-check_remotes "link set"
+       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"'
+}
+
+trap defer_scopes_cleanup EXIT
+
+tests_run
 
-ip link del dev vx
 exit $EXIT_STATUS
-- 
2.47.0


Reply via email to