Add check for overlapping subnets
Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
This commit is contained in:
parent
60d8639a81
commit
9fe5cc10b2
|
@ -262,12 +262,13 @@ func (aSpace *addrSpace) updatePoolDBOnAdd(k SubnetKey, nw *net.IPNet, ipr *Addr
|
||||||
defer aSpace.Unlock()
|
defer aSpace.Unlock()
|
||||||
|
|
||||||
// Check if already allocated
|
// Check if already allocated
|
||||||
if p, ok := aSpace.subnets[k]; ok {
|
if _, ok := aSpace.subnets[k]; ok {
|
||||||
if pdf {
|
if pdf {
|
||||||
return nil, types.InternalMaskableErrorf("predefined pool %s is already reserved", nw)
|
return nil, types.InternalMaskableErrorf("predefined pool %s is already reserved", nw)
|
||||||
}
|
}
|
||||||
aSpace.incRefCount(p, 1)
|
// This means the same pool is already allocated. updatePoolDBOnAdd is called when there
|
||||||
return func() error { return nil }, nil
|
// is request for a pool/subpool. It should ensure there is no overlap with existing pools
|
||||||
|
return nil, ipamapi.ErrPoolOverlap
|
||||||
}
|
}
|
||||||
|
|
||||||
// If master pool, check for overlap
|
// If master pool, check for overlap
|
||||||
|
|
Loading…
Reference in New Issue