]> www.infradead.org Git - users/hch/misc.git/commitdiff
selftests: forwarding: Reorder (ar)ping arguments to obey POSIX getopt
authorDavid Yang <mmyangfl@gmail.com>
Fri, 19 Sep 2025 05:35:33 +0000 (13:35 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 22 Sep 2025 18:37:20 +0000 (11:37 -0700)
Quoted from musl wiki:

  GNU getopt permutes argv to pull options to the front, ahead of
  non-option arguments. musl and the POSIX standard getopt stop
  processing options at the first non-option argument with no
  permutation.

Thus these scripts stop working on musl since non-option arguments for
tools using getopt() (in this case, (ar)ping) do not always come last.
Fix it by reordering arguments.

Signed-off-by: David Yang <mmyangfl@gmail.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20250919053538.1106753-1-mmyangfl@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/forwarding/custom_multipath_hash.sh
tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh
tools/testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh
tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh
tools/testing/selftests/net/forwarding/lib.sh
tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh
tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh

index 7d531f7091e6f4a6f7a726f662d40ba8886711e0..5dbfab0e23e3dae44ab3608ec1493e49f356691d 100755 (executable)
@@ -226,7 +226,7 @@ send_flowlabel()
        # Generate 16384 echo requests, each with a random flow label.
        ip vrf exec v$h1 sh -c \
                "for _ in {1..16384}; do \
-                       $PING6 2001:db8:4::2 -F 0 -c 1 -q >/dev/null 2>&1; \
+                       $PING6 -F 0 -c 1 -q 2001:db8:4::2 >/dev/null 2>&1; \
                done"
 }
 
index dda11a4a9450a8450abb73e2bbabf735f48434dc..b4f17a5bbc61423d5726078d67756cacf0454c65 100755 (executable)
@@ -321,7 +321,7 @@ send_flowlabel()
        # Generate 16384 echo requests, each with a random flow label.
        ip vrf exec v$h1 sh -c \
                "for _ in {1..16384}; do \
-                       $PING6 2001:db8:2::2 -F 0 -c 1 -q >/dev/null 2>&1; \
+                       $PING6 -F 0 -c 1 -q 2001:db8:2::2 >/dev/null 2>&1; \
                done"
 }
 
index 49fa94b53a1cac016147508473d4a50a1425fed7..25036e38043c853556f5bdf940545745bc4fe160 100755 (executable)
@@ -95,7 +95,7 @@ ipv6_in_too_big_err()
 
        # Send too big packets
        ip vrf exec $vrf_name \
-               $PING6 -s 1300 2001:1:2::2 -c 1 -w $PING_TIMEOUT &> /dev/null
+               $PING6 -s 1300 -c 1 -w $PING_TIMEOUT 2001:1:2::2 &> /dev/null
 
        local t1=$(ipv6_stats_get $rtr1 Ip6InTooBigErrors)
        test "$((t1 - t0))" -ne 0
@@ -131,7 +131,7 @@ ipv6_in_addr_err()
        # Disable forwarding temporary while sending the packet
        sysctl -qw net.ipv6.conf.all.forwarding=0
        ip vrf exec $vrf_name \
-               $PING6 2001:1:2::2 -c 1 -w $PING_TIMEOUT &> /dev/null
+               $PING6 -c 1 -w $PING_TIMEOUT 2001:1:2::2 &> /dev/null
        sysctl -qw net.ipv6.conf.all.forwarding=1
 
        local t1=$(ipv6_stats_get $rtr1 Ip6InAddrErrors)
@@ -150,7 +150,7 @@ ipv6_in_discard()
        # Add a policy to discard
        ip xfrm policy add dst 2001:1:2::2/128 dir fwd action block
        ip vrf exec $vrf_name \
-               $PING6 2001:1:2::2 -c 1 -w $PING_TIMEOUT &> /dev/null
+               $PING6 -c 1 -w $PING_TIMEOUT 2001:1:2::2 &> /dev/null
        ip xfrm policy del dst 2001:1:2::2/128 dir fwd
 
        local t1=$(ipv6_stats_get $rtr1 Ip6InDiscards)
index e28b4a079e5250a44a70486932304a67ae6269dc..b24acfa52a3a7ba04737d0301fd1d0b4e3e40c7c 100755 (executable)
@@ -323,7 +323,7 @@ send_flowlabel()
        # Generate 16384 echo requests, each with a random flow label.
        ip vrf exec v$h1 sh -c \
                "for _ in {1..16384}; do \
-                       $PING6 2001:db8:2::2 -F 0 -c 1 -q >/dev/null 2>&1; \
+                       $PING6 -F 0 -c 1 -q 2001:db8:2::2 >/dev/null 2>&1; \
                done"
 }
 
index 08121cb9dc2693eea3af2ed70676f04d909152ae..2c252423b326342136701a860affa738192f2246 100644 (file)
@@ -1267,8 +1267,8 @@ ping_do()
 
        vrf_name=$(master_name_get $if_name)
        ip vrf exec $vrf_name \
-               $PING $args $dip -c $PING_COUNT -i 0.1 \
-               -w $PING_TIMEOUT &> /dev/null
+               $PING $args -c $PING_COUNT -i 0.1 \
+               -w $PING_TIMEOUT $dip &> /dev/null
 }
 
 ping_test()
@@ -1298,8 +1298,8 @@ ping6_do()
 
        vrf_name=$(master_name_get $if_name)
        ip vrf exec $vrf_name \
-               $PING6 $args $dip -c $PING_COUNT -i 0.1 \
-               -w $PING_TIMEOUT &> /dev/null
+               $PING6 $args -c $PING_COUNT -i 0.1 \
+               -w $PING_TIMEOUT $dip &> /dev/null
 }
 
 ping6_test()
index a20d22d1df362623ba204678d7d7c3ae35fcd805..8d4ae6c952a1fdab15698df1f478c5da001d9b3a 100755 (executable)
@@ -238,7 +238,7 @@ test_lag_slave()
        ip neigh flush dev br1
        setup_wait_dev $up_dev
        setup_wait_dev $host_dev
-       $ARPING -I br1 192.0.2.130 -qfc 1
+       $ARPING -I br1 -qfc 1 192.0.2.130
        sleep 2
        mirror_test vrf-h1 192.0.2.1 192.0.2.18 $host_dev 1 ">= 10"
 
index 1b902cc579f62cc9d460598cc7fcb91072e663e6..a21c771908b3369755da545134baa02887a8a00a 100755 (executable)
@@ -196,7 +196,7 @@ test_span_gre_forbidden_egress()
 
        bridge vlan add dev $swp3 vid 555
        # Re-prime FDB
-       $ARPING -I br1.555 192.0.2.130 -fqc 1
+       $ARPING -I br1.555 -fqc 1 192.0.2.130
        sleep 1
        quick_test_span_gre_dir $tundev
 
@@ -290,7 +290,7 @@ test_span_gre_fdb_roaming()
 
        bridge fdb del dev $swp2 $h3mac vlan 555 master 2>/dev/null
        # Re-prime FDB
-       $ARPING -I br1.555 192.0.2.130 -fqc 1
+       $ARPING -I br1.555 -fqc 1 192.0.2.130
        sleep 1
        quick_test_span_gre_dir $tundev