mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 11:56:39 +08:00
fix egressing exclient set route issue
This commit is contained in:
parent
7ff30599ed
commit
0180481ddb
2 changed files with 12 additions and 17 deletions
|
@ -431,7 +431,7 @@ func GetExtPeers(node, peer *models.Node) ([]wgtypes.PeerConfig, []models.IDandA
|
|||
allowedips = append(allowedips, *cidr)
|
||||
}
|
||||
}
|
||||
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(extPeer)...)
|
||||
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(*node, extPeer)...)
|
||||
primaryAddr := extPeer.Address
|
||||
if primaryAddr == "" {
|
||||
primaryAddr = extPeer.Address6
|
||||
|
@ -453,23 +453,18 @@ func GetExtPeers(node, peer *models.Node) ([]wgtypes.PeerConfig, []models.IDandA
|
|||
|
||||
}
|
||||
|
||||
func getExtPeerEgressRoute(extPeer models.ExtClient) (egressRoutes []models.EgressNetworkRoutes) {
|
||||
if extPeer.Address != "" {
|
||||
egressRoutes = append(egressRoutes, models.EgressNetworkRoutes{
|
||||
NodeAddr: extPeer.AddressIPNet4(),
|
||||
EgressRanges: extPeer.ExtraAllowedIPs,
|
||||
})
|
||||
}
|
||||
if extPeer.Address6 != "" {
|
||||
egressRoutes = append(egressRoutes, models.EgressNetworkRoutes{
|
||||
NodeAddr: extPeer.AddressIPNet6(),
|
||||
EgressRanges: extPeer.ExtraAllowedIPs,
|
||||
})
|
||||
}
|
||||
func getExtPeerEgressRoute(node models.Node, extPeer models.ExtClient) (egressRoutes []models.EgressNetworkRoutes) {
|
||||
egressRoutes = append(egressRoutes, models.EgressNetworkRoutes{
|
||||
EgressGwAddr: extPeer.AddressIPNet4(),
|
||||
EgressGwAddr6: extPeer.AddressIPNet6(),
|
||||
NodeAddr: node.Address,
|
||||
NodeAddr6: node.Address6,
|
||||
EgressRanges: extPeer.ExtraAllowedIPs,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func getExtpeersExtraRoutes(network string) (egressRoutes []models.EgressNetworkRoutes) {
|
||||
func getExtpeersExtraRoutes(node models.Node, network string) (egressRoutes []models.EgressNetworkRoutes) {
|
||||
extPeers, err := GetNetworkExtClients(network)
|
||||
if err != nil {
|
||||
return
|
||||
|
@ -478,7 +473,7 @@ func getExtpeersExtraRoutes(network string) (egressRoutes []models.EgressNetwork
|
|||
if len(extPeer.ExtraAllowedIPs) == 0 {
|
||||
continue
|
||||
}
|
||||
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(extPeer)...)
|
||||
egressRoutes = append(egressRoutes, getExtPeerEgressRoute(node, extPeer)...)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
|
|||
})
|
||||
}
|
||||
if peer.IsIngressGateway {
|
||||
hostPeerUpdate.EgressRoutes = append(hostPeerUpdate.EgressRoutes, getExtpeersExtraRoutes(peer.Network)...)
|
||||
hostPeerUpdate.EgressRoutes = append(hostPeerUpdate.EgressRoutes, getExtpeersExtraRoutes(node, peer.Network)...)
|
||||
}
|
||||
_, isFailOverPeer := node.FailOverPeers[peer.ID.String()]
|
||||
if servercfg.IsPro {
|
||||
|
|
Loading…
Add table
Reference in a new issue