fff-gateway: Add script to load vlan defaults

With this script a user can load easy a vlan default setting to
/etc/config/gateway

We use the same port configuration as the node firmware except
the Batman-adv ports are use as Babel ports

With this script it is easier to use the layer 3 firmware for user
without knowledge for openwrt vlan settings

Signed-off-by: Christian Dresel <freifunk@dresel.systems>
This commit is contained in:
Christian Dresel 2020-12-10 14:35:02 +01:00
parent 8fe7512ae5
commit b00b062c8a
1 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,48 @@
#!/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
}
config_load gateway
config_foreach remove_vlan vlan
config_load gateway
config_foreach remove_babelpeer babelpeer
uci batch <<EOF
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
uci commit gateway