firmware/src/packages/fff/fff-vxlan-node-vpn/files/usr/lib/vpn-select.d/vxlan
Robert Langhammer a317557320 fff-vxlan-node: disable vxlan if no peers available
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>
2022-03-31 19:31:25 +02:00

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
}