Parcourir la source

add set defaul gw pro func

abhishek9686 il y a 1 an
Parent
commit
407dc9d236
3 fichiers modifiés avec 20 ajouts et 9 suppressions
  1. 7 9
      logic/peers.go
  2. 1 0
      pro/initialize.go
  3. 12 0
      pro/logic/nodes.go

+ 7 - 9
logic/peers.go

@@ -28,10 +28,15 @@ var (
 	GetFailOverPeerIps = func(peer, node *models.Node) []net.IPNet {
 		return []net.IPNet{}
 	}
-
+	// CreateFailOver - creates failover in a network
 	CreateFailOver = func(node models.Node) error {
 		return nil
 	}
+
+	// SetDefaulGw
+	SetDefaultGw = func(node models.Node, peerUpdate models.HostPeerUpdate) models.HostPeerUpdate {
+		return peerUpdate
+	}
 )
 
 // GetPeerUpdateForHost - gets the consolidated peer update for the host from all networks
@@ -122,14 +127,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
 			}
 			continue
 		}
-		if node.InternetGwID != "" {
-			inetNode, err := GetNodeByID(node.InternetGwID)
-			if err == nil {
-				hostPeerUpdate.ChangeDefaultGw = true
-				hostPeerUpdate.DefaultGwIp = inetNode.Address.IP
-			}
-
-		}
+		hostPeerUpdate = SetDefaultGw(node, hostPeerUpdate)
 		currentPeers := GetNetworkNodesMemory(allNodes, node.Network)
 		for _, peer := range currentPeers {
 			peer := peer

+ 1 - 0
pro/initialize.go

@@ -101,6 +101,7 @@ func InitPro() {
 	logic.SetRelayedNodes = proLogic.SetRelayedNodes
 	logic.RelayUpdates = proLogic.RelayUpdates
 	logic.GetTrialEndDate = getTrialEndDate
+	logic.SetDefaultGw = proLogic.SetDefaultGw
 	mq.UpdateMetrics = proLogic.MQUpdateMetrics
 	mq.UpdateMetricsFallBack = proLogic.MQUpdateMetricsFallBack
 }

+ 12 - 0
pro/logic/nodes.go

@@ -74,6 +74,18 @@ func UnsetInternetGw(node *models.Node) {
 
 }
 
+func SetDefaultGw(node models.Node, peerUpdate models.HostPeerUpdate) models.HostPeerUpdate {
+	if node.InternetGwID != "" {
+		inetNode, err := logic.GetNodeByID(node.InternetGwID)
+		if err == nil {
+			peerUpdate.ChangeDefaultGw = true
+			peerUpdate.DefaultGwIp = inetNode.Address.IP
+		}
+
+	}
+	return peerUpdate
+}
+
 // GetNetworkIngresses - gets the gateways of a network
 func GetNetworkIngresses(network string) ([]models.Node, error) {
 	var ingresses []models.Node