diff --git a/package/gluon-mesh-batman-adv/check_site.lua b/package/gluon-mesh-batman-adv/check_site.lua index 384b3224..6b642927 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_one_of('mesh.batman_adv.routing_algo', {'BATMAN_IV', 'BATMAN_V'}, false) end 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..aee82b24 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')