Pārlūkot izejas kodu

Simplify the code in the RegisterSubnet method of ipallocator.

junxu 10 gadi atpakaļ
vecāks
revīzija
382fe75607
1 mainītis faili ar 4 papildinājumiem un 8 dzēšanām
  1. 4 8
      libnetwork/ipallocator/allocator.go

+ 4 - 8
libnetwork/ipallocator/allocator.go

@@ -70,18 +70,14 @@ func (a *IPAllocator) RegisterSubnet(network *net.IPNet, subnet *net.IPNet) erro
 	if _, ok := a.allocatedIPs[key]; ok {
 		return ErrNetworkAlreadyRegistered
 	}
-	n := newAllocatedMap(network)
-	beginIP, endIP := netutils.NetworkRange(subnet)
-	begin := big.NewInt(0).Add(ipToBigInt(beginIP), big.NewInt(1))
-	end := big.NewInt(0).Sub(ipToBigInt(endIP), big.NewInt(1))
 
 	// Check that subnet is within network
-	if !(begin.Cmp(n.begin) >= 0 && end.Cmp(n.end) <= 0 && begin.Cmp(end) == -1) {
+	beginIP, endIP := netutils.NetworkRange(subnet)
+	if !(network.Contains(beginIP) && network.Contains(endIP)) {
 		return ErrBadSubnet
 	}
-	n.begin.Set(begin)
-	n.end.Set(end)
-	n.last.Sub(begin, big.NewInt(1))
+
+	n := newAllocatedMap(subnet)
 	a.allocatedIPs[key] = n
 	return nil
 }