move input device nodes to /dev/input
[openwrt.git] / package / base-files / files / etc / hotplug.d / net / 10-net
index 9b72338..06e5244 100644 (file)
@@ -3,6 +3,11 @@
 include /lib/network
 
 addif() {
 include /lib/network
 
 addif() {
+       # PPP devices are configured by pppd, no need to run setup_interface here
+       case "$INTERFACE" in
+               ppp*) return 0;;
+       esac
+
        scan_interfaces
        local cfg="$(find_config "$INTERFACE")"
 
        scan_interfaces
        local cfg="$(find_config "$INTERFACE")"
 
@@ -25,6 +30,24 @@ addif() {
        done
 }
 
        done
 }
 
+
+delif() {
+       scan_interfaces
+
+       # find all vlan configurations for this interface and nuke 'em
+       for ifc in $interfaces; do
+               config_get iftype "$ifc" type
+               config_get ifs "$ifc" device
+               confdevs="$(uci get network.$ifc.ifname)"
+               for dev in $ifs; do
+                       [ "${dev%%\.*}" = "$INTERFACE" ] && {
+                               list_contains confdevs "$dev" || list_remove ifs "$dev"
+                       }
+               done
+               uci_set_state "network" "$ifc" device "$ifs"
+       done
+}
+
 case "$ACTION" in
        add|register)
                case "$PHYSDEVDRIVER" in
 case "$ACTION" in
        add|register)
                case "$PHYSDEVDRIVER" in
@@ -32,4 +55,7 @@ case "$ACTION" in
                esac
                addif
        ;;
                esac
                addif
        ;;
+       remove|unregister)
+               delif
+       ;;
 esac
 esac
This page took 0.02171 seconds and 4 git commands to generate.