freewrt_1_0
freewrt_2_0
| Line | |
|---|
| 1 | #!/bin/sh
|
|---|
| 2 |
|
|---|
| 3 | case "$IFACE" in
|
|---|
| 4 | vlan0*)
|
|---|
| 5 | vconfig set_name_type VLAN_PLUS_VID
|
|---|
| 6 | VLANID=`echo $IFACE|sed "s/vlan0*//"`
|
|---|
| 7 | ;;
|
|---|
| 8 | vlan*)
|
|---|
| 9 | vconfig set_name_type VLAN_PLUS_VID_NO_PAD
|
|---|
| 10 | VLANID=`echo $IFACE|sed "s/vlan*//"`
|
|---|
| 11 | ;;
|
|---|
| 12 | eth*.0?*)
|
|---|
| 13 | vconfig set_name_type DEV_PLUS_VID
|
|---|
| 14 | VLANID=`echo $IFACE|sed "s/eth[0-9][0-9]*\.0*//g"`
|
|---|
| 15 | IF_VLAN_RAW_DEVICE=`echo $IFACE|sed "s/\(eth[0-9][0-9]*\)\..*/\1/"`
|
|---|
| 16 | ;;
|
|---|
| 17 | eth*.*)
|
|---|
| 18 | vconfig set_name_type DEV_PLUS_VID_NO_PAD
|
|---|
| 19 | VLANID=`echo $IFACE|sed "s/eth[0-9][0-9]*\.*//g"`
|
|---|
| 20 | IF_VLAN_RAW_DEVICE=`echo $IFACE|sed "s/\(eth[0-9][0-9]*\)\..*/\1/"`
|
|---|
| 21 | ;;
|
|---|
| 22 | *) exit 0
|
|---|
| 23 | ;;
|
|---|
| 24 | esac
|
|---|
| 25 |
|
|---|
| 26 | if [ -n "$IF_VLAN_RAW_DEVICE" ]
|
|---|
| 27 | then
|
|---|
| 28 | [ -x /sbin/vconfig ] || exit 0
|
|---|
| 29 | if ! grep -q "$IF_VLAN_RAW_DEVICE" /proc/net/dev
|
|---|
| 30 | then
|
|---|
| 31 | echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE"
|
|---|
| 32 | exit 1
|
|---|
| 33 | fi
|
|---|
| 34 |
|
|---|
| 35 | # enable vlan
|
|---|
| 36 | if [ -d /proc/switch/$IF_VLAN_RAW_DEVICE ]
|
|---|
| 37 | then
|
|---|
| 38 | echo 1 > /proc/switch/$IF_VLAN_RAW_DEVICE/enable_vlan
|
|---|
| 39 | fi
|
|---|
| 40 | ip link set up dev $IF_VLAN_RAW_DEVICE
|
|---|
| 41 | vconfig add $IF_VLAN_RAW_DEVICE $VLANID
|
|---|
| 42 | # change mac link layer address
|
|---|
| 43 | if [ -n $IF_MAC_ADDRESS ]
|
|---|
| 44 | then
|
|---|
| 45 | ip link set $IF_VLAN_RAW_DEVICE.$VLANID address $IF_MAC_ADDRESS
|
|---|
| 46 | fi
|
|---|
| 47 | ip link set up dev $IF_VLAN_RAW_DEVICE.$VLANID
|
|---|
| 48 |
|
|---|
| 49 | # configure switch ports
|
|---|
| 50 | if [ -n "$IF_SWITCH_PORTS" ]
|
|---|
| 51 | then
|
|---|
| 52 | echo "$IF_SWITCH_PORTS" > /proc/switch/$IF_VLAN_RAW_DEVICE/vlan/$VLANID/ports
|
|---|
| 53 | fi
|
|---|
| 54 | fi
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.