mirror of
https://github.com/novatiq/packages.git
synced 2026-04-24 21:14:40 +01:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user