|
@@ -429,8 +429,10 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ var extPeers []wgtypes.PeerConfig
|
|
|
+ var extPeerIDAndAddrs []models.IDandAddr
|
|
|
if node.IsIngressGateway {
|
|
|
- extPeers, extPeerIDAndAddrs, err := getExtPeers(&node)
|
|
|
+ extPeers, extPeerIDAndAddrs, err = getExtPeers(&node)
|
|
|
if err == nil {
|
|
|
hostPeerUpdate.Peers = append(hostPeerUpdate.Peers, extPeers...)
|
|
|
for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
|
@@ -461,8 +463,25 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
|
|
}
|
|
|
}
|
|
|
if node.IsEgressGateway {
|
|
|
+ if node.IsIngressGateway {
|
|
|
+ for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
|
|
+ nodePeerMap[extPeerIdAndAddr.ID] = models.PeerRouteInfo{
|
|
|
+ PeerAddr: net.IPNet{
|
|
|
+ IP: net.ParseIP(extPeerIdAndAddr.Address),
|
|
|
+ Mask: getCIDRMaskFromAddr(extPeerIdAndAddr.Address),
|
|
|
+ },
|
|
|
+ PeerKey: extPeerIdAndAddr.ID,
|
|
|
+ Allow: true,
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
hostPeerUpdate.EgressInfo[node.ID.String()] = models.EgressInfo{
|
|
|
- EgressID: node.ID.String(),
|
|
|
+ EgressID: node.ID.String(),
|
|
|
+ EgressGwAddr: net.IPNet{
|
|
|
+ IP: net.ParseIP(node.PrimaryAddress()),
|
|
|
+ Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),
|
|
|
+ },
|
|
|
GwPeers: nodePeerMap,
|
|
|
EgressGWCfg: node.EgressGatewayRequest,
|
|
|
}
|