gluon-mesh-batman-adv: Adapt scripts to new batman-adv-legacy namespace

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This commit is contained in:
Linus Lüssing 2018-11-27 04:21:02 +01:00
parent d3bc0f3f48
commit 88d4c33890
3 changed files with 17 additions and 6 deletions

View File

@ -2,4 +2,4 @@
need_boolean(in_domain({'mesh', 'vxlan'}), not this_domain())
need_number({'mesh', 'batman_adv', 'gw_sel_class'}, false)
need_one_of({'mesh', 'batman_adv', 'routing_algo'}, {'BATMAN_IV', 'BATMAN_V'}, false)
need_one_of({'mesh', 'batman_adv', 'routing_algo'}, {'BATMAN_IV', 'BATMAN_IV_LEGACY', 'BATMAN_V'}, false)

View File

@ -2,4 +2,5 @@
lock /var/lock/gluon_bat0.lock
(echo 'none' > "/sys/class/net/$IFNAME/batman_adv/mesh_iface") 2>/dev/null
(echo 'none' > "/sys/class/net/$IFNAME/batman_adv_legacy/mesh_iface") 2>/dev/null
lock -u /var/lock/gluon_bat0.lock

View File

@ -16,18 +16,23 @@ proto_gluon_bat0_renew() {
lock /var/lock/gluon_bat0.lock
local ifdump="$(ubus call network.interface dump)"
local routing_algo="$(uci -q get batman-adv.bat0.routing_algo || echo 'BATMAN_IV')"
echo "$ifdump" | jsonfilter \
-e "@.interface[@.proto='gluon_mesh' && @.up=true]['device','data']" \
| while read dev; do
read data
echo bat0 > "/sys/class/net/$dev/batman_adv/mesh_iface"
! [ "$(echo "$data" | jsonfilter -e "@.transitive")" = 'true' ]
transitive=$?
(echo "$transitive" > "/sys/class/net/$dev/batman_adv/no_rebroadcast") 2>/dev/null
if [ "$routing_algo" = "BATMAN_IV_LEGACY" ]; then
echo bat0 > "/sys/class/net/$dev/batman_adv_legacy/mesh_iface"
(echo "$transitive" > "/sys/class/net/$dev/batman_adv_legacy/no_rebroadcast") 2>/dev/null
else
echo bat0 > "/sys/class/net/$dev/batman_adv/mesh_iface"
(echo "$transitive" > "/sys/class/net/$dev/batman_adv/no_rebroadcast") 2>/dev/null
fi
done
lock -u /var/lock/gluon_bat0.lock
@ -43,9 +48,14 @@ proto_gluon_bat0_setup() {
ip link set primary0 address "$primary0_mac" mtu 1532 up
local routing_algo="$(uci -q get batman-adv.bat0.routing_algo || echo 'BATMAN_IV')"
(echo "$routing_algo" >/sys/module/batman_adv/parameters/routing_algo) 2>/dev/null
echo bat0 > /sys/class/net/primary0/batman_adv/mesh_iface
if [ "$routing_algo" = "BATMAN_IV_LEGACY" ]; then
(echo "BATMAN_IV" >/sys/module/batman_adv_legacy/parameters/routing_algo) 2>/dev/null
echo bat0 > /sys/class/net/primary0/batman_adv_legacy/mesh_iface
else
(echo "$routing_algo" >/sys/module/batman_adv/parameters/routing_algo) 2>/dev/null
echo bat0 > /sys/class/net/primary0/batman_adv/mesh_iface
fi
proto_init_update primary0 1
proto_send_update "$config"