fff-layer3: Add script to load vlan defaults #2
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-layer3-config
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-layer3-config
|
||||
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "This script removes all existing vlans and babelpeers and load a default vlan setup."
|
||||
read -r -p "Do you really want to continue? (y/n) " response
|
||||
|
||||
case $response in [!Yy]) exit 1 ;; esac
|
||||
|
||||
# load uci functions
|
||||
. /lib/functions.sh
|
||||
|
||||
# load board specific properties
|
||||
BOARD="$(uci get board.model.name)"
|
||||
. /etc/network.$BOARD
|
||||
|
||||
remove_vlan() {
|
||||
local name="$1"
|
||||
uci del gateway.$name
|
||||
}
|
||||
remove_babelpeer() {
|
||||
local name="$1"
|
||||
|
||||
# remove interface
|
||||
uci -q del gateway.$name
|
||||
}
|
||||
|
||||
ipaddr=$(uci get gateway.@client[0].ipaddr)
|
||||
ip6addr=$(uci get gateway.@client[0].ip6addr)
|
||||
dhcp_start=$(uci get gateway.@client[0].dhcp_start)
|
||||
essid=$(uci get gateway.@client[0].essid)
|
||||
chan2ghz=$(uci get gateway.@client[0].chan2ghz)
|
||||
chan5ghz=$(uci get gateway.@client[0].chan5ghz)
|
||||
|
||||
uci del gateway.@client[0]
|
||||
|
||||
config_load gateway
|
||||
config_foreach remove_vlan vlan
|
||||
|
||||
config_load gateway
|
||||
config_foreach remove_babelpeer babelpeer
|
||||
|
||||
uci batch <<EOF
|
||||
add gateway client
|
||||
set gateway.@client[0].vlan='1'
|
||||
set gateway.@client[0].ipaddr='$ipaddr'
|
||||
set gateway.@client[0].dhcp_start='$dhcp_start'
|
||||
set gateway.@client[0].essid='$essid'
|
||||
set gateway.@client[0].chan2ghz='$chan2ghz'
|
||||
set gateway.@client[0].chan5ghz='$chan5ghz'
|
||||
set gateway.1=vlan
|
||||
set gateway.1.comment='client'
|
||||
set gateway.1.ports='$CLIENT_PORTS'
|
||||
set gateway.2=vlan
|
||||
set gateway.2.comment='wan'
|
||||
set gateway.2.ports='$WAN_PORTS'
|
||||
set gateway.3=vlan
|
||||
set gateway.3.comment='babelpeer'
|
||||
set gateway.3.ports='$BATMAN_PORTS'
|
||||
set gateway.vlan3=babelpeer
|
||||
set gateway.vlan3.vlan='3'
|
||||
set gateway.vlan3.type='wired'
|
||||
set gateway.vlan3.rxcost='96'
|
||||
EOF
|
||||
|
||||
for ip in $ip6addr; do
|
||||
uci add_list gateway.@client[0].ip6addr=$ip
|
||||
done
|
||||
|
||||
uci commit gateway
|
Loading…
Reference in New Issue