OSDN Git Service

selftests: forwarding: lib: Extract trap_{, un}install()
authorPetr Machata <petrm@mellanox.com>
Thu, 24 May 2018 14:27:35 +0000 (16:27 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 25 May 2018 02:26:19 +0000 (22:26 -0400)
A mirror-to-vlan test that's coming next needs to install the trap
unconditionally. Therefore extract from slow_path_trap_{,un}install()
a more generic functions trap_install() and trap_uninstall(), and covert
the former two to conditional wrappers around these.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/lib.sh

index 63641ad..89ba4cd 100644 (file)
@@ -448,26 +448,35 @@ tc_offload_check()
        return 0
 }
 
-slow_path_trap_install()
+trap_install()
 {
        local dev=$1; shift
        local direction=$1; shift
 
-       if [ "${tcflags/skip_hw}" != "$tcflags" ]; then
-               # For slow-path testing, we need to install a trap to get to
-               # slow path the packets that would otherwise be switched in HW.
-               tc filter add dev $dev $direction pref 1 \
-                  flower skip_sw action trap
-       fi
+       # For slow-path testing, we need to install a trap to get to
+       # slow path the packets that would otherwise be switched in HW.
+       tc filter add dev $dev $direction pref 1 flower skip_sw action trap
 }
 
-slow_path_trap_uninstall()
+trap_uninstall()
 {
        local dev=$1; shift
        local direction=$1; shift
 
+       tc filter del dev $dev $direction pref 1 flower skip_sw
+}
+
+slow_path_trap_install()
+{
+       if [ "${tcflags/skip_hw}" != "$tcflags" ]; then
+               trap_install "$@"
+       fi
+}
+
+slow_path_trap_uninstall()
+{
        if [ "${tcflags/skip_hw}" != "$tcflags" ]; then
-               tc filter del dev $dev $direction pref 1 flower skip_sw
+               trap_uninstall "$@"
        fi
 }