From 03404c74a04d5f864d079631c8b9c4ec499cd84d Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 14 Jan 2006 02:31:36 +0000 Subject: [PATCH] move vlan and wifi setup into arch-specific base-files git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2973 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../default/etc/hotplug.d/net/10-net | 24 +---------- .../files/brcm-2.4/etc/hotplug.d/09-net | 40 +++++++++++++++++++ .../files/brcm-2.6/etc/hotplug.d/09-net | 34 ++++++++++++++++ 3 files changed, 76 insertions(+), 22 deletions(-) create mode 100644 openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net create mode 100644 openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net 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 9a4c45003..8d2c6a803 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,30 +1,10 @@ #!/bin/sh setup_eth() { - for part in $(nvram get unused_ifnames); do - [ "$part" = "$INTERFACE" ] && return 0 + for part in $(nvram get unused_ifnames); do + [ "$part" = "$INTERFACE" ] && exit 0 done - [ -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" - echo "1" > "/proc/switch/$INTERFACE/enable_vlan" - } - done } find_name() diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net new file mode 100644 index 000000000..75604ebef --- /dev/null +++ b/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net @@ -0,0 +1,40 @@ +#!/bin/sh +setup_eth() +{ + for part in $(nvram get unused_ifnames); do + [ "$part" = "$INTERFACE" ] && exit 0 + done + [ -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>&- >&- + [ -d "/proc/switch/$INTERFACE" ] || return 0 + echo "1" > "/proc/switch/$INTERFACE/enable_vlan" + for vlan in $(seq 0 15); do + [ "$(nvram get vlan${vlan}hwname)" = "$if" ] && { + vports="$(nvram get vlan${vlan}ports)" + [ -n "$vports" ] && echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports" + $DEBUG vconfig add "$INTERFACE" "$vlan" + } + done +} + +do_register() +{ + case "${INTERFACE%%[0-9]*}" in + eth) setup_eth;; + esac +} + + +case "$ACTION" in + add|register) do_register;; +esac diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net new file mode 100644 index 000000000..5e941e5a7 --- /dev/null +++ b/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net @@ -0,0 +1,34 @@ +#!/bin/sh +setup_eth() +{ + for part in $(nvram get unused_ifnames); do + [ "$part" = "$INTERFACE" ] && exit 0 + done + [ -d /proc/switch ] || { + insmod switch-core + insmod switch-robo || insmod switch-adm + } + if="$(echo "$INTERFACE" | sed s,eth,et,)" + ifconfig "$INTERFACE" up 2>&- >&- + [ -d "/proc/switch/$INTERFACE" ] || return 0 + echo "1" > "/proc/switch/$INTERFACE/enable_vlan" + for vlan in $(seq 0 15); do + [ "$(nvram get vlan${vlan}hwname)" = "$if" ] && { + vports="$(nvram get vlan${vlan}ports)" + [ -n "$vports" ] && echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports" + $DEBUG vconfig add "$INTERFACE" "$vlan" + } + done +} + +do_register() +{ + case "${INTERFACE%%[0-9]*}" in + eth) setup_eth;; + esac +} + + +case "$ACTION" in + add|register) do_register;; +esac -- 2.20.1