Hi,
On Sun, Feb 24, 2019 at 7:06 AM Eric Luehrsen <[email protected]> wrote:
>
> Recent (20190207) changes to odhcpd makee it dependent on OpenWrt
> logical interfaces. Boot time race conditions may make odhcpd binding

Even before the most recent changes odhcpd was dependent on OpenWRT logical
interfaces nothing has changed in that sense
> a challenge. Intermittent or inconsistent problems can occur with DHCP
> requests until odhcpd is restarted. Change start up scripts to use

Can you elaborate a bit more on what issues you're observing and provide odhcpd
tracing  (loglevel 7) when you observe issues ?
> procd interface triggers such as dnsmasq and others have already.

This does not really make sense to me as odhcpd is subscribed to ubus
network event
messages triggering config reload logic in case the network state of
an interface changes

Hans
>
> Signed-off-by: Eric Luehrsen <[email protected]>
> ---
>   .../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
> [email protected]
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to