selftests: forwarding: tc_common: Add hitting check
authorAmit Cohen <amitc@mellanox.com>
Thu, 7 Nov 2019 16:42:19 +0000 (18:42 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Nov 2019 03:51:40 +0000 (19:51 -0800)
Add an option to check that packets hit the tc filter without providing
the exact number of packets that should hit it.

It is useful while sending many packets in background and checking that
at least one of them hit the tc filter.

Signed-off-by: Amit Cohen <amitc@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/tc_common.sh

index 315e934..d93589b 100644 (file)
@@ -14,3 +14,14 @@ tc_check_packets()
                      select(.options.actions[0].stats.packets == $count)" \
               &> /dev/null
 }
+
+tc_check_packets_hitting()
+{
+       local id=$1
+       local handle=$2
+
+       cmd_jq "tc -j -s filter show $id" \
+              ".[] | select(.options.handle == $handle) | \
+                     select(.options.actions[0].stats.packets > 0)" \
+              &> /dev/null
+}