Documentation ¶
Index ¶
- Constants
- func Register(ic ipamapi.Registerer, lAddrPools, gAddrPools []*ipamutils.NetworkToSplit) error
- type Allocator
- func (a *Allocator) GetDefaultAddressSpaces() (string, string, error)
- func (a *Allocator) IsBuiltIn() bool
- func (a *Allocator) ReleaseAddress(poolID string, address net.IP) error
- func (a *Allocator) ReleasePool(poolID string) error
- func (a *Allocator) RequestAddress(poolID string, prefAddress net.IP, opts map[string]string) (*net.IPNet, map[string]string, error)
- func (a *Allocator) RequestPool(req ipamapi.PoolRequest) (ipamapi.AllocatedPool, error)
- type PoolData
- type PoolID
- type SubnetKey
Constants ¶
const (
// DriverName is the name of the built-in default IPAM driver.
DriverName = "default"
)
Variables ¶
This section is empty.
Functions ¶
func Register ¶
func Register(ic ipamapi.Registerer, lAddrPools, gAddrPools []*ipamutils.NetworkToSplit) error
Register registers the default ipam driver with libnetwork. It takes two optional address pools respectively containing the list of user-defined address pools for 'local' and 'global' address spaces.
Types ¶
type Allocator ¶
type Allocator struct {
// contains filtered or unexported fields
}
Allocator provides per address space ipv4/ipv6 bookkeeping
func NewAllocator ¶
func NewAllocator(lcAs, glAs []*ipamutils.NetworkToSplit) (*Allocator, error)
NewAllocator returns an instance of libnetwork ipam
func (*Allocator) GetDefaultAddressSpaces ¶
GetDefaultAddressSpaces returns the local and global default address spaces
func (*Allocator) ReleaseAddress ¶
ReleaseAddress releases the address from the specified pool ID
func (*Allocator) ReleasePool ¶
ReleasePool releases the address pool identified by the passed id
func (*Allocator) RequestAddress ¶
func (a *Allocator) RequestAddress(poolID string, prefAddress net.IP, opts map[string]string) (*net.IPNet, map[string]string, error)
RequestAddress returns an address from the specified pool ID
func (*Allocator) RequestPool ¶
func (a *Allocator) RequestPool(req ipamapi.PoolRequest) (ipamapi.AllocatedPool, error)
RequestPool returns an address pool along with its unique id. addressSpace must be a valid address space name and must not be the empty string. If requestedPool is the empty string then the default predefined pool for addressSpace will be used, otherwise pool must be a valid IP address and length in CIDR notation. If requestedSubPool is not empty, it must be a valid IP address and length in CIDR notation which is a sub-range of requestedPool. requestedSubPool must be empty if requestedPool is empty.
type PoolData ¶
type PoolData struct {
// contains filtered or unexported fields
}
PoolData contains the configured pool data
type PoolID ¶
PoolID is the pointer to the configured pools in each address space
func PoolIDFromString ¶
PoolIDFromString creates a new PoolID and populates the SubnetKey object reading it from the given string.