package defaultipam
import "github.com/docker/docker/libnetwork/ipams/defaultipam"
Index ¶
- Constants
- func Register(ic ipamapi.Registerer, lAddrPools, gAddrPools []*ipamutils.NetworkToSplit) error
- type Allocator
- func NewAllocator(lcAs, glAs []*ipamutils.NetworkToSplit) (*Allocator, error)
- 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" )
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) IsBuiltIn ¶
IsBuiltIn returns true for builtin drivers
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
func (*PoolData) String ¶
String returns the string form of the PoolData object
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.
func (*PoolID) String ¶
String returns the string form of the SubnetKey object
type SubnetKey ¶
SubnetKey is the composite key to an address pool within an address space.
func (SubnetKey) Is6 ¶
Source Files ¶
address_space.go allocator.go structures.go
- Version
- v28.0.3+incompatible
- Published
- Mar 25, 2025
- Platform
- linux/amd64
- Imports
- 15 packages
- Last checked
- 2 hours ago –
Tools for package owners.