projects
/
librecmc
/
librecmc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8c453b6
)
network scripts: properly maintain the network state's list of assigned interfaces
author
Felix Fietkau
<nbd@openwrt.org>
Wed, 30 Jul 2008 22:39:56 +0000
(22:39 +0000)
committer
Felix Fietkau
<nbd@openwrt.org>
Wed, 30 Jul 2008 22:39:56 +0000
(22:39 +0000)
SVN-Revision: 12026
package/base-files/files/etc/hotplug.d/net/10-net
patch
|
blob
|
history
diff --git
a/package/base-files/files/etc/hotplug.d/net/10-net
b/package/base-files/files/etc/hotplug.d/net/10-net
index 77eb6da9d4352a27abb400471e21f29efb97c970..06e5244447ec669f2194dc6c59e9a22b2859ed4c 100644
(file)
--- a/
package/base-files/files/etc/hotplug.d/net/10-net
+++ b/
package/base-files/files/etc/hotplug.d/net/10-net
@@
-30,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
@@
-37,4
+55,7
@@
case "$ACTION" in
esac
addif
;;
esac
addif
;;
+ remove|unregister)
+ delif
+ ;;
esac
esac