fixed egress range peer appending

This commit is contained in:
worker-9
2021-08-12 09:01:35 -04:00
parent 9f7d475bac
commit c87e39aa61

View File

@@ -211,11 +211,14 @@ func GetPeers(macaddress string, network string, server string, dualstack bool,
if node.IsEgressGateway == "yes" { if node.IsEgressGateway == "yes" {
hasGateway = true hasGateway = true
ranges := node.EgressGatewayRanges ranges := node.EgressGatewayRanges
for _, iprange := range ranges { for _, iprange := range ranges { // go through each cidr for egress gateway
_, ipnet, err := net.ParseCIDR(iprange) _, ipnet, err := net.ParseCIDR(iprange) // confirming it's valid cidr
nodeEndpointArr := strings.Split(node.Endpoint, ":") if err != nil {
if len(nodeEndpointArr) != 2 || ipnet.Contains(net.IP(nodeEndpointArr[0])) { continue // if can't parse CIDR
continue }
nodeEndpointArr := strings.Split(node.Endpoint, ":") // getting the public ip of node
if ipnet.Contains(net.IP(nodeEndpointArr[0])) { // ensuring egress gateway range does not contain public ip of node
continue // skip adding egress range if overlaps with nodes ip
} }
gateways = append(gateways, iprange) gateways = append(gateways, iprange)
if err != nil { if err != nil {
@@ -262,7 +265,6 @@ func GetPeers(macaddress string, network string, server string, dualstack bool,
} }
} }
peers = append(peers, peer) peers = append(peers, peer)
} }
if isIngressGateway { if isIngressGateway {
extPeers, err := GetExtPeers(macaddress, network, server, dualstack) extPeers, err := GetExtPeers(macaddress, network, server, dualstack)