]>
git.ipfire.org Git - ipfire-2.x.git/blob - src/initscripts/system/swconfig
2 ########################################################################
3 # Begin $rc_base/init.d/swconfig
5 # Description : Script to setup lan switch.
6 # don't edit this script! If you want change the functions
7 # create an own script called swconfig.user
8 ########################################################################
13 if [ -e /etc
/init.d
/swconfig.user
]; then
14 /etc
/init.d
/swconfig.user $
*
18 if [ -e /var
/ipfire
/ethernet
/swconfig_mac
]; then
19 SWMAC
=`cat /var/ipfire/ethernet/swconfig_mac`
21 # Generate a random local administrated mac address for vlan swconfig.
22 SWMAC
=`printf "%1x2:%02x:%02x:%02x:%02x" $[RANDOM%16] $[RANDOM%256] $[RANDOM%256] $[RANDOM%256] $[RANDOM%256]`
23 echo $SWMAC > /var
/ipfire
/ethernet
/swconfig_mac
28 case `cat /proc/device-tree/model 2>/dev/null` in
31 # Lamobo R1 aka BPi R1 Routerboard
33 # Speaker | LAN4 | LAN3 | LAN2 | LAN1 || WAN | HDMI
34 # SW-Port | P2 | P1 | P0 | P4 || P3 |
35 # VLAN | 14 | 13 | 12 | 11 || all |
37 # Switch-Port P8 - ALL(t) boards internal CPU Port
40 device
=`ls /sys/class/net/*/device/driver/1c50000.ethernet/net | head -1`
41 ip link
set $device up
44 ip link add switch0
type bridge
45 ip link
set wan master switch0
46 ip link
set lan1 master switch0
47 ip link
set lan2 master switch0
48 ip link
set lan3 master switch0
49 ip link
set lan4 master switch0
52 bridge vlan add vid
11 dev lan1 pvid untagged
53 bridge vlan add vid
12 dev lan2 pvid untagged
54 bridge vlan add vid
13 dev lan3 pvid untagged
55 bridge vlan add vid
14 dev lan4 pvid untagged
56 bridge vlan add vid
11 dev wan
57 bridge vlan add vid
12 dev wan
58 bridge vlan add vid
13 dev wan
59 bridge vlan add vid
14 dev wan
61 # Remove wrong vlan1 from all ports
62 bridge vlan del vid
1 dev lan1
63 bridge vlan del vid
1 dev lan2
64 bridge vlan del vid
1 dev lan3
65 bridge vlan del vid
1 dev lan4
66 bridge vlan del vid
1 dev wan
75 # create virtual interfaces for the vlan's
77 vconfig add
$device 11
78 vconfig add
$device 12
79 vconfig add
$device 13
80 vconfig add
$device 14
81 # set local mac addresses.
82 ip link
set dev
$device.11 address
$SWMAC:11
83 ip link
set dev
$device.12 address
$SWMAC:12
84 ip link
set dev
$device.13 address
$SWMAC:13
85 ip link
set dev
$device.14 address
$SWMAC:14
86 # need to restart udev...
88 /etc
/init.d
/udev start
95 echo "Usage: ${0} {start}"
100 # End $rc_base/init.d/swconfig