mirror of https://gitee.com/openkylin/linux.git
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:
parent
1893150fd5
commit
87c0c046e8
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue