mirror of
https://github.com/gravitl/netmaker.git
synced 2025-11-12 01:30:41 +08:00
Merge pull request #2177 from gravitl/GRA-1351/lengthy-delay-fix
GRA-1351: fix delay in updates around client CRUD
This commit is contained in:
commit
dd77f09fd9
1 changed files with 57 additions and 57 deletions
114
logic/peers.go
114
logic/peers.go
|
|
@ -325,68 +325,68 @@ func GetPeerUpdateForHost(ctx context.Context, network string, host *models.Host
|
||||||
hostPeerUpdate.NodePeers = append(hostPeerUpdate.NodePeers, nodePeer)
|
hostPeerUpdate.NodePeers = append(hostPeerUpdate.NodePeers, nodePeer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var extPeers []wgtypes.PeerConfig
|
}
|
||||||
var extPeerIDAndAddrs []models.IDandAddr
|
var extPeers []wgtypes.PeerConfig
|
||||||
if node.IsIngressGateway {
|
var extPeerIDAndAddrs []models.IDandAddr
|
||||||
extPeers, extPeerIDAndAddrs, err = getExtPeers(&node)
|
if node.IsIngressGateway {
|
||||||
if err == nil {
|
extPeers, extPeerIDAndAddrs, err = getExtPeers(&node)
|
||||||
for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
if err == nil {
|
||||||
extPeerIdAndAddr := extPeerIdAndAddr
|
for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
||||||
nodePeerMap[extPeerIdAndAddr.ID] = models.PeerRouteInfo{
|
extPeerIdAndAddr := extPeerIdAndAddr
|
||||||
PeerAddr: net.IPNet{
|
nodePeerMap[extPeerIdAndAddr.ID] = models.PeerRouteInfo{
|
||||||
IP: net.ParseIP(extPeerIdAndAddr.Address),
|
PeerAddr: net.IPNet{
|
||||||
Mask: getCIDRMaskFromAddr(extPeerIdAndAddr.Address),
|
IP: net.ParseIP(extPeerIdAndAddr.Address),
|
||||||
},
|
Mask: getCIDRMaskFromAddr(extPeerIdAndAddr.Address),
|
||||||
PeerKey: extPeerIdAndAddr.ID,
|
},
|
||||||
Allow: true,
|
PeerKey: extPeerIdAndAddr.ID,
|
||||||
ID: extPeerIdAndAddr.ID,
|
Allow: true,
|
||||||
}
|
ID: extPeerIdAndAddr.ID,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
hostPeerUpdate.Peers = append(hostPeerUpdate.Peers, extPeers...)
|
||||||
|
for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
||||||
|
extPeerIdAndAddr := extPeerIdAndAddr
|
||||||
|
hostPeerUpdate.HostPeerIDs[extPeerIdAndAddr.ID] = make(map[string]models.IDandAddr)
|
||||||
|
hostPeerUpdate.HostPeerIDs[extPeerIdAndAddr.ID][extPeerIdAndAddr.ID] = models.IDandAddr{
|
||||||
|
ID: extPeerIdAndAddr.ID,
|
||||||
|
Address: extPeerIdAndAddr.Address,
|
||||||
|
Name: extPeerIdAndAddr.Name,
|
||||||
|
Network: node.Network,
|
||||||
}
|
}
|
||||||
hostPeerUpdate.Peers = append(hostPeerUpdate.Peers, extPeers...)
|
|
||||||
for _, extPeerIdAndAddr := range extPeerIDAndAddrs {
|
|
||||||
extPeerIdAndAddr := extPeerIdAndAddr
|
|
||||||
hostPeerUpdate.HostPeerIDs[extPeerIdAndAddr.ID] = make(map[string]models.IDandAddr)
|
|
||||||
hostPeerUpdate.HostPeerIDs[extPeerIdAndAddr.ID][extPeerIdAndAddr.ID] = models.IDandAddr{
|
|
||||||
ID: extPeerIdAndAddr.ID,
|
|
||||||
Address: extPeerIdAndAddr.Address,
|
|
||||||
Name: extPeerIdAndAddr.Name,
|
|
||||||
Network: node.Network,
|
|
||||||
}
|
|
||||||
|
|
||||||
hostPeerUpdate.IngressInfo.ExtPeers[extPeerIdAndAddr.ID] = models.ExtClientInfo{
|
hostPeerUpdate.IngressInfo.ExtPeers[extPeerIdAndAddr.ID] = models.ExtClientInfo{
|
||||||
Masquerade: true,
|
Masquerade: true,
|
||||||
IngGwAddr: net.IPNet{
|
IngGwAddr: net.IPNet{
|
||||||
IP: net.ParseIP(node.PrimaryAddress()),
|
IP: net.ParseIP(node.PrimaryAddress()),
|
||||||
Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),
|
Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),
|
||||||
},
|
},
|
||||||
Network: node.PrimaryNetworkRange(),
|
Network: node.PrimaryNetworkRange(),
|
||||||
ExtPeerAddr: net.IPNet{
|
ExtPeerAddr: net.IPNet{
|
||||||
IP: net.ParseIP(extPeerIdAndAddr.Address),
|
IP: net.ParseIP(extPeerIdAndAddr.Address),
|
||||||
Mask: getCIDRMaskFromAddr(extPeerIdAndAddr.Address),
|
Mask: getCIDRMaskFromAddr(extPeerIdAndAddr.Address),
|
||||||
},
|
},
|
||||||
ExtPeerKey: extPeerIdAndAddr.ID,
|
ExtPeerKey: extPeerIdAndAddr.ID,
|
||||||
Peers: filterNodeMapForClientACLs(extPeerIdAndAddr.ID, node.Network, nodePeerMap),
|
Peers: filterNodeMapForClientACLs(extPeerIdAndAddr.ID, node.Network, nodePeerMap),
|
||||||
}
|
}
|
||||||
if node.Network == network {
|
if node.Network == network {
|
||||||
hostPeerUpdate.PeerIDs[extPeerIdAndAddr.ID] = extPeerIdAndAddr
|
hostPeerUpdate.PeerIDs[extPeerIdAndAddr.ID] = extPeerIdAndAddr
|
||||||
hostPeerUpdate.NodePeers = append(hostPeerUpdate.NodePeers, extPeers...)
|
hostPeerUpdate.NodePeers = append(hostPeerUpdate.NodePeers, extPeers...)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else if !database.IsEmptyRecord(err) {
|
|
||||||
logger.Log(1, "error retrieving external clients:", err.Error())
|
|
||||||
}
|
}
|
||||||
|
} else if !database.IsEmptyRecord(err) {
|
||||||
|
logger.Log(1, "error retrieving external clients:", err.Error())
|
||||||
}
|
}
|
||||||
if node.IsEgressGateway {
|
}
|
||||||
hostPeerUpdate.EgressInfo[node.ID.String()] = models.EgressInfo{
|
if node.IsEgressGateway {
|
||||||
EgressID: node.ID.String(),
|
hostPeerUpdate.EgressInfo[node.ID.String()] = models.EgressInfo{
|
||||||
Network: node.PrimaryNetworkRange(),
|
EgressID: node.ID.String(),
|
||||||
EgressGwAddr: net.IPNet{
|
Network: node.PrimaryNetworkRange(),
|
||||||
IP: net.ParseIP(node.PrimaryAddress()),
|
EgressGwAddr: net.IPNet{
|
||||||
Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),
|
IP: net.ParseIP(node.PrimaryAddress()),
|
||||||
},
|
Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),
|
||||||
GwPeers: nodePeerMap,
|
},
|
||||||
EgressGWCfg: node.EgressGatewayRequest,
|
GwPeers: nodePeerMap,
|
||||||
}
|
EgressGWCfg: node.EgressGatewayRequest,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue