# Copyright (C) 2006 OpenWrt.org
-include network
+include /lib/network
addif() {
scan_interfaces
- setup_interface "$INTERFACE"
+ local cfg="$(find_config "$INTERFACE")"
+
+ # check the autoload setting
+ config_get auto "$cfg" auto
+ case "$auto" in
+ 1|on|enabled) setup_interface "$INTERFACE";;
+ 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" ifname
+ config_get ifs "$ifc" device
for dev in $ifs; do
[ "${dev%%\.*}" = "$INTERFACE" -a "$dev" != "$INTERFACE" ] && {
add_vlan "$dev"
case "$ACTION" in
add|register)
+ case "$PHYSDEVDRIVER" in
+ natsemi) sleep 1;;
+ esac
addif
;;
esac