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 315e934358d4ab248b8a25a54fdc484a998fb89c..d93589bd4d1d20c760598cc215599b265b37f47a 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
+}