Recent (20190207) changes to odhcpd makee it dependent on OpenWrt logical interfaces. Boot time race conditions may make odhcpd binding a challenge. Intermittent or inconsistent problems can occur with DHCP requests until odhcpd is restarted. Change start up scripts to use procd interface triggers such as dnsmasq and others have already.
Signed-off-by: Eric Luehrsen <ericluehr...@gmail.com> --- .../network/services/odhcpd/files/odhcpd.init | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) --- a/package/network/services/odhcpd/files/odhcpd.init +++ b/package/network/services/odhcpd/files/odhcpd.init @@ -1,10 +1,20 @@ #!/bin/sh /etc/rc.common -START=35 +START=19 STOP=85 USE_PROCD=1 +boot() { + ODHCPD_BOOT=1 + start "$@" +} + start_service() { + if [ -n "$ODHCPD_BOOT" ] ; then + # odhcpd needs to wait for OpenWrt logical interfaces + return 0 + fi + procd_open_instance procd_set_param command /usr/sbin/odhcpd procd_set_param respawn @@ -17,6 +27,12 @@ reload_service() { service_triggers() { - procd_add_reload_trigger "dhcp" + if [ -n "$ODHCPD_BOOT" ] ; then + # one time trigger at boot to wait for logical interface setup + procd_add_raw_trigger "interface.*.up" 3000 /etc/init.d/odhcpd restart + else + # reload odhcpd also for network reconfiguration + procd_add_reload_trigger "dhcp" "network" + fi } -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel