watchers

package
v0.18.1-calicov3.21.2 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2022 License: Apache-2.0, Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewIPAMCache

func NewIPAMCache(vpp *vpplink.VppLink, clientv3 calicov3cli.Interface, log *logrus.Entry) *ipamCache

create new IPAM cache

Types

type BGPConfigurationWatcher

type BGPConfigurationWatcher struct {
	BGPConfigurationWatcherEventChan chan common.CalicoVppEvent
	BGPConf                          *calicov3.BGPConfigurationSpec
	// contains filtered or unexported fields
}

func NewBGPConfigurationWatcher

func NewBGPConfigurationWatcher(clientv3 calicov3cli.Interface, log *logrus.Entry) *BGPConfigurationWatcher

func (*BGPConfigurationWatcher) GetBGPConf

For now, this doesn't watch the BGP configuration nor produce events

func (*BGPConfigurationWatcher) OnVppRestart

func (w *BGPConfigurationWatcher) OnVppRestart()

func (*BGPConfigurationWatcher) WatchBGPConfiguration

func (w *BGPConfigurationWatcher) WatchBGPConfiguration(t *tomb.Tomb) error

type FelixConfWatcher

type FelixConfWatcher struct {
	// contains filtered or unexported fields
}

func NewFelixConfWatcher

func NewFelixConfWatcher(clientv3 calicov3cli.Interface, log *logrus.Entry) *FelixConfWatcher

func NewFelixProxyWatcher

func NewFelixProxyWatcher(log *logrus.Entry) *FelixConfWatcher

func (*FelixConfWatcher) OnVppRestart

func (w *FelixConfWatcher) OnVppRestart()

func (*FelixConfWatcher) WatchFelixConfiguration

func (w *FelixConfWatcher) WatchFelixConfiguration(t *tomb.Tomb) error

type FelixProxyWatcher

type FelixProxyWatcher struct {
	// contains filtered or unexported fields
}

type IpamCache

type IpamCache interface {
	GetPrefixIPPool(*net.IPNet) *calicov3.IPPool
	SyncIPAM(t *tomb.Tomb) error
	WaitReady()
	OnVppRestart()
	IPNetNeedsSNAT(prefix *net.IPNet) bool
}

type KernelWatcher

type KernelWatcher struct {
	// contains filtered or unexported fields
}

func NewKernelWatcher

func NewKernelWatcher(ipam IpamCache, log *logrus.Entry) *KernelWatcher

func (*KernelWatcher) OnVppRestart

func (w *KernelWatcher) OnVppRestart()

func (*KernelWatcher) SetOurBGPSpec

func (w *KernelWatcher) SetOurBGPSpec(nodeBGPSpec *oldv3.NodeBGPSpec)

func (*KernelWatcher) WatchKernelRoute

func (w *KernelWatcher) WatchKernelRoute(t *tomb.Tomb) error

watchKernelRoute receives netlink route update notification and announces kernel/boot routes using BGP. TODO: should we leverage this to update VPP routes as well?

type LocalSIDWatcher

type LocalSIDWatcher struct {
	// contains filtered or unexported fields
}

func NewLocalSIDWatcher

func NewLocalSIDWatcher(vpp *vpplink.VppLink, clientv3 calicov3cli.Interface, log *logrus.Entry) *LocalSIDWatcher

func (*LocalSIDWatcher) AdvertiseSRv6Policy

func (p *LocalSIDWatcher) AdvertiseSRv6Policy(localsid *types.SrLocalsid) (err error)

func (*LocalSIDWatcher) OnVppRestart

func (w *LocalSIDWatcher) OnVppRestart()

func (*LocalSIDWatcher) SetOurBGPSpec

func (w *LocalSIDWatcher) SetOurBGPSpec(nodeBGPSpec *oldv3.NodeBGPSpec)

func (*LocalSIDWatcher) WatchLocalSID

func (w *LocalSIDWatcher) WatchLocalSID(t *tomb.Tomb) error

type NodeWatcher

type NodeWatcher struct {
	// contains filtered or unexported fields
}

func NewNodeWatcher

func NewNodeWatcher(vpp *vpplink.VppLink, clientv3 calicov3cli.Interface, log *logrus.Entry) *NodeWatcher

func (*NodeWatcher) OnVppRestart

func (w *NodeWatcher) OnVppRestart()

func (*NodeWatcher) WaitForOurBGPSpec

func (w *NodeWatcher) WaitForOurBGPSpec() *oldv3.NodeBGPSpec

func (*NodeWatcher) WatchNodes

func (w *NodeWatcher) WatchNodes(t *tomb.Tomb) error

type PeerWatcher

type PeerWatcher struct {
	BGPConf *calicov3.BGPConfigurationSpec
	// contains filtered or unexported fields
}

func NewPeerWatcher

func NewPeerWatcher(clientv3 calicov3cli.Interface, log *logrus.Entry) *PeerWatcher

func (*PeerWatcher) OnVppRestart

func (w *PeerWatcher) OnVppRestart()

func (*PeerWatcher) SetBGPConf

func (w *PeerWatcher) SetBGPConf(bgpConf *calicov3.BGPConfigurationSpec)

func (*PeerWatcher) WatchBGPPeers

func (w *PeerWatcher) WatchBGPPeers(t *tomb.Tomb) error

This function watches BGP peers configured in Calico These peers are configured in GoBGP in addition to the other nodes in the cluster They may also control which nodes to pair with if the peerSelector is set

type PrefixWatcher

type PrefixWatcher struct {
	// contains filtered or unexported fields
}

func NewPrefixWatcher

func NewPrefixWatcher(client *calicocli.Client, log *logrus.Entry) *PrefixWatcher

func (*PrefixWatcher) OnVppRestart

func (w *PrefixWatcher) OnVppRestart()

func (*PrefixWatcher) SetOurBGPSpec

func (w *PrefixWatcher) SetOurBGPSpec(nodeBGPSpec *oldv3.NodeBGPSpec)

func (*PrefixWatcher) WatchPrefix

func (w *PrefixWatcher) WatchPrefix(t *tomb.Tomb) error

watchPrefix watches etcd /calico/ipam/v2/host/$NODENAME and add/delete aggregated routes which are assigned to the node. This function also updates policy appropriately.

Jump to

Keyboard shortcuts

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