selftests: Extend the tc action test for action mirror

Currently the tc action test is used only to test mirred redirect
action. This patch extends it for mirred mirror.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Arkadi Sharshevsky 2018-03-04 16:35:26 +02:00 committed by David S. Miller
parent e6c6a92905
commit 200066a5bd
1 changed files with 10 additions and 6 deletions

View File

@ -45,8 +45,10 @@ switch_destroy()
simple_if_fini $swp1 192.0.2.2/24
}
mirred_egress_redirect_test()
mirred_egress_test()
{
local action=$1
RET=0
tc filter add dev $h2 ingress protocol ip pref 1 handle 101 flower \
@ -59,19 +61,19 @@ mirred_egress_redirect_test()
check_fail $? "Matched without redirect rule inserted"
tc filter add dev $swp1 ingress protocol ip pref 1 handle 101 flower \
$tcflags dst_ip 192.0.2.2 action mirred egress redirect \
$tcflags dst_ip 192.0.2.2 action mirred egress $action \
dev $swp2
$MZ $h1 -c 1 -p 64 -a $h1mac -b $h2mac -A 192.0.2.1 -B 192.0.2.2 \
-t ip -q
tc_check_packets "dev $h2 ingress" 101 1
check_err $? "Did not match incoming redirected packet"
check_err $? "Did not match incoming $action packet"
tc filter del dev $swp1 ingress protocol ip pref 1 handle 101 flower
tc filter del dev $h2 ingress protocol ip pref 1 handle 101 flower
log_test "mirred egress redirect ($tcflags)"
log_test "mirred egress $action ($tcflags)"
}
gact_drop_and_ok_test()
@ -180,7 +182,8 @@ setup_prepare
setup_wait
gact_drop_and_ok_test
mirred_egress_redirect_test
mirred_egress_test "redirect"
mirred_egress_test "mirror"
tc_offload_check
if [[ $? -ne 0 ]]; then
@ -188,7 +191,8 @@ if [[ $? -ne 0 ]]; then
else
tcflags="skip_sw"
gact_drop_and_ok_test
mirred_egress_redirect_test
mirred_egress_test "redirect"
mirred_egress_test "mirror"
gact_trap_test
fi