diff --git a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node index 824d8d40..4b51db0c 100755 --- a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node +++ b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node @@ -23,8 +23,7 @@ uci:section('network', 'device', 'local_node_dev', { local ip4, ip6 if next_node.ip4 then - local plen = site.prefix4():match('/%d+$') - ip4 = next_node.ip4 .. plen + ip4 = next_node.ip4 .. '/32' end if next_node.ip6 then diff --git a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge index 2f113ece..dc22f2cf 100755 --- a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge +++ b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge @@ -7,6 +7,7 @@ local site = require 'gluon.site' local util = require 'gluon.util' local uci = require('simple-uci').cursor() +local next_node = site.next_node({}) uci:section('network', 'interface', 'client', { @@ -23,13 +24,35 @@ uci:section('network', 'interface', 'client', { uci:delete('network', 'client_lan') +uci:section('network', 'route', 'br_client_route', { + interface = 'client', + target = site.prefix4(), +}) + +uci:section('network', 'rule', 'local_node_rule', { + src = next_node.ip4 .. '/32', + lookup = 2, +}) +uci:set('network', 'local_node_rule', 'in', 'loopback') + uci:delete('network', 'local_node_route') +uci:section('network', 'route', 'local_node_route', { + interface = 'local_node', + target = site.prefix4(), + table = 2, +}) + +uci:section('network', 'rule6', 'local_node_rule6', { + src = next_node.ip6 .. '/128', + lookup = 2, +}) +uci:set('network', 'local_node_rule6', 'in', 'loopback') uci:delete('network', 'local_node_route6') uci:section('network', 'route6', 'local_node_route6', { - interface = 'client', + interface = 'local_node', target = site.prefix6(), - gateway = '::', + table = 2, }) uci:save('network')