hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/tools/testing/selftests/net/forwarding/mirror_lib.sh
....@@ -20,6 +20,13 @@
2020 tc filter del dev $swp1 $direction pref 1000
2121 }
2222
23
+is_ipv6()
24
+{
25
+ local addr=$1; shift
26
+
27
+ [[ -z ${addr//[0-9a-fA-F:]/} ]]
28
+}
29
+
2330 mirror_test()
2431 {
2532 local vrf_name=$1; shift
....@@ -29,9 +36,18 @@
2936 local pref=$1; shift
3037 local expect=$1; shift
3138
39
+ if is_ipv6 $dip; then
40
+ local proto=-6
41
+ local type="icmp6 type=128" # Echo request.
42
+ else
43
+ local proto=
44
+ local type="icmp echoreq"
45
+ fi
46
+
3247 local t0=$(tc_rule_stats_get $dev $pref)
33
- ip vrf exec $vrf_name \
34
- ${PING} ${sip:+-I $sip} $dip -c 10 -i 0.1 -w 2 &> /dev/null
48
+ $MZ $proto $vrf_name ${sip:+-A $sip} -B $dip -a own -b bc -q \
49
+ -c 10 -d 100msec -t $type
50
+ sleep 0.5
3551 local t1=$(tc_rule_stats_get $dev $pref)
3652 local delta=$((t1 - t0))
3753 # Tolerate a couple stray extra packets.