From 826ac884936d695252ade6b8b4b27a8383580f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20F=C3=B6rster?= Date: Mon, 10 Jul 2017 23:08:39 +0200 Subject: [PATCH] gluon-mesh-batman-adv: enable routing algorithm configuration through site.conf [Matthias Schiffer: move to proto_gluon_bat0_setup() and default to BATMAN_IV] --- package/gluon-mesh-batman-adv/check_site.lua | 3 ++- .../files/lib/netifd/proto/gluon_bat0.sh | 4 ++++ .../luasrc/lib/gluon/upgrade/310-gluon-mesh-batman-adv-mesh | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/package/gluon-mesh-batman-adv/check_site.lua b/package/gluon-mesh-batman-adv/check_site.lua index 384b3224..3dc2e6aa 100644 --- a/package/gluon-mesh-batman-adv/check_site.lua +++ b/package/gluon-mesh-batman-adv/check_site.lua @@ -1,3 +1,4 @@ if need_table('mesh', nil, false) and need_table('mesh.batman_adv', nil, false) then - need_number('mesh.batman_adv.gw_sel_class', false) + need_number('mesh.batman_adv.gw_sel_class', false) + need_one_of('mesh.batman_adv.routing_algo', {'BATMAN_IV', 'BATMAN_V'}, false) end diff --git a/package/gluon-mesh-batman-adv/files/lib/netifd/proto/gluon_bat0.sh b/package/gluon-mesh-batman-adv/files/lib/netifd/proto/gluon_bat0.sh index 781d91c3..ea562c49 100755 --- a/package/gluon-mesh-batman-adv/files/lib/netifd/proto/gluon_bat0.sh +++ b/package/gluon-mesh-batman-adv/files/lib/netifd/proto/gluon_bat0.sh @@ -41,6 +41,10 @@ proto_gluon_bat0_setup() { ip link add primary0 type dummy echo 1 > /proc/sys/net/ipv6/conf/primary0/disable_ipv6 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 proto_init_update primary0 1 diff --git a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/310-gluon-mesh-batman-adv-mesh b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/310-gluon-mesh-batman-adv-mesh index 8153f075..b119531a 100755 --- a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/310-gluon-mesh-batman-adv-mesh +++ b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/310-gluon-mesh-batman-adv-mesh @@ -12,12 +12,18 @@ if site.mesh and site.mesh.batman_adv then gw_sel_class = site.mesh.batman_adv.gw_sel_class end +local routing_algo +if site.mesh and site.mesh.batman_adv then + routing_algo = site.mesh.batman_adv.routing_algo +end + uci:delete('batman-adv', 'bat0') uci:section('batman-adv', 'mesh', 'bat0', { orig_interval = 5000, gw_mode = 'client', gw_sel_class = gw_sel_class, hop_penalty = 15, + routing_algo = routing_algo, multicast_mode = false, }) uci:save('batman-adv')