Browse Source

Add getter function for Default Address Pools

ipamutils has two default address pool. Instead of allowing them to
be accessed directly, adding get functions so that other packages
can use get APIs.

Signed-off-by: selansen <elango.siva@docker.com>
selansen 7 years ago
parent
commit
814f6c1f4b
2 changed files with 17 additions and 2 deletions
  1. 3 2
      libnetwork/ipam/allocator.go
  2. 14 0
      libnetwork/ipamutils/utils.go

+ 3 - 2
libnetwork/ipam/allocator.go

@@ -45,9 +45,10 @@ func NewAllocator(lcDs, glDs datastore.DataStore) (*Allocator, error) {
 	a := &Allocator{}
 
 	// Load predefined subnet pools
+
 	a.predefined = map[string][]*net.IPNet{
-		localAddressSpace:  ipamutils.PredefinedLocalScopeDefaultNetworks,
-		globalAddressSpace: ipamutils.PredefinedGlobalScopeDefaultNetworks,
+		localAddressSpace:  ipamutils.GetLocalScopeDefaultNetworks(),
+		globalAddressSpace: ipamutils.GetGlobalScopeDefaultNetworks(),
 	}
 
 	// Initialize asIndices map

+ 14 - 0
libnetwork/ipamutils/utils.go

@@ -56,6 +56,20 @@ func configDefaultNetworks(defaultAddressPool []*NetworkToSplit, result *[]*net.
 	return nil
 }
 
+// GetGlobalScopeDefaultNetworks returns PredefinedGlobalScopeDefaultNetworks
+func GetGlobalScopeDefaultNetworks() []*net.IPNet {
+	mutex.Lock()
+	defer mutex.Unlock()
+	return PredefinedGlobalScopeDefaultNetworks
+}
+
+// GetLocalScopeDefaultNetworks returns PredefinedLocalScopeDefaultNetworks
+func GetLocalScopeDefaultNetworks() []*net.IPNet {
+	mutex.Lock()
+	defer mutex.Unlock()
+	return PredefinedLocalScopeDefaultNetworks
+}
+
 // ConfigGlobalScopeDefaultNetworks configures global default pool.
 // Ideally this will be called from SwarmKit as part of swarm init
 func ConfigGlobalScopeDefaultNetworks(defaultAddressPool []*NetworkToSplit) error {