keep track of the network interface states (stored in uci format in /var/state/networ...
[openwrt/svn-archive/archive.git] / package / base-files / files / usr / share / udhcpc / default.script
index 76ba746e28f7c2ff275264d5a8d143067ddf9f62..a3a696be70a5c361dcf282a6672a5898fe7f6358 100755 (executable)
@@ -13,7 +13,13 @@ hotplug_event() {
 
                config_get proto $ifc proto
                [ "$proto" = "dhcp" ] || continue
-
+               [ ifup = "$1" ] && {
+                       uci set "/var/state/network.$ifc.ipaddr=$ip"
+                       uci set "/var/state/network.$ifc.netmask=${subnet:-255.255.255.0}"
+                       uci set "/var/state/network.$ifc.dnsdomain=$domain"
+                       uci set "/var/state/network.$ifc.dns=$dns"
+                       uci set "/var/state/network.$ifc.gateway=$router"
+               }
                env -i ACTION="$1" INTERFACE="$ifc" DEVICE="$ifname" PROTO=dhcp /sbin/hotplug-call iface
        done
 }
@@ -28,7 +34,7 @@ case "$1" in
                netmask ${subnet:-255.255.255.0} \
                broadcast ${broadcast:-+}
 
-               [ "$router"] && {
+               [ -n "$router" ] && {
                        for i in $router ; do
                                echo "adding router $i"
                                route add default gw $i dev $interface