selftests: Clean forgotten resources as part of cleanup()
authorAmit Cohen <amcohen@nvidia.com>
Tue, 8 Jun 2021 12:44:09 +0000 (15:44 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jul 2021 07:44:49 +0000 (09:44 +0200)
[ Upstream commit e67dfb8d15deb33c425d0b0ee22f2e5eef54c162 ]

Several tests do not set some ports down as part of their cleanup(),
resulting in IPv6 link-local addresses and associated routes not being
deleted.

These leaks were found using a BPF tool that monitors ASIC resources.

Solve this by setting the ports down at the end of the tests.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/drivers/net/mlxsw/devlink_trap_l3_drops.sh
tools/testing/selftests/drivers/net/mlxsw/devlink_trap_l3_exceptions.sh
tools/testing/selftests/drivers/net/mlxsw/qos_dscp_bridge.sh
tools/testing/selftests/net/forwarding/pedit_dsfield.sh
tools/testing/selftests/net/forwarding/pedit_l4port.sh
tools/testing/selftests/net/forwarding/skbedit_priority.sh

index f5abb1e..269b268 100755 (executable)
@@ -108,6 +108,9 @@ router_destroy()
        __addr_add_del $rp1 del 192.0.2.2/24 2001:db8:1::2/64
 
        tc qdisc del dev $rp2 clsact
+
+       ip link set dev $rp2 down
+       ip link set dev $rp1 down
 }
 
 setup_prepare()
index 1fedfc9..1d157b1 100755 (executable)
@@ -111,6 +111,9 @@ router_destroy()
        __addr_add_del $rp1 del 192.0.2.2/24 2001:db8:1::2/64
 
        tc qdisc del dev $rp2 clsact
+
+       ip link set dev $rp2 down
+       ip link set dev $rp1 down
 }
 
 setup_prepare()
index 5cbff80..28a5700 100755 (executable)
@@ -93,7 +93,9 @@ switch_destroy()
        lldptool -T -i $swp1 -V APP -d $(dscp_map 10) >/dev/null
        lldpad_app_wait_del
 
+       ip link set dev $swp2 down
        ip link set dev $swp2 nomaster
+       ip link set dev $swp1 down
        ip link set dev $swp1 nomaster
        ip link del dev br1
 }
index 55eeacf..64fbd21 100755 (executable)
@@ -75,7 +75,9 @@ switch_destroy()
        tc qdisc del dev $swp2 clsact
        tc qdisc del dev $swp1 clsact
 
+       ip link set dev $swp2 down
        ip link set dev $swp2 nomaster
+       ip link set dev $swp1 down
        ip link set dev $swp1 nomaster
        ip link del dev br1
 }
index 5f20d28..10e594c 100755 (executable)
@@ -71,7 +71,9 @@ switch_destroy()
        tc qdisc del dev $swp2 clsact
        tc qdisc del dev $swp1 clsact
 
+       ip link set dev $swp2 down
        ip link set dev $swp2 nomaster
+       ip link set dev $swp1 down
        ip link set dev $swp1 nomaster
        ip link del dev br1
 }
index e3bd8a6..bde11dc 100755 (executable)
@@ -72,7 +72,9 @@ switch_destroy()
        tc qdisc del dev $swp2 clsact
        tc qdisc del dev $swp1 clsact
 
+       ip link set dev $swp2 down
        ip link set dev $swp2 nomaster
+       ip link set dev $swp1 down
        ip link set dev $swp1 nomaster
        ip link del dev br1
 }