forked from freifunk-franken/firmware
Robert Langhammer
a317557320
Disabling vxlan via uci solves all problemes. A reload_config does now everything we need. Bringing up vxlan if peers available and shuting down the Interface if not. This will also remove old fdb entries and clear the batman tables immediately. No ifup and no extra cleaning of the fdb is required. Signed-off-by: Robert Langhammer <rlanghammer@web.de> Acked-by: Fabian Bläse <fabian@blaese.de>
25 lines
662 B
Plaintext
25 lines
662 B
Plaintext
protocol=vxlan
|
|
|
|
vxlan_clear() {
|
|
while uci -q delete network.@vxlan_peer[0]; do :; done
|
|
uci set network.vxlan0.vid="0"
|
|
uci set network.vxlan0.disabled="1"
|
|
uci set network.vxbat.disabled="1"
|
|
}
|
|
|
|
vxlan_addpeer() {
|
|
json_get_var address address
|
|
address=$(ping6 -w1 -c1 "$address" | awk '/from/ {print substr($4, 1, length($4)-1); exit}')
|
|
[ -z $address ] && return ## address not reachable
|
|
uci set network.vxlan0.vid="$id"
|
|
uci set network.vxlan0.disabled="0"
|
|
uci set network.vxbat.disabled="0"
|
|
uci add network vxlan_peer
|
|
uci set network.@vxlan_peer[-1].vxlan="vxlan0"
|
|
uci set network.@vxlan_peer[-1].dst="$address"
|
|
}
|
|
|
|
vxlan_start_stop() {
|
|
reload_config
|
|
}
|