@@ -416,32 +416,32 @@ func (a *Allocator) getPredefinedPool(as string, ipV6 bool) (*net.IPNet, error)
416416}
417417
418418// RequestAddress returns an address from the specified pool ID
419- func (a * Allocator ) RequestAddress (poolID string , prefAddress net.IP , opts map [string ]string ) (* net.IPNet , map [string ]string , error ) {
419+ func (a * Allocator ) RequestAddress (poolID string , prefAddress net.IP , opts map [string ]string ) (* net.IPNet , [] string , [] string , map [string ]string , error ) {
420420 log .Debugf ("RequestAddress(%s, %v, %v)" , poolID , prefAddress , opts )
421421 k := SubnetKey {}
422422 if err := k .FromString (poolID ); err != nil {
423- return nil , nil , types .BadRequestErrorf ("invalid pool id: %s" , poolID )
423+ return nil , nil , nil , nil , types .BadRequestErrorf ("invalid pool id: %s" , poolID )
424424 }
425425
426426 if err := a .refresh (k .AddressSpace ); err != nil {
427- return nil , nil , err
427+ return nil , nil , nil , nil , err
428428 }
429429
430430 aSpace , err := a .getAddrSpace (k .AddressSpace )
431431 if err != nil {
432- return nil , nil , err
432+ return nil , nil , nil , nil , err
433433 }
434434
435435 aSpace .Lock ()
436436 p , ok := aSpace .subnets [k ]
437437 if ! ok {
438438 aSpace .Unlock ()
439- return nil , nil , types .NotFoundErrorf ("cannot find address pool for poolID:%s" , poolID )
439+ return nil , nil , nil , nil , types .NotFoundErrorf ("cannot find address pool for poolID:%s" , poolID )
440440 }
441441
442442 if prefAddress != nil && ! p .Pool .Contains (prefAddress ) {
443443 aSpace .Unlock ()
444- return nil , nil , ipamapi .ErrIPOutOfRange
444+ return nil , nil , nil , nil , ipamapi .ErrIPOutOfRange
445445 }
446446
447447 c := p
@@ -453,15 +453,15 @@ func (a *Allocator) RequestAddress(poolID string, prefAddress net.IP, opts map[s
453453
454454 bm , err := a .retrieveBitmask (k , c .Pool )
455455 if err != nil {
456- return nil , nil , types .InternalErrorf ("could not find bitmask in datastore for %s on address %v request from pool %s: %v" ,
456+ return nil , nil , nil , nil , types .InternalErrorf ("could not find bitmask in datastore for %s on address %v request from pool %s: %v" ,
457457 k .String (), prefAddress , poolID , err )
458458 }
459459 ip , err := a .getAddress (p .Pool , bm , prefAddress , p .Range )
460460 if err != nil {
461- return nil , nil , err
461+ return nil , nil , nil , nil , err
462462 }
463463
464- return & net.IPNet {IP : ip , Mask : p .Pool .Mask }, nil , nil
464+ return & net.IPNet {IP : ip , Mask : p .Pool .Mask }, nil , nil , nil , nil
465465}
466466
467467// ReleaseAddress releases the address from the specified pool ID
0 commit comments