cidrset

package
v1.31.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2024 License: Apache-2.0 Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrCIDRRangeNoCIDRsRemaining occurs when there is no more space
	// to allocate CIDR ranges.
	ErrCIDRRangeNoCIDRsRemaining = errors.New(
		"CIDR allocation failed; there are no remaining CIDRs left to allocate in the accepted range")
	// ErrCIDRSetSubNetTooBig occurs when the subnet mask size is too
	// big compared to the CIDR mask size.
	ErrCIDRSetSubNetTooBig = errors.New(
		"New CIDR set failed; the node CIDR size is too big")
)

Functions

This section is empty.

Types

type CidrSet

type CidrSet struct {
	sync.Mutex
	// contains filtered or unexported fields
}

CidrSet manages a set of CIDR ranges from which blocks of IPs can be allocated from.

func NewCIDRSet

func NewCIDRSet(clusterCIDR *net.IPNet, subNetMaskSize int) (*CidrSet, error)

NewCIDRSet creates a new CidrSet.

func (*CidrSet) AllocateNext

func (s *CidrSet) AllocateNext() (*net.IPNet, error)

AllocateNext allocates the next free CIDR range. This will set the range as occupied and return the allocated range.

func (*CidrSet) AllocateNextWithNodeMaskSize added in v0.7.3

func (s *CidrSet) AllocateNextWithNodeMaskSize(nodeMaskSize int) (*net.IPNet, error)

AllocateNextWithNodeMaskSize allocates the next free CIDR range with the given node subnet mask size. This will set the range as occupied and return the allocated range.

func (*CidrSet) Occupy

func (s *CidrSet) Occupy(cidr *net.IPNet) (err error)

Occupy marks the given CIDR range as used. Occupy succeeds even if the CIDR range was previously used.

func (*CidrSet) Release

func (s *CidrSet) Release(cidr *net.IPNet) error

Release releases the given CIDR range.

func (*CidrSet) UpdateSubnetMaskSize added in v0.7.3

func (s *CidrSet) UpdateSubnetMaskSize(newNodeMaskSize int, nodeNamePodCIDRMap map[string][]string) error

UpdateSubnetMaskSize updates the node subnet mask sizes to the new value

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL