|
|
|
@ -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
|