浏览代码

Merge pull request #130 from junxu/master

Simplify the code in the RegisterSubnet method of ipallocator.
Madhu Venugopal 10 年之前
父节点
当前提交
b9fc99be2c
共有 1 个文件被更改,包括 4 次插入8 次删除
  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
 }