Here comes the new UCI. Enjoy :)
[openwrt/svn-archive/archive.git] / package / base-files / files / lib / network / config.sh
index b8f350de844ffef2fdc0ebf3364fc4e225773105..611da718cd5cc88d4d60be56b3be4c363d408ef3 100755 (executable)
@@ -74,7 +74,7 @@ prepare_interface() {
        # if we're called for the bridge interface itself, don't bother trying
        # to create any interfaces here. The scripts have already done that, otherwise
        # the bridge interface wouldn't exist.
-       [ "br-$config" = "$iface" -o -f "$iface" ] && return 0;
+       [ "br-$config" = "$iface" -o -e "$iface" ] && return 0;
        
        ifconfig "$iface" 2>/dev/null >/dev/null && {
                # make sure the interface is removed from any existing bridge and brought down
@@ -138,8 +138,9 @@ setup_interface() {
        # Interface settings
        config_get mtu "$config" mtu
        config_get macaddr "$config" macaddr
-       $DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up
-       uci set "/var/state/network.$config.ifname=$iface"
+       grep "$iface:" /proc/net/dev > /dev/null && \
+               $DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up
+       uci_set_state network "$config" ifname "$iface"
 
        pidfile="/var/run/$iface.pid"
        case "$proto" in