gluon-next-node: make IPv4 next-node address optional
If next_node.ip4 is not set or gluon-next-node is not used, prefix4 will now be optional as well.
This commit is contained in:
parent
ea95dceb10
commit
b902ddd8df
@ -19,7 +19,6 @@ need_string 'timezone'
|
||||
|
||||
need_string_array('ntp_servers', false)
|
||||
|
||||
need_string_match('prefix4', '^%d+.%d+.%d+.%d+/%d+$')
|
||||
need_string_match('prefix6', '^[%x:]+/%d+$')
|
||||
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
need_string_match('next_node.ip4', '^%d+.%d+.%d+.%d+$')
|
||||
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.mac', '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$')
|
||||
|
@ -17,14 +17,20 @@ c:section('network', 'device', 'local_node_dev',
|
||||
}
|
||||
)
|
||||
|
||||
local prefix4 = ip.IPv4(site.prefix4)
|
||||
local ip4, netmask
|
||||
|
||||
if site.next_node.ip4 then
|
||||
ip4 = site.next_node.ip4
|
||||
netmask = ip.IPv4(site.prefix4):mask():string()
|
||||
end
|
||||
|
||||
c:delete('network', 'local_node')
|
||||
c:section('network', 'interface', 'local_node',
|
||||
{
|
||||
ifname = 'local-node',
|
||||
proto = 'static',
|
||||
ipaddr = site.next_node.ip4,
|
||||
netmask = prefix4:mask():string(),
|
||||
ipaddr = ip4,
|
||||
netmask = netmask,
|
||||
ip6addr = site.next_node.ip6 .. '/128',
|
||||
}
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user