From 0b3af14bf8b0657bb11435b22a13659cee5ed759 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 30 Aug 2016 03:48:12 +0200 Subject: [PATCH] gluon-core: migrate custom batadv interfaces to gluon_mesh proto Users may have defined additional mesh interfaces. Properly migrate these to avoid subtly breaking the network config (and make them ready for new mesh protocols). --- .../lib/gluon/upgrade/800-migrate-batadv | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 package/gluon-core/luasrc/lib/gluon/upgrade/800-migrate-batadv diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/800-migrate-batadv b/package/gluon-core/luasrc/lib/gluon/upgrade/800-migrate-batadv new file mode 100755 index 00000000..7843e6a1 --- /dev/null +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/800-migrate-batadv @@ -0,0 +1,24 @@ +#!/usr/bin/lua + +local uci = require('luci.model.uci').cursor() + +local function migrate_iface(iface) + if iface.proto ~= 'batadv' or iface.mesh ~= 'bat0' then + return + end + + local s = iface['.name'] + + uci:set('network', s, 'proto', 'gluon_mesh') + uci:set('network', s, 'fixed_mtu', '1') + + if iface.mesh_no_rebroadcast then + uci:set('network', s, 'transitive', iface.mesh_no_rebroadcast) + end + + uci:delete('network', s, 'mesh') + uci:delete('network', s, 'mesh_no_rebroadcast') +end + +uci:foreach('network', 'interface', migrate_iface) +uci:save('network')