Add error message to parser for incorrectly configured subnets in connections

release
Matthew Salerno 9 months ago
parent 3e3a37fc0f
commit 8c7f741b7f

@ -43,11 +43,13 @@ let
/** getIpAddresses :: acl_peer -> acl_subnet -> [str] */ /** getIpAddresses :: acl_peer -> acl_subnet -> [str] */
getIpAddresses = acl_subnet: acl_peer: getIpAddresses = acl_subnet: acl_peer:
lib.throwIfNot (builtins.hasAttr acl_subnet.name acl_peer.subnets) "Tried getting the IP address for ${acl_peer.name} on subnet ${acl_subnet.name}. However, ${acl_peer.name} is not a member of ${acl_subnet.name}. It may be that you forgot to add ${acl_subnet.name} to `connections.*.subnets` in your ACL." (
if (acl_peer.subnets."${acl_subnet.name}" ? ipAddresses) then ( if (acl_peer.subnets."${acl_subnet.name}" ? ipAddresses) then (
if (elem "auto" acl_peer.subnets."${acl_subnet.name}".ipAddresses) then ( if (elem "auto" acl_peer.subnets."${acl_subnet.name}".ipAddresses) then (
(remove "auto" acl_peer.subnets."${acl_subnet.name}".ipAddresses) ++ (singleton (generateIPv6Address acl_subnet.name acl_peer.name)) (remove "auto" acl_peer.subnets."${acl_subnet.name}".ipAddresses) ++ (singleton (generateIPv6Address acl_subnet.name acl_peer.name))
) else acl_peer.subnets."${acl_subnet.name}".ipAddresses ) else acl_peer.subnets."${acl_subnet.name}".ipAddresses
) else (singleton (generateIPv6Address acl_subnet.name acl_peer.name)); ) else (singleton (generateIPv6Address acl_subnet.name acl_peer.name))
);
/** getPeerConnections :: acl_peer -> acl_subnet -> str -> peerConnection */ /** getPeerConnections :: acl_peer -> acl_subnet -> str -> peerConnection */
getPeerConnections = acl_peerFrom: acl_subnet: getPeerConnections = acl_peerFrom: acl_subnet:
@ -127,8 +129,8 @@ let
subnetFromName = subnetName: findSingle subnetFromName = subnetName: findSingle
(subnet: subnet.name == subnetName) (subnet: subnet.name == subnetName)
(throw "No subnet " + subnetName) (throw "No subnet " + subnetName + " when processing peer " + acl_peer)
(throw "Multiply defined subnet " + subnetName) (throw "Multiply defined subnet " + subnetName + " when processing peer " + acl_peer)
v1_acl.subnets; v1_acl.subnets;

Loading…
Cancel
Save