Message ID | 20241130113314.6488-1-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [net,1/2] selftests: net: lib: fix broken ping with coreutils ping util | expand |
On Sat, Nov 30, 2024 at 12:33:09PM +0100, Christian Marangi wrote: > If the coreutils variant of ping is used instead of the busybox one, the > ping_do() command is broken. This comes by the fact that for coreutils > ping, the ping IP needs to be the very last elements. > > To handle this, reorder the ping args and make $dip last element. > > The use of coreutils ping might be useful for case where busybox is not > compiled with float interval support and ping command doesn't support > 0.1 interval. (in such case a dedicated ping utility is installed > instead) > > Cc: stable@vger.kernel.org > Fixes: 73bae6736b6b ("selftests: forwarding: Add initial testing framework") > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > --- Do you mean the other way around? that the busybox ping is the broken one? And by coreutils ping, you actually mean iputils ping, right?
On Sat, Nov 30, 2024 at 05:43:07PM +0200, Vladimir Oltean wrote: > On Sat, Nov 30, 2024 at 12:33:09PM +0100, Christian Marangi wrote: > > If the coreutils variant of ping is used instead of the busybox one, the > > ping_do() command is broken. This comes by the fact that for coreutils > > ping, the ping IP needs to be the very last elements. > > > > To handle this, reorder the ping args and make $dip last element. > > > > The use of coreutils ping might be useful for case where busybox is not > > compiled with float interval support and ping command doesn't support > > 0.1 interval. (in such case a dedicated ping utility is installed > > instead) > > > > Cc: stable@vger.kernel.org > > Fixes: 73bae6736b6b ("selftests: forwarding: Add initial testing framework") > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > > --- > > Do you mean the other way around? that the busybox ping is the broken one? > And by coreutils ping, you actually mean iputils ping, right? Mhh no busybox ping utility is problematic only if FLOAT INTERVAL is not enabled (aka 0.1 interval are not supported) Yes I'm referring to iputils ping. With that I notice args are wrongly parsed... especially with the -c option.
On Sat, Nov 30, 2024 at 04:46:14PM +0100, Christian Marangi wrote: > On Sat, Nov 30, 2024 at 05:43:07PM +0200, Vladimir Oltean wrote: > > On Sat, Nov 30, 2024 at 12:33:09PM +0100, Christian Marangi wrote: > > > If the coreutils variant of ping is used instead of the busybox one, the > > > ping_do() command is broken. This comes by the fact that for coreutils > > > ping, the ping IP needs to be the very last elements. > > > > > > To handle this, reorder the ping args and make $dip last element. > > > > > > The use of coreutils ping might be useful for case where busybox is not > > > compiled with float interval support and ping command doesn't support > > > 0.1 interval. (in such case a dedicated ping utility is installed > > > instead) > > > > > > Cc: stable@vger.kernel.org > > > Fixes: 73bae6736b6b ("selftests: forwarding: Add initial testing framework") > > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > > > --- > > > > Do you mean the other way around? that the busybox ping is the broken one? > > And by coreutils ping, you actually mean iputils ping, right? > > Mhh no busybox ping utility is problematic only if FLOAT INTERVAL is not > enabled (aka 0.1 interval are not supported) > > Yes I'm referring to iputils ping. With that I notice args are wrongly > parsed... especially with the -c option. But isn't iputils ping what everybody else uses? I'm confused. I have this version and the current syntax is not problematic for me. $ ping -V ping from iputils 20240905 libcap: yes, IDN: yes, NLS: no, error.h: yes, getrandom(): yes, __fpending(): yes
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index c992e385159c..2060f95d5c62 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -1473,8 +1473,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() @@ -1504,8 +1504,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()
If the coreutils variant of ping is used instead of the busybox one, the ping_do() command is broken. This comes by the fact that for coreutils ping, the ping IP needs to be the very last elements. To handle this, reorder the ping args and make $dip last element. The use of coreutils ping might be useful for case where busybox is not compiled with float interval support and ping command doesn't support 0.1 interval. (in such case a dedicated ping utility is installed instead) Cc: stable@vger.kernel.org Fixes: 73bae6736b6b ("selftests: forwarding: Add initial testing framework") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> --- tools/testing/selftests/net/forwarding/lib.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)