From c690eb18c2517588a8cbcba4bb2308d93b7865ce Mon Sep 17 00:00:00 2001 From: abhishek9686 Date: Wed, 24 Jan 2024 00:29:21 +0530 Subject: [PATCH] mover failOver func to pro pkg --- logic/peers.go | 29 ++++------------------------- pro/initialize.go | 1 + pro/logic/failover.go | 27 +++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/logic/peers.go b/logic/peers.go index 9826156e..94e16f73 100644 --- a/logic/peers.go +++ b/logic/peers.go @@ -24,6 +24,10 @@ var ( ResetFailedOverPeer = func(failedOverNode *models.Node) error { return nil } + // GetFailOverPeerIps - gets failover peerips + GetFailOverPeerIps = func(peer, node *models.Node) []net.IPNet { + return []net.IPNet{} + } ) // GetPeerUpdateForHost - gets the consolidated peer update for the host from all networks @@ -362,31 +366,6 @@ func GetAllowedIPs(node, peer *models.Node, metrics *models.Metrics) []net.IPNet return allowedips } -func GetFailOverPeerIps(peer, node *models.Node) []net.IPNet { - allowedips := []net.IPNet{} - for failOverpeerID := range node.FailOverPeers { - failOverpeer, err := GetNodeByID(failOverpeerID) - if err == nil && failOverpeer.FailedOverBy == peer.ID { - if failOverpeer.Address.IP != nil { - allowed := net.IPNet{ - IP: failOverpeer.Address.IP, - Mask: net.CIDRMask(32, 32), - } - allowedips = append(allowedips, allowed) - } - if failOverpeer.Address6.IP != nil { - allowed := net.IPNet{ - IP: failOverpeer.Address6.IP, - Mask: net.CIDRMask(128, 128), - } - allowedips = append(allowedips, allowed) - } - - } - } - return allowedips -} - func GetEgressIPs(peer *models.Node) []net.IPNet { peerHost, err := GetHost(peer.HostID.String()) diff --git a/pro/initialize.go b/pro/initialize.go index 8b28eba7..5481e507 100644 --- a/pro/initialize.go +++ b/pro/initialize.go @@ -83,6 +83,7 @@ func InitPro() { }) logic.ResetFailOver = proLogic.ResetFailOver logic.ResetFailedOverPeer = proLogic.ResetFailedOverPeer + logic.GetFailOverPeerIps = proLogic.GetFailOverPeerIps logic.DenyClientNodeAccess = proLogic.DenyClientNode logic.IsClientNodeAllowed = proLogic.IsClientNodeAllowed logic.AllowClientNodeAccess = proLogic.RemoveDeniedNodeFromClient diff --git a/pro/logic/failover.go b/pro/logic/failover.go index d8006334..c3a94c20 100644 --- a/pro/logic/failover.go +++ b/pro/logic/failover.go @@ -2,6 +2,7 @@ package logic import ( "errors" + "net" "github.com/google/uuid" "github.com/gravitl/netmaker/logic" @@ -96,3 +97,29 @@ func ResetFailOver(failOverNode *models.Node) error { } return nil } + +// GetFailOverPeerIps - adds the failedOvered peerIps by the peer +func GetFailOverPeerIps(peer, node *models.Node) []net.IPNet { + allowedips := []net.IPNet{} + for failOverpeerID := range node.FailOverPeers { + failOverpeer, err := logic.GetNodeByID(failOverpeerID) + if err == nil && failOverpeer.FailedOverBy == peer.ID { + if failOverpeer.Address.IP != nil { + allowed := net.IPNet{ + IP: failOverpeer.Address.IP, + Mask: net.CIDRMask(32, 32), + } + allowedips = append(allowedips, allowed) + } + if failOverpeer.Address6.IP != nil { + allowed := net.IPNet{ + IP: failOverpeer.Address6.IP, + Mask: net.CIDRMask(128, 128), + } + allowedips = append(allowedips, allowed) + } + + } + } + return allowedips +}