Versions in this module Expand all Collapse all v0 v0.3.1 Aug 28, 2020 v0.3.0 Aug 28, 2020 Changes in this version + const DefaultSyncInterval + type AssignIPResponse struct + Address string + EIPRefName string + type CIDRResource struct + CIDRs []*net.IPNet + EIPRefName string + Protocol string + Size int + Used map[string]*EIPRef + UsingKnownIPs bool + func (c *CIDRResource) Contains(ip net.IP) bool + func (c *CIDRResource) IntersectsWith(ipnets []*net.IPNet) bool + func (c *CIDRResource) IsFull() bool + type DataStore struct + IPPool map[string]*CIDRResource + func NewDataStore(log logr.Logger, bgpServer bgpserver.AnnounceBgp) *DataStore + func (d *DataStore) AddEIPPool(eip string, name string, usingKnownIPs bool, protocol string) error + func (d *DataStore) AssignIP(serviceName, ns string, protocol string) (*AssignIPResponse, error) + func (d *DataStore) AssignSpecifyIP(ipstr, protocol, serviceName, ns string) (*AssignIPResponse, error) + func (d *DataStore) DelBalancer(ip string) error + func (d *DataStore) GetEIPStatus(eip string) *EIPStatus + func (d *DataStore) GetPoolUsage(name string) (v1alpha1.EipStatus, error) + func (d *DataStore) RemoveEIPPool(eip, name string) error + func (d *DataStore) SetBalancer(ip string, nexthops []string) error + func (d *DataStore) UnassignIP(ipstr string) error + type EIPRef struct + Address string + EIPRefName string + Service types.NamespacedName + type EIPStatus struct + EIPRef *EIPRef + Exist bool + Used bool + type IPAM struct + func NewIPAM(log logr.Logger, ds *DataStore) *IPAM + func (i *IPAM) Reconcile(req ctrl.Request) (ctrl.Result, error) + func (i *IPAM) SetupWithManager(mgr manager.Manager) error + func (i *IPAM) Start(stop <-chan struct{}) error