Modified GPIO allocation per rev1.02 board
[openwrt.git] / package / base-files / files / lib / network / config.sh
index 2b15749..7e90368 100755 (executable)
@@ -24,6 +24,7 @@ find_config() {
 }
 
 scan_interfaces() {
+       local cfgfile="$1"
        local mode iftype iface ifname device
        interfaces=
        config_cb() {
@@ -50,7 +51,7 @@ scan_interfaces() {
                        ;;
                esac
        }
-       config_load network
+       config_load "${cfgfile:-network}"
 }
 
 add_vlan() {
@@ -74,6 +75,8 @@ prepare_interface() {
        # to create any interfaces here. The scripts have already done that, otherwise
        # the bridge interface wouldn't exist.
        [ "$iface" = "br-$config" ] && return 0;
+
+       [ -f "$iface" ] && return 0;
        
        ifconfig "$iface" 2>/dev/null >/dev/null && {
                # make sure the interface is removed from any existing bridge and brought down
@@ -83,6 +86,7 @@ prepare_interface() {
 
        # Setup VLAN interfaces
        add_vlan "$iface"
+       ifconfig "$iface" 2>/dev/null >/dev/null || return 0
 
        # Setup bridging
        config_get iftype "$config" type
@@ -157,7 +161,7 @@ setup_interface() {
                                done
                        }
 
-                       env -i ACTION="ifup" INTERFACE="$config" DEVICE="$iface" PROTO=static /sbin/hotplug "iface" &
+                       env -i ACTION="ifup" INTERFACE="$config" DEVICE="$iface" PROTO=static /sbin/hotplug-call "iface" &
                ;;
                dhcp)
                        # prevent udhcpc from starting more than once
@@ -195,7 +199,8 @@ setup_interface() {
 unbridge() {
        local dev="$1"
        local brdev
-
+       
+       [ -x /usr/sbin/brctl ] || return 0
        brctl show | grep "$dev" >/dev/null && {
                # interface is still part of a bridge, correct that
 
This page took 0.024563 seconds and 4 git commands to generate.