Test that trap_fwd'd packets show up under the correct trap.

Signed-off-by: Petr Machata <pe...@nvidia.com>
Reviewed-by: Ido Schimmel <ido...@nvidia.com>
---
 .../drivers/net/mlxsw/devlink_trap_control.sh | 23 ++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_control.sh 
b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_control.sh
index a37273473c1b..8bca4c58819b 100755
--- a/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_control.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/devlink_trap_control.sh
@@ -83,6 +83,7 @@ ALL_TESTS="
        ptp_general_test
        flow_action_sample_test
        flow_action_trap_test
+       flow_action_trap_fwd_test
 "
 NUM_NETIFS=4
 source $lib_dir/lib.sh
@@ -663,14 +664,18 @@ flow_action_sample_test()
        tc qdisc del dev $rp1 clsact
 }
 
-flow_action_trap_test()
+__flow_action_trap_test()
 {
+       local action=$1; shift
+       local trap=$1; shift
+       local description=$1; shift
+
        # Install a filter that traps a specific flow.
        tc qdisc add dev $rp1 clsact
        tc filter add dev $rp1 ingress proto ip pref 1 handle 101 flower \
-               skip_sw ip_proto udp src_port 12345 dst_port 54321 action trap
+               skip_sw ip_proto udp src_port 12345 dst_port 54321 action 
$action
 
-       devlink_trap_stats_test "Flow Trapping (Logging)" "flow_action_trap" \
+       devlink_trap_stats_test "$description" $trap \
                $MZ $h1 -c 1 -a own -b $(mac_get $rp1) \
                -A 192.0.2.1 -B 198.51.100.1 -t udp sp=12345,dp=54321 -p 100 -q
 
@@ -678,6 +683,18 @@ flow_action_trap_test()
        tc qdisc del dev $rp1 clsact
 }
 
+flow_action_trap_test()
+{
+       __flow_action_trap_test trap flow_action_trap \
+                               "Flow Trapping (Logging)"
+}
+
+flow_action_trap_fwd_test()
+{
+       __flow_action_trap_test trap_fwd flow_action_trap_fwd \
+                               "Flow Trap-and-forwarding (Logging)"
+}
+
 trap cleanup EXIT
 
 setup_prepare
-- 
2.26.2

Reply via email to