浏览代码

add inet allowed ips

abhishek9686 1 年之前
父节点
当前提交
8c9573aa8d
共有 3 个文件被更改,包括 15 次插入0 次删除
  1. 7 0
      logic/peers.go
  2. 1 0
      pro/initialize.go
  3. 7 0
      pro/logic/nodes.go

+ 7 - 0
logic/peers.go

@@ -45,6 +45,10 @@ var (
 	SetInternetGw = func(node *models.Node, req models.InetNodeReq) {
 	SetInternetGw = func(node *models.Node, req models.InetNodeReq) {
 		node.IsInternetGateway = true
 		node.IsInternetGateway = true
 	}
 	}
+	// GetAllowedIpForInet
+	GetAllowedIpForInet = func(node, peer *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
@@ -382,6 +386,9 @@ func GetAllowedIPs(node, peer *models.Node, metrics *models.Metrics) []net.IPNet
 	if node.IsRelayed && node.RelayedBy == peer.ID.String() {
 	if node.IsRelayed && node.RelayedBy == peer.ID.String() {
 		allowedips = append(allowedips, GetAllowedIpsForRelayed(node, peer)...)
 		allowedips = append(allowedips, GetAllowedIpsForRelayed(node, peer)...)
 	}
 	}
+	if peer.IsInternetGateway && node.InternetGwID == peer.ID.String() {
+		allowedips = append(allowedips, GetAllowedIpForInet(node, peer)...)
+	}
 	return allowedips
 	return allowedips
 }
 }
 
 

+ 1 - 0
pro/initialize.go

@@ -105,6 +105,7 @@ func InitPro() {
 	logic.SetDefaultGw = proLogic.SetDefaultGw
 	logic.SetDefaultGw = proLogic.SetDefaultGw
 	logic.UnsetInternetGw = proLogic.UnsetInternetGw
 	logic.UnsetInternetGw = proLogic.UnsetInternetGw
 	logic.SetInternetGw = proLogic.SetInternetGw
 	logic.SetInternetGw = proLogic.SetInternetGw
+	logic.GetAllowedIpForInet = proLogic.GetAllowedIpsForInet
 	mq.UpdateMetrics = proLogic.MQUpdateMetrics
 	mq.UpdateMetrics = proLogic.MQUpdateMetrics
 	mq.UpdateMetricsFallBack = proLogic.MQUpdateMetricsFallBack
 	mq.UpdateMetricsFallBack = proLogic.MQUpdateMetricsFallBack
 }
 }

+ 7 - 0
pro/logic/nodes.go

@@ -3,6 +3,7 @@ package logic
 import (
 import (
 	"errors"
 	"errors"
 	"fmt"
 	"fmt"
+	"net"
 
 
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/models"
@@ -100,3 +101,9 @@ func GetNetworkIngresses(network string) ([]models.Node, error) {
 	}
 	}
 	return ingresses, nil
 	return ingresses, nil
 }
 }
+
+// GetAllowedIpsForInet - get inet cidr
+func GetAllowedIpsForInet(node, peer *models.Node) []net.IPNet {
+	_, ipnet, _ := net.ParseCIDR("0.0.0.0/0")
+	return []net.IPNet{*ipnet}
+}