X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/1603696e5ef22d41cdee385284f51b0405a44e0b..bc766b82db24faaebbb4e872ca58ea8727fb6c0c:/openwrt/package/base-files/default/etc/hotplug.d/net/10-net?ds=inline diff --git a/openwrt/package/base-files/default/etc/hotplug.d/net/10-net b/openwrt/package/base-files/default/etc/hotplug.d/net/10-net index 7c8cd67a4..0f384ec46 100644 --- a/openwrt/package/base-files/default/etc/hotplug.d/net/10-net +++ b/openwrt/package/base-files/default/etc/hotplug.d/net/10-net @@ -1,26 +1,10 @@ #!/bin/sh setup_eth() { - [ -f /proc/net/wl0 ] && { - lsmod | grep wlcompat >&- || insmod wlcompat - } - iwconfig "$INTERFACE" 2>&- | grep -v 'no wireless' >&- && { - /sbin/wifi - } - [ -d /proc/switch ] || { - insmod switch-core - insmod switch-robo || insmod switch-adm - } - if="$(echo "$INTERFACE" | sed s,eth,et,)" - ifconfig "$INTERFACE" up 2>&- >&- - for vlan in $(seq 0 15); do - [ "$(nvram get vlan${vlan}hwname)" = "$if" ] && { - $DEBUG vconfig add "$INTERFACE" "$vlan" - vports="$(nvram get vlan${vlan}ports)" - [ \! -z "$vports" -a -d "/proc/switch/$INTERFACE" ] && \ - echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports" - } + for part in $(nvram get unused_ifnames); do + [ "$part" = "$INTERFACE" ] && exit 0 done + ifconfig "$INTERFACE" up 2>&- >&- } find_name() @@ -42,7 +26,7 @@ find_name() } ;; *) - [ "$(nvram get ${IFPROTO}_ifname)" = "$INTERFACE" \ + [ "$(nvram get ${IFTYPE}_device)" = "$INTERFACE" \ -a -x /sbin/ifup.${IFPROTO} ] && return 0 ;; esac @@ -63,10 +47,13 @@ do_ifup() { case "$1" in static) ip=$(nvram get ${2}_ipaddr) + ip6=$(nvram get ${2}_ip6addr) netmask=$(nvram get ${2}_netmask) gateway=$(nvram get ${2}_gateway) $DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} broadcast + up + [ -n "$ip6" ] && $DEBUG ifconfig $if add $ip6 + ${gateway:+$DEBUG route add default gw $gateway} [ -f /tmp/resolv.conf ] || { @@ -88,12 +75,7 @@ do_ifup() { DHCP_HOSTNAME=${DHCP_HOSTNAME%%.*} [ -z $DHCP_HOSTNAME ] || DHCP_ARGS="$DHCP_ARGS -H $DHCP_HOSTNAME" [ "$if_proto" = "pptp" ] && DHCP_ARGS="$DHCP_ARGS -n -q" || DHCP_ARGS="$DHCP_ARGS -R &" - oldpid=$(cat $pidfile) ${DEBUG:-eval} "udhcpc $DHCP_ARGS" - pidof udhcpc | grep "$oldpid" >&- 2>&- && { - sleep 1 - kill -9 $oldpid - } # hotplug events are handled by /usr/share/udhcpc/default.script ;; *) @@ -157,7 +139,8 @@ do_register() if [ "$INTERFACE" != "$if" ]; then $DEBUG ifconfig "$INTERFACE" 0.0.0.0 up - brctl addif "$if" "$INTERFACE" + $DEBUG brctl addif "$if" "$INTERFACE" + $DEBUG ifconfig "$INTERFACE" allmulti else do_ifup "$IFPROTO" "$IFTYPE" "$if" fi