Documentation ¶
Index ¶
- type LinuxArpConfigurator
- func (plugin *LinuxArpConfigurator) Close() error
- func (plugin *LinuxArpConfigurator) ConfigureLinuxStaticArpEntry(arpEntry *l3.LinuxStaticArpEntries_ArpEntry) error
- func (plugin *LinuxArpConfigurator) DeleteLinuxStaticArpEntry(arpEntry *l3.LinuxStaticArpEntries_ArpEntry) (err error)
- func (plugin *LinuxArpConfigurator) Init(arpIndexes l3idx.LinuxARPIndexRW) error
- func (plugin *LinuxArpConfigurator) LookupLinuxArpEntries() error
- func (plugin *LinuxArpConfigurator) ModifyLinuxStaticArpEntry(newArpEntry *l3.LinuxStaticArpEntries_ArpEntry, ...) (err error)
- func (plugin *LinuxArpConfigurator) ResolveCreatedInterface(ifName string, ifIdx uint32) error
- func (plugin *LinuxArpConfigurator) ResolveDeletedInterface(ifName string, ifIdx uint32) error
- func (plugin *LinuxArpConfigurator) Resync(arpEntries []*l3.LinuxStaticArpEntries_ArpEntry) (errs []error)
- type LinuxRouteConfigurator
- func (plugin *LinuxRouteConfigurator) Close() error
- func (plugin *LinuxRouteConfigurator) ConfigureLinuxStaticRoute(route *l3.LinuxStaticRoutes_Route) error
- func (plugin *LinuxRouteConfigurator) DeleteLinuxStaticRoute(route *l3.LinuxStaticRoutes_Route) error
- func (plugin *LinuxRouteConfigurator) Init(rtIndices, rtAutoIndices, rtCachedIndexes l3idx.LinuxRouteIndexRW) error
- func (plugin *LinuxRouteConfigurator) ModifyLinuxStaticRoute(newRoute *l3.LinuxStaticRoutes_Route, oldRoute *l3.LinuxStaticRoutes_Route) error
- func (plugin *LinuxRouteConfigurator) ResolveCreatedInterface(name string, index uint32) error
- func (plugin *LinuxRouteConfigurator) ResolveDeletedInterface(name string, index uint32) error
- func (plugin *LinuxRouteConfigurator) Resync(nbRoutes []*l3.LinuxStaticRoutes_Route) (errs []error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LinuxArpConfigurator ¶
type LinuxArpConfigurator struct { Log logging.Logger NsHandler *nsplugin.NsHandler LinuxIfIdx ifaceidx.LinuxIfIndexRW ArpIdxSeq uint32 // Time measurement Stopwatch *measure.Stopwatch // timer used to measure and store time // contains filtered or unexported fields }
LinuxArpConfigurator watches for any changes in the configuration of static ARPs as modelled by the proto file "model/l3/l3.proto" and stored in ETCD under the key "/vnf-agent/{vnf-agent}/linux/config/v1/arp". Updates received from the northbound API are compared with the Linux network configuration and differences are applied through the Netlink AP
func (*LinuxArpConfigurator) Close ¶
func (plugin *LinuxArpConfigurator) Close() error
Close closes all goroutines started during Init
func (*LinuxArpConfigurator) ConfigureLinuxStaticArpEntry ¶
func (plugin *LinuxArpConfigurator) ConfigureLinuxStaticArpEntry(arpEntry *l3.LinuxStaticArpEntries_ArpEntry) error
ConfigureLinuxStaticArpEntry reacts to a new northbound Linux ARP entry config by creating and configuring the entry in the host network stack through Netlink API.
func (*LinuxArpConfigurator) DeleteLinuxStaticArpEntry ¶
func (plugin *LinuxArpConfigurator) DeleteLinuxStaticArpEntry(arpEntry *l3.LinuxStaticArpEntries_ArpEntry) (err error)
DeleteLinuxStaticArpEntry reacts to a removed NB configuration of a Linux ARP entry.
func (*LinuxArpConfigurator) Init ¶
func (plugin *LinuxArpConfigurator) Init(arpIndexes l3idx.LinuxARPIndexRW) error
Init initializes ARP configurator and starts goroutines
func (*LinuxArpConfigurator) LookupLinuxArpEntries ¶
func (plugin *LinuxArpConfigurator) LookupLinuxArpEntries() error
LookupLinuxArpEntries reads all ARP entries from all interfaces and registers them if needed
func (*LinuxArpConfigurator) ModifyLinuxStaticArpEntry ¶
func (plugin *LinuxArpConfigurator) ModifyLinuxStaticArpEntry(newArpEntry *l3.LinuxStaticArpEntries_ArpEntry, oldArpEntry *l3.LinuxStaticArpEntries_ArpEntry) (err error)
ModifyLinuxStaticArpEntry applies changes in the NB configuration of a Linux ARP through Netlink API.
func (*LinuxArpConfigurator) ResolveCreatedInterface ¶ added in v1.4.0
func (plugin *LinuxArpConfigurator) ResolveCreatedInterface(ifName string, ifIdx uint32) error
ResolveCreatedInterface resolves a new linux interface from ARP perspective
func (*LinuxArpConfigurator) ResolveDeletedInterface ¶ added in v1.4.0
func (plugin *LinuxArpConfigurator) ResolveDeletedInterface(ifName string, ifIdx uint32) error
ResolveDeletedInterface resolves removed linux interface from ARP perspective
func (*LinuxArpConfigurator) Resync ¶
func (plugin *LinuxArpConfigurator) Resync(arpEntries []*l3.LinuxStaticArpEntries_ArpEntry) (errs []error)
Resync configures an initial set of ARPs. Existing Linux ARPs are registered and potentially re-configured.
type LinuxRouteConfigurator ¶
type LinuxRouteConfigurator struct { Log logging.Logger NsHandler *nsplugin.NsHandler LinuxIfIdx ifaceidx.LinuxIfIndexRW RouteIdxSeq uint32 // Time measurement Stopwatch *measure.Stopwatch // timer used to measure and store time // contains filtered or unexported fields }
LinuxRouteConfigurator watches for any changes in the configuration of static routes as modelled by the proto file "model/l3/l3.proto" and stored in ETCD under the key "/vnf-agent/{vnf-agent}/linux/config/v1/route". Updates received from the northbound API are compared with the Linux network configuration and differences are applied through the Netlink AP
func (*LinuxRouteConfigurator) Close ¶
func (plugin *LinuxRouteConfigurator) Close() error
Close closes all goroutines started during Init
func (*LinuxRouteConfigurator) ConfigureLinuxStaticRoute ¶
func (plugin *LinuxRouteConfigurator) ConfigureLinuxStaticRoute(route *l3.LinuxStaticRoutes_Route) error
ConfigureLinuxStaticRoute reacts to a new northbound Linux static route config by creating and configuring the route in the host network stack through Netlink API.
func (*LinuxRouteConfigurator) DeleteLinuxStaticRoute ¶
func (plugin *LinuxRouteConfigurator) DeleteLinuxStaticRoute(route *l3.LinuxStaticRoutes_Route) error
DeleteLinuxStaticRoute reacts to a removed NB configuration of a Linux static route entry.
func (*LinuxRouteConfigurator) Init ¶
func (plugin *LinuxRouteConfigurator) Init(rtIndices, rtAutoIndices, rtCachedIndexes l3idx.LinuxRouteIndexRW) error
Init initializes static route configurator and starts goroutines
func (*LinuxRouteConfigurator) ModifyLinuxStaticRoute ¶
func (plugin *LinuxRouteConfigurator) ModifyLinuxStaticRoute(newRoute *l3.LinuxStaticRoutes_Route, oldRoute *l3.LinuxStaticRoutes_Route) error
ModifyLinuxStaticRoute applies changes in the NB configuration of a Linux static route into the host network stack through Netlink API.
func (*LinuxRouteConfigurator) ResolveCreatedInterface ¶ added in v1.0.8
func (plugin *LinuxRouteConfigurator) ResolveCreatedInterface(name string, index uint32) error
ResolveCreatedInterface manages static routes for new interface. Linux interface also creates its own route which can make other routes accessible and ready to create - the case is also resolved here.
func (*LinuxRouteConfigurator) ResolveDeletedInterface ¶ added in v1.0.8
func (plugin *LinuxRouteConfigurator) ResolveDeletedInterface(name string, index uint32) error
ResolveDeletedInterface manages static routes for removed interface
func (*LinuxRouteConfigurator) Resync ¶
func (plugin *LinuxRouteConfigurator) Resync(nbRoutes []*l3.LinuxStaticRoutes_Route) (errs []error)
Resync configures an initial set of static routes. Existing Linux static routes are registered and potentially re-configured. Resync does not remove any linux route.
Directories ¶
Path | Synopsis |
---|---|
Package l3idx implements name-to-index mapping registry and cache for Linux static arp entries and static routes.
|
Package l3idx implements name-to-index mapping registry and cache for Linux static arp entries and static routes. |