mover failOver func to pro pkg

This commit is contained in:
abhishek9686 2024-01-24 00:29:21 +05:30
parent a446c50f12
commit c690eb18c2
3 changed files with 32 additions and 25 deletions

View file

@ -24,6 +24,10 @@ var (
ResetFailedOverPeer = func(failedOverNode *models.Node) error { ResetFailedOverPeer = func(failedOverNode *models.Node) error {
return nil 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 // 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 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 { func GetEgressIPs(peer *models.Node) []net.IPNet {
peerHost, err := GetHost(peer.HostID.String()) peerHost, err := GetHost(peer.HostID.String())

View file

@ -83,6 +83,7 @@ func InitPro() {
}) })
logic.ResetFailOver = proLogic.ResetFailOver logic.ResetFailOver = proLogic.ResetFailOver
logic.ResetFailedOverPeer = proLogic.ResetFailedOverPeer logic.ResetFailedOverPeer = proLogic.ResetFailedOverPeer
logic.GetFailOverPeerIps = proLogic.GetFailOverPeerIps
logic.DenyClientNodeAccess = proLogic.DenyClientNode logic.DenyClientNodeAccess = proLogic.DenyClientNode
logic.IsClientNodeAllowed = proLogic.IsClientNodeAllowed logic.IsClientNodeAllowed = proLogic.IsClientNodeAllowed
logic.AllowClientNodeAccess = proLogic.RemoveDeniedNodeFromClient logic.AllowClientNodeAccess = proLogic.RemoveDeniedNodeFromClient

View file

@ -2,6 +2,7 @@ package logic
import ( import (
"errors" "errors"
"net"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/gravitl/netmaker/logic" "github.com/gravitl/netmaker/logic"
@ -96,3 +97,29 @@ func ResetFailOver(failOverNode *models.Node) error {
} }
return nil 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
}