Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IPAMConfig ¶
type IPAMConfig struct {
*Range
Name string
Type string `json:"type"`
Routes []*types.Route `json:"routes"`
IPArgs []net.IP `json:"-"` // Requested IPs from CNI_ARGS and args
ResolvConf string `json:"resolvConf"`
OpenStackConf *OpenStackConf `json:"openstackConf"`
NeutronConf *NeutronConf `json:"neutronConf"`
}
IPAMConfig represents the IP related network configuration. This nests Range because we initially only supported a single range directly, and wish to preserve backwards compatability
func LoadIPAMConfig ¶
func LoadIPAMConfig(bytes []byte, envArgs string) (*IPAMConfig, string, error)
NewIPAMConfig creates a NetworkConfig from the given network name.
type IPAMEnvArgs ¶
type IPAMEnvArgs struct {
types.CommonArgs
IP net.IP `json:"ip,omitempty"`
}
type IPAllocator ¶
type IPAllocator struct {
// contains filtered or unexported fields
}
func NewIPAllocator ¶
func NewIPAllocator(store backend.Store) *IPAllocator
func (*IPAllocator) Get ¶
func (a *IPAllocator) Get(id string) (*current.IPConfig, error)
Get alocates an IP
func (*IPAllocator) Release ¶
func (a *IPAllocator) Release(id string) error
Release clears all IPs allocated for the container with given ID
type Net ¶
type Net struct {
Name string `json:"name"`
CNIVersion string `json:"cniVersion"`
IPAM *IPAMConfig `json:"ipam"`
RuntimeConfig struct {
IPRanges []RangeSet `json:"ipRanges,omitempty"`
} `json:"runtimeConfig,omitempty"`
Args *struct {
A *IPAMArgs `json:"cni"`
} `json:"args"`
}
The top-level network config - IPAM plugins are passed the full configuration of the calling plugin, not just the IPAM section.
type NeutronConf ¶
type OpenStackConf ¶
type Range ¶
type Range struct {
RangeStart net.IP `json:"rangeStart,omitempty"` // The first ip, inclusive
RangeEnd net.IP `json:"rangeEnd,omitempty"` // The last ip, inclusive
Subnet types.IPNet `json:"subnet"`
Gateway net.IP `json:"gateway,omitempty"`
}
func (*Range) Canonicalize ¶
Canonicalize takes a given range and ensures that all information is consistent, filling out Start, End, and Gateway with sane values if missing
func (*Range) Contains ¶
IsValidIP checks if a given ip is a valid, allocatable address in a given Range
type RangeSet ¶
type RangeSet []Range
func (*RangeSet) Canonicalize ¶
Canonicalize ensures the RangeSet is in a standard form, and detects any invalid input. Call Range.Canonicalize() on every Range in the set