Pārlūkot izejas kodu

add support for egress HA on relay

abhishek9686 5 mēneši atpakaļ
vecāks
revīzija
70a6a6280c
1 mainītis faili ar 7 papildinājumiem un 6 dzēšanām
  1. 7 6
      logic/peers.go

+ 7 - 6
logic/peers.go

@@ -244,26 +244,27 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
 			}
 			if peer.IsEgressGateway {
 				peerKey := peerHost.PublicKey.String()
-				if peer.IsRelayed {
+				if peer.FailedOverBy != uuid.Nil {
 					// get relay host
-					relayNode, err := GetNodeByID(peer.RelayedBy)
+					failOverNode, err := GetNodeByID(peer.FailedOverBy.String())
 					if err == nil {
-						relayHost, err := GetHost(relayNode.HostID.String())
+						relayHost, err := GetHost(failOverNode.HostID.String())
 						if err == nil {
 							peerKey = relayHost.PublicKey.String()
 						}
 					}
 				}
-				if peer.FailedOverBy != uuid.Nil {
+				if peer.IsRelayed {
 					// get relay host
-					failOverNode, err := GetNodeByID(peer.FailedOverBy.String())
+					relayNode, err := GetNodeByID(peer.RelayedBy)
 					if err == nil {
-						relayHost, err := GetHost(failOverNode.HostID.String())
+						relayHost, err := GetHost(relayNode.HostID.String())
 						if err == nil {
 							peerKey = relayHost.PublicKey.String()
 						}
 					}
 				}
+
 				hostPeerUpdate.EgressRoutes = append(hostPeerUpdate.EgressRoutes, models.EgressNetworkRoutes{
 					PeerKey:                peerKey,
 					EgressGwAddr:           peer.Address,