mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-07 01:36:23 +08:00
get ext peers for egress gw if node is ingress too
This commit is contained in:
@@ -429,8 +429,10 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
var extPeers []wgtypes.PeerConfig
|
||||||
|
var extPeerIDAndAddrs []models.IDandAddr
|
||||||
if node.IsIngressGateway {
|
if node.IsIngressGateway {
|
||||||
extPeers, extPeerIDAndAddrs, err := getExtPeers(&node)
|
extPeers, extPeerIDAndAddrs, err = getExtPeers(&node)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
hostPeerUpdate.Peers = append(hostPeerUpdate.Peers, extPeers...)
|
hostPeerUpdate.Peers = append(hostPeerUpdate.Peers, extPeers...)
|
||||||
for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
||||||
@@ -461,8 +463,25 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if node.IsEgressGateway {
|
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{
|
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,
|
GwPeers: nodePeerMap,
|
||||||
EgressGWCfg: node.EgressGatewayRequest,
|
EgressGWCfg: node.EgressGatewayRequest,
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user