mwan3: support latest iputils ping
iputils upstream changed build params with version s20200821 Latest OpenWRT iputils ping now appears to report the openwrt version tag, rather than iputils date tag This commit sends a test ping to localhost to evaluate the capabilities of iputils ping. Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
This commit is contained in:
parent
f014a7f542
commit
1bfb1a66cd
1 changed files with 26 additions and 10 deletions
|
@ -40,19 +40,35 @@ if_up() {
|
|||
stop_subprocs
|
||||
}
|
||||
|
||||
ping_test_host() {
|
||||
if [ "$FAMILY" = "ipv6" ]; then
|
||||
echo "::1"
|
||||
else
|
||||
echo "127.0.0.1"
|
||||
fi
|
||||
}
|
||||
|
||||
get_ping_command() {
|
||||
if [ -x "/usr/bin/ping" ] && /usr/bin/ping -${FAMILY#ipv} -c1 -q $(ping_test_host) &>/dev/null; then
|
||||
# -4 option added in iputils c3e68ac6 so need to check if we can use it
|
||||
# or if we must use ping and ping6
|
||||
echo "/usr/bin/ping -${FAMILY#ipv}"
|
||||
elif [ "$FAMILY" = "ipv6" ] && [ -x "/usr/bin/ping6" ]; then
|
||||
echo "/usr/bin/ping6"
|
||||
elif [ "$FAMILY" = "ipv4" ] && [ -x "/usr/bin/ping" ]; then
|
||||
echo "/usr/bin/ping"
|
||||
elif [ -x "/bin/ping" ]; then
|
||||
echo "/bin/ping -${FAMILY#ipv}"
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
validate_track_method() {
|
||||
case "$1" in
|
||||
ping)
|
||||
if [ -x "/usr/bin/ping" ] && [ "$(/usr/bin/ping -V | grep -o '[0-9]*$')" -gt 20150519 ]; then
|
||||
# -4 option added in iputils c3e68ac6
|
||||
PING="/usr/bin/ping -${FAMILY#ipv}"
|
||||
elif [ "$FAMILY" = "ipv6" ] && [ -x "/usr/bin/ping6" ]; then
|
||||
PING="/usr/bin/ping6"
|
||||
elif [ "$FAMILY" = "ipv4" ] && [ -x "/usr/bin/ping" ]; then
|
||||
PING="/usr/bin/ping"
|
||||
elif [ -x "/bin/ping" ]; then
|
||||
PING="/bin/ping -${FAMILY#ipv}"
|
||||
else
|
||||
PING=$(get_ping_command)
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG warn "Missing ping. Please enable BUSYBOX_DEFAULT_PING and recompile busybox or install iputils-ping package."
|
||||
return 1
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue