diff --git a/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter b/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter index b680dce20..213016384 100755 --- a/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter +++ b/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter @@ -1056,12 +1056,16 @@ function interfaces_status() mArray.openmptcprouter["tun_state"] = "DOWN" end if mArray.openmptcprouter["ipv6"] == "enabled" or mArray.openmptcprouter["service_addr_ip6"] ~= "" then - local tunnel_ipv6_gw = uci:get("network","omr6in4","gateway") - local tunnel_ping6_test = ut.trim(sys.exec("ping6 -w 1 -c 1 " .. tunnel_ipv6_gw .. "%6in4-omr6in4 | grep '100% packet loss'")) - if tunnel_ping6_test == "" then - mArray.openmptcprouter["tun6_state"] = "UP" + local tunnel_ipv6_gw = uci:get("network","omr6in4","gateway") or "" + if tunnel_ipv6_gw ~= "" then + local tunnel_ping6_test = ut.trim(sys.exec("ping6 -w 1 -c 1 " .. tunnel_ipv6_gw .. "%6in4-omr6in4 | grep '100% packet loss'")) + if tunnel_ping6_test == "" then + mArray.openmptcprouter["tun6_state"] = "UP" + else + mArray.openmptcprouter["tun6_state"] = "DOWN" + end else - mArray.openmptcprouter["tun6_state"] = "DOWN" + mArray.openmptcprouter["tun6_state"] = "UNKNOWN" end end else