mwan3: add check for ping
authorDavid Yang <redacted>
Thu, 2 Nov 2017 01:44:33 +0000 (09:44 +0800)
committerDavid Yang <redacted>
Wed, 8 Nov 2017 08:14:53 +0000 (16:14 +0800)
Signed-off-by: David Yang <redacted>
net/mwan3/files/usr/sbin/mwan3track

index 872628e2ff07f5e6a1ddb18fcf6f936c24f7a1e2..4b744b9fc6e2a303a532d7debca6d15d8f993a7e 100755 (executable)
@@ -21,7 +21,10 @@ if_down() {
 validate_track_method() {
        case "$1" in
                ping)
-                       # Assume that ping is installed
+                       which ping 1>/dev/null 2>&1 || {
+                               $LOG warn "Missing ping. Please install iputils-ping package or enable ping util and recompile busybox."
+                               return 1
+                       }
                        ;;
                arping)
                        which arping 1>/dev/null 2>&1 || {
@@ -64,8 +67,13 @@ main() {
        config_load mwan3
        config_get track_method $1 track_method ping
        validate_track_method $track_method $SRC_IP || {
-               $LOG warn "Using ping to track interface $INTERFACE avaliability"
                track_method=ping
+               if validate_track_method $track_method; then
+                       $LOG warn "Using ping to track interface $INTERFACE avaliability"
+               else
+                       $LOG err "No track method avaliable"
+                       exit 1
+               fi
        }
        config_get reliability $1 reliability 1
        config_get count $1 count 1
git clone https://git.99rst.org/PROJECT