selftests: Add duplicate config only for MD5 VRF tests
authorDavid Ahern <dsahern@kernel.org>
Sat, 11 Dec 2021 17:11:30 +0000 (10:11 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Dec 2021 08:32:40 +0000 (09:32 +0100)
[ Upstream commit 7e0147592b5c4f9e2eb8c54a7857a56d4863f74e ]

Commit referenced below added configuration in the default VRF that
duplicates a VRF to check MD5 passwords are properly used and fail
when expected. That config should not be added all the time as it
can cause tests to pass that should not (by matching on default VRF
setup when it should not). Move the duplicate setup to a function
that is only called for the MD5 tests and add a cleanup function
to remove it after the MD5 tests.

Fixes: 5cad8bce26e0 ("fcnal-test: Add TCP MD5 tests for VRF")
Signed-off-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/net/fcnal-test.sh

index 966787c2f9f0f019d61c38214f6a4ab2fc8e8e14..8bcbb72f74c1fd1f5fa1283a340057b36e5e15c2 100755 (executable)
@@ -455,6 +455,22 @@ cleanup()
        ip netns del ${NSC} >/dev/null 2>&1
 }
 
+cleanup_vrf_dup()
+{
+       ip link del ${NSA_DEV2} >/dev/null 2>&1
+       ip netns pids ${NSC} | xargs kill 2>/dev/null
+       ip netns del ${NSC} >/dev/null 2>&1
+}
+
+setup_vrf_dup()
+{
+       # some VRF tests use ns-C which has the same config as
+       # ns-B but for a device NOT in the VRF
+       create_ns ${NSC} "-" "-"
+       connect_ns ${NSA} ${NSA_DEV2} ${NSA_IP}/24 ${NSA_IP6}/64 \
+                  ${NSC} ${NSC_DEV} ${NSB_IP}/24 ${NSB_IP6}/64
+}
+
 setup()
 {
        local with_vrf=${1}
@@ -484,12 +500,6 @@ setup()
 
                ip -netns ${NSB} ro add ${VRF_IP}/32 via ${NSA_IP} dev ${NSB_DEV}
                ip -netns ${NSB} -6 ro add ${VRF_IP6}/128 via ${NSA_IP6} dev ${NSB_DEV}
-
-               # some VRF tests use ns-C which has the same config as
-               # ns-B but for a device NOT in the VRF
-               create_ns ${NSC} "-" "-"
-               connect_ns ${NSA} ${NSA_DEV2} ${NSA_IP}/24 ${NSA_IP6}/64 \
-                          ${NSC} ${NSC_DEV} ${NSB_IP}/24 ${NSB_IP6}/64
        else
                ip -netns ${NSA} ro add ${NSB_LO_IP}/32 via ${NSB_IP} dev ${NSA_DEV}
                ip -netns ${NSA} ro add ${NSB_LO_IP6}/128 via ${NSB_IP6} dev ${NSA_DEV}
@@ -1240,7 +1250,9 @@ ipv4_tcp_vrf()
        log_test_addr ${a} $? 1 "Global server, local connection"
 
        # run MD5 tests
+       setup_vrf_dup
        ipv4_tcp_md5
+       cleanup_vrf_dup
 
        #
        # enable VRF global server
@@ -2719,7 +2731,9 @@ ipv6_tcp_vrf()
        log_test_addr ${a} $? 1 "Global server, local connection"
 
        # run MD5 tests
+       setup_vrf_dup
        ipv6_tcp_md5
+       cleanup_vrf_dup
 
        #
        # enable VRF global server