mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
base-files: move network related scripts to a separate package to make the transition to netifd easier
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28495 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
72
package/base-files-network/files/etc/hotplug.d/net/10-net
Normal file
72
package/base-files-network/files/etc/hotplug.d/net/10-net
Normal file
@@ -0,0 +1,72 @@
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
|
||||
include /lib/network
|
||||
|
||||
addif() {
|
||||
# Ensure that ipv6 is loaded, autoloading happens later but ipv6 might be
|
||||
# required now for interface setup.
|
||||
[ -d /proc/sys/net/ipv6 ] || {
|
||||
grep -q '^ipv6' /etc/modules.d/* && insmod ipv6
|
||||
}
|
||||
|
||||
# PPP devices are configured by pppd, no need to run setup_interface here
|
||||
case "$INTERFACE" in
|
||||
3g-*|ppp-*|pppoa-*|pppoe-*|pptp-*) return 0;;
|
||||
esac
|
||||
|
||||
scan_interfaces
|
||||
local cfg="$(find_config "$INTERFACE")"
|
||||
|
||||
case "$INTERFACE" in
|
||||
# Skip wireless parent interfaces
|
||||
ath[0-9]|wlan[0-9]) ;;
|
||||
*)
|
||||
# check the autoload setting
|
||||
config_get auto "$cfg" auto
|
||||
case "$auto" in
|
||||
1|on|enabled) setup_interface "$INTERFACE";;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# find all vlan configurations for this interface and set them up as well
|
||||
for ifc in $interfaces; do
|
||||
config_get iftype "$ifc" type
|
||||
config_get ifs "$ifc" device
|
||||
for dev in $ifs; do
|
||||
[ "${dev%%\.*}" = "$INTERFACE" -a "$dev" != "$INTERFACE" ] && {
|
||||
add_vlan "$dev"
|
||||
}
|
||||
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
|
||||
natsemi) sleep 1;;
|
||||
esac
|
||||
addif
|
||||
;;
|
||||
remove|unregister)
|
||||
delif
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user