netns_helper.sh: use 'ping -6' when ping6 is not avaliable
PATCH 1/1 netns_helper.sh: use 'ping -6' when ping6 is not avaliable
ping6 has been merged into ping since 2015 by using "ping -6" in some distrubiton like open embeded, they droped ping6 completely this patch will let both "ping -6" and ping6 work
--- testcases/kernel/containers/netns/netns_helper.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
testcases/kernel/containers/netns/netns_helper.sh +6 -1
@@ -168,7 +168,12 @@ netns_setup() ipv6) IFCONF_IN6_ARG="inet6 add" IP0=$6; IP1=$7; - tping="ping6"; NETMASK=64 + if which ping6 >/dev/null 2>&1; then + tping="ping6" + else + tping="ping -6" + fi + NETMASK=64 ;; *) tst_brkm TBROK "second argument must be an ip version (ipv4|ipv6)"
Signature · 1 line
1.9.1
PATCH 1/1 netns_helper.sh: use 'ping -6' when ping6 is not avaliable
Hi Lei,
Quoted 3 lines
ping6 has been merged into ping since 2015 by using "ping -6" in some distrubiton like open embeded, they droped ping6 completely this patch will let both "ping -6" and ping6 work
I raised similar patch for tst_ping() (tst_net.sh) in the past [1] (it wasn't accepted and I wouldn't be for accepting it now).
ping is used in many scripts (most of them are "network tests", which use tst_net.sh, netns_helper.sh is the only exception), so it'd be good to have general solution.
Old iputils versions (before s20150815) didn't have -4/-6 switches, new ones leave creating ping6 symlink to distros (see [2]). We could use simple
solution: just to require ping6 (tst_test_cmds ping6), as symlink can be done by user anywhere in the path (even with root access, which is expected anyway for many tests) + document it in testcases/network/README.md.
I'd prefer this solution.
Or we can create some helper, which does this check (not sure the name, tst_ping() is already used).
Kind regards,
Petr
[1] http://lists.linux.it/pipermail/ltp/2016-December/003312.html
[2] https://github.com/iputils/iputils/commit/ebad35fee3de851b809c7b72ccc654a72b6af61d
Quoted 10 lines
Signed-off-by Lei Yang <[email protected]>--- testcases/kernel/containers/netns/netns_helper.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)testcases/kernel/containers/netns/netns_helper.sh +0
-0
testcases/kernel/containers/netns/netns_helper.sh netns_setup() · line 171
Quoted 5 lines
testcases/kernel/containers/netns/netns_helper.sh +1
-1@@ -168,7 +168,12 @@ netns_setup() ipv6) IFCONF_IN6_ARG="inet6 add" IP0=$6; IP1=$7; - tping="ping6"; NETMASK=64 + if which ping6 >/dev/null 2>&1; then
FYI: There is a helper tst_cmd_available(), but it's just for new shell API (tst_test.sh).
Quoted 8 lines
testcases/kernel/containers/netns/netns_helper.sh +5
-0+ tping="ping6" + else + tping="ping -6" + fi + NETMASK=64 ;; *) tst_brkm TBROK "second argument must be an ip version (ipv4|ipv6)"
PATCH 1/1 netns_helper.sh: use 'ping -6' when ping6 is not avaliable
In reply to Lei YangHi Lei,
Quoted 8 lines
ping6 has been merged into ping since 2015 by using "ping -6" in some distrubiton like open embeded, they droped ping6 completely this patch will let both "ping -6" and ping6 work
Signed-off-by Lei Yang <[email protected]>--- testcases/kernel/containers/netns/netns_helper.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
...
testcases/kernel/containers/netns/netns_helper.sh netns_setup() · line 176
Quoted 7 lines
testcases/kernel/containers/netns/netns_helper.sh +6
-1- tping="ping6"; NETMASK=64 + if which ping6 >/dev/null 2>&1; then + tping="ping6" + else + tping="ping -6" + fi + NETMASK=64
I decided to push this patch. I plan to create alias in tst_net.sh, but netns_helper.sh doesn't use it (and use still legacy shell API), so your patch uses the best approach.
Thanks for your patch!
Kind regards,
Petr