mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 00:43:58 +08:00

* add internet gateway to client gateway * migration func to remove internet egress range from egress gateway * add internet gateways ranges to firewall update * add internet gw ranges to extcleint conf * add ipv6 internet address * remove failover field from ingress req * only let normal to be created on PRO (#2716) * feat(NET-805): send internet gw props to rac * set inet gw field on node update api * move internet gws to EE --------- Co-authored-by: the_aceix <aceixsmartx@gmail.com>
32 lines
790 B
Go
32 lines
790 B
Go
package logic
|
|
|
|
import (
|
|
celogic "github.com/gravitl/netmaker/logic"
|
|
"github.com/gravitl/netmaker/models"
|
|
)
|
|
|
|
// IsInternetGw - checks if node is acting as internet gw
|
|
func IsInternetGw(node models.Node) bool {
|
|
return node.IsInternetGateway
|
|
}
|
|
|
|
// SetInternetGw - sets the node as internet gw based on flag bool
|
|
func SetInternetGw(node *models.Node, flag bool) {
|
|
node.IsInternetGateway = flag
|
|
}
|
|
|
|
// GetNetworkIngresses - gets the gateways of a network
|
|
func GetNetworkIngresses(network string) ([]models.Node, error) {
|
|
var ingresses []models.Node
|
|
netNodes, err := celogic.GetNetworkNodes(network)
|
|
if err != nil {
|
|
return []models.Node{}, err
|
|
}
|
|
for i := range netNodes {
|
|
if netNodes[i].IsIngressGateway {
|
|
ingresses = append(ingresses, netNodes[i])
|
|
}
|
|
}
|
|
return ingresses, nil
|
|
}
|