dnsmasq: abort dhcp_check on interface state
authorDavid Bauer <mail@david-bauer.net>
Tue, 18 Aug 2020 13:09:22 +0000 (15:09 +0200)
committerDavid Bauer <mail@david-bauer.net>
Thu, 20 Aug 2020 21:45:26 +0000 (23:45 +0200)
Abort the dhcp-check based on the interface instead of the carrier
state. In cases where the interface is up but the carrier is down,
netifd won't cause a dnsmasq reload, thus dhcp won't become active
on this interface.

Signed-off-by: David Bauer <mail@david-bauer.net>
package/network/services/dnsmasq/files/dnsmasq.init

index 932103d8b5b52c069fdd3ad737900708ae7e9d80..2d72bc6a28f983c2fada33eff122ed51e3ca449e 100644 (file)
@@ -106,9 +106,9 @@ dhcp_check() {
 
        [ -s "$stamp" ] && return $(cat "$stamp")
 
-       # If there's no carrier yet, skip this interface.
+       # If interface is down, skip it.
        # The init script will be called again once the link is up
-       case "$(devstatus "$ifname" | jsonfilter -e @.carrier)" in
+       case "$(devstatus "$ifname" | jsonfilter -e @.up)" in
                false) return 1;;
        esac