gluon-mesh-batman-adv: unify IPv4 and IPv6 local-node route behavior
Just as was done for IPv6 previously, use the new, separate table for IPv4 local-node, too. This ensures that we will always only use the source MAC of the local-node interface if the packet originated from us (locally generated, not routed) and matches our local-node IPv4 or IPv6 address. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This commit is contained in:
parent
909363f5b9
commit
8c6a4d8c1a
@ -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
|
||||
|
@ -25,7 +25,18 @@ uci:section('network', 'interface', 'client', {
|
||||
|
||||
uci:delete('network', 'client_lan')
|
||||
|
||||
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',
|
||||
|
Loading…
Reference in New Issue
Block a user