selftests: forwarding: lib: Extract trap_{, un}install()

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>
This commit is contained in:
Petr Machata 2018-05-24 16:27:35 +02:00 committed by David S. Miller
parent 1893150fd5
commit 87c0c046e8
1 changed files with 18 additions and 9 deletions

View File

@ -448,26 +448,35 @@ tc_offload_check()
return 0
}
slow_path_trap_install()
trap_install()
{
local dev=$1; shift
local direction=$1; shift
# 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
}
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
# 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
trap_install "$@"
fi
}
slow_path_trap_uninstall()
{
local dev=$1; shift
local direction=$1; shift
if [ "${tcflags/skip_hw}" != "$tcflags" ]; then
tc filter del dev $dev $direction pref 1 flower skip_sw
trap_uninstall "$@"
fi
}