gluon-next-node: don't require next_node.ip6

The next-node interface may be useful with IPv4 only or even just a MAC
address. This prepares merging gluon-next-node into gluon-batman-adv-core.
This commit is contained in:
Matthias Schiffer 2016-11-30 15:27:33 +01:00
parent fcf3abd9c4
commit fb85d96d5e
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C
3 changed files with 13 additions and 7 deletions

View File

@ -2,6 +2,6 @@ if need_string_match('next_node.ip4', '^%d+.%d+.%d+.%d+$', false) then
need_string_match('prefix4', '^%d+.%d+.%d+.%d+/%d+$')
end
need_string_match('next_node.ip6', '^[%x:]+$')
need_string_match('next_node.ip6', '^[%x:]+$', false)
need_string_match('next_node.mac', '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$')

View File

@ -16,7 +16,9 @@ if next_node.ip4 then
rule('OUTPUT --logical-out br-client -o bat0 -p IPv4 --ip-source ' .. next_node.ip4 .. ' -j DROP')
end
rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP')
rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP')
rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP')
rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP')
if next_node.ip6 then
rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP')
rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP')
rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP')
rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP')
end

View File

@ -17,13 +17,17 @@ c:section('network', 'device', 'local_node_dev',
}
)
local ip4, netmask
local ip4, netmask, ip6
if site.next_node.ip4 then
ip4 = site.next_node.ip4
netmask = ip.IPv4(site.prefix4):mask():string()
end
if site.next_node.ip6 then
ip6 = site.next_node.ip6 .. '/128'
end
c:delete('network', 'local_node')
c:section('network', 'interface', 'local_node',
{
@ -31,7 +35,7 @@ c:section('network', 'interface', 'local_node',
proto = 'static',
ipaddr = ip4,
netmask = netmask,
ip6addr = site.next_node.ip6 .. '/128',
ip6addr = ip6,
}
)