selftests: forwarding: mirror_lib: Use mausezahn
authorPetr Machata <petrm@mellanox.com>
Fri, 29 May 2020 11:16:53 +0000 (14:16 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 31 May 2020 04:48:24 +0000 (21:48 -0700)
Using ping in tests is error-prone, because ping is too smart. On a
flaky system (notably in a simulator), when packets don't come quickly
enough, more pings are sent, and that throws off counters. Instead use
mausezahn to generate ICMP echo request packets. That allows us to
send them in quicker succession as well, because the reason the ping
was made slow in the first place was to make the tests work on
simulated systems.

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

index 0079759..c33bfd7 100644 (file)
@@ -29,11 +29,9 @@ mirror_test()
        local pref=$1; shift
        local expect=$1; shift
 
-       local ping_timeout=$((PING_TIMEOUT * 5))
        local t0=$(tc_rule_stats_get $dev $pref)
-       ip vrf exec $vrf_name \
-          ${PING} ${sip:+-I $sip} $dip -c 10 -i 0.5 -w $ping_timeout \
-                  &> /dev/null
+       $MZ $vrf_name ${sip:+-A $sip} -B $dip -a own -b bc -q \
+           -c 10 -d 100ms -t icmp type=8
        sleep 0.5
        local t1=$(tc_rule_stats_get $dev $pref)
        local delta=$((t1 - t0))