]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
selftests: skbedit_priority: Test counters at the skbedit rule
authorPetr Machata <petrm@mellanox.com>
Thu, 26 Mar 2020 20:45:57 +0000 (22:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Mar 2020 02:20:37 +0000 (19:20 -0700)
Currently the test checks the observable effect of skbedit priority:
queueing of packets at the correct qdisc band. It therefore misses the fact
that the counters for offloaded rules are not updated. Add an extra check
for the counter.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/skbedit_priority.sh

index 0e7693297765b78973d28faede536cf249747311..e3bd8a6bb8b40a1cdad6e4dd3ee588ffe75e3bd9 100755 (executable)
@@ -120,14 +120,19 @@ test_skbedit_priority_one()
           flower action skbedit priority $prio
 
        local pkt0=$(qdisc_parent_stats_get $swp2 $classid .packets)
+       local pkt2=$(tc_rule_handle_stats_get "$locus" 101)
        $MZ $h1 -t udp "sp=54321,dp=12345" -c 10 -d 20msec -p 100 \
            -a own -b $h2mac -A 192.0.2.1 -B 192.0.2.2 -q
+
        local pkt1
        pkt1=$(busywait "$HIT_TIMEOUT" until_counter_is ">= $((pkt0 + 10))" \
                        qdisc_parent_stats_get $swp2 $classid .packets)
+       check_err $? "Expected to get 10 packets on class $classid, but got $((pkt1 - pkt0))."
+
+       local pkt3=$(tc_rule_handle_stats_get "$locus" 101)
+       ((pkt3 >= pkt2 + 10))
+       check_err $? "Expected to get 10 packets on skbedit rule but got $((pkt3 - pkt2))."
 
-       check_err $? "Expected to get 10 packets on class $classid, but got
-$((pkt1 - pkt0))."
        log_test "$locus skbedit priority $prio -> classid $classid"
 
        tc filter del $locus pref 1