Hi Christian, curious about something else.. In dynamic_dns_updater.sh there's a "sleep 10": # we need time here because hotplug.d is fired by netifd # but IP addresses are not set by DHCP/DHCPv6 etc. write_log 7 "Waiting 10 seconds for interfaces to fully come up" sleep 10 & PID_SLEEP=$! wait $PID_SLEEP # enable trap-handler PID_SLEEP=0
https://github.com/openwrt/packages/blob/master/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh#L218 But on my system (trunk r43888) it seems when ifup event comes, address is already set: Tue Jan 13 00:46:59 2015 kern.info kernel: [ 2621.360000] eth1: link up (1000Mbps/Full duplex) Tue Jan 13 00:46:59 2015 daemon.notice netifd: Network device 'eth1' link is up Tue Jan 13 00:46:59 2015 daemon.notice netifd: Interface 'wan' has link connectivity Tue Jan 13 00:46:59 2015 daemon.notice netifd: Interface 'wan' is setting up now Tue Jan 13 00:46:59 2015 daemon.notice netifd: wan (9426): udhcpc (v1.22.1) started Tue Jan 13 00:46:59 2015 daemon.notice netifd: wan (9426): Sending discover... Tue Jan 13 00:46:59 2015 daemon.notice netifd: wan (9426): Sending select for 198.48.205.121... Tue Jan 13 00:46:59 2015 daemon.notice netifd: wan (9426): Lease of 198.48.205.121 obtained, lease time 69146 Tue Jan 13 00:46:59 2015 daemon.notice netifd: Interface 'wan6' is setting up now Tue Jan 13 00:46:59 2015 daemon.notice netifd: Interface 'wan' is now up Tue Jan 13 00:47:00 2015 user.notice root: hotplug iface: DEVICE=eth1 ACTION=ifup Tue Jan 13 00:47:00 2015 user.notice root: 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc tbf state UP group default qlen 1000 Tue Jan 13 00:47:00 2015 user.notice root: link/ether 10:6f:3f:e7:00:b6 brd ff:ff:ff:ff:ff:ff Tue Jan 13 00:47:00 2015 user.notice root: inet 198.48.205.121/27 brd 198.48.205.127 scope global eth1 Tue Jan 13 00:47:00 2015 user.notice root: valid_lft forever preferred_lft forever Tue Jan 13 00:47:00 2015 user.notice root: inet6 fe80::126f:3fff:fee7:b6/64 scope link Tue Jan 13 00:47:00 2015 user.notice root: valid_lft forever preferred_lft forever I added those last few lines using a debug script in /etc/hotplug.d/iface to see what the state of the interface was. It would be cool not to sleep I think, so the update happens as soon as the interface gets an address. Looking at netifd/DESIGN it says: Interfaces ---------- [...] state: IFS_SETUP: The interface is currently being configured by the protocol handler IFS_UP: The interface is fully configured and the scripts in /etc/hotplug.d/iface are called only for IFS_UP, so I think this behaviour is reliable. In what case did you see the need for a "sleep 10"? Catalin _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
