X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/139dfb16c8d408dce549701a7b3e57f5f06d5257..ed99f7ba3989af286705bbe69517af836d1358a3:/package/base-files/default/etc/hotplug.d/net/10-net diff --git a/package/base-files/default/etc/hotplug.d/net/10-net b/package/base-files/default/etc/hotplug.d/net/10-net index 0a24b052f..9b72338ce 100644 --- a/package/base-files/default/etc/hotplug.d/net/10-net +++ b/package/base-files/default/etc/hotplug.d/net/10-net @@ -4,15 +4,19 @@ 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 - case "$iftype" in - bridge) config_get ifs "$ifc" ifnames;; - *) config_get ifs "$ifc" ifname;; - esac + config_get ifs "$ifc" device for dev in $ifs; do [ "${dev%%\.*}" = "$INTERFACE" -a "$dev" != "$INTERFACE" ] && { add_vlan "$dev" @@ -23,6 +27,9 @@ addif() { case "$ACTION" in add|register) + case "$PHYSDEVDRIVER" in + natsemi) sleep 1;; + esac addif ;; esac