Documentation ¶
Overview ¶
Package linuxplugin implements the Linux plugin that handles management of Linux VETH interfaces.
Index ¶
Constants ¶
const PluginID core.PluginName = "linuxplugin"
PluginID used in the Agent Core flavors
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶ added in v1.0.4
type API interface { // GetLinuxIfIndexes gives access to mapping of logical names (used in ETCD configuration) to corresponding Linux // interface indexes. This mapping is especially helpful for plugins that need to watch for newly added or deleted // Linux interfaces. GetLinuxIfIndexes() ifaceidx.LinuxIfIndex }
API of Linux Plugin
type DataResyncReq ¶
type DataResyncReq struct { // Interfaces is a list af all interfaces that are expected to be in Linux after RESYNC Interfaces []*interfaces.LinuxInterfaces_Interface // ARPs is a list af all arp entries that are expected to be in Linux after RESYNC ARPs []*l3.LinuxStaticArpEntries_ArpEntry // Routes is a list af all routes that are expected to be in Linux after RESYNC Routes []*l3.LinuxStaticRoutes_Route }
DataResyncReq is used to transfer expected configuration of the Linux network stack to the plugins
func NewDataResyncReq ¶
func NewDataResyncReq() *DataResyncReq
NewDataResyncReq is a constructor of object requirements which are expected to be re-synced
type Deps ¶ added in v1.0.2
type Deps struct { local.PluginInfraDeps // injected Watcher datasync.KeyValProtoWatcher // injected }
Deps is here to group injected dependencies of plugin to not mix with other plugin fields.
type LinuxConfig ¶ added in v1.0.6
type LinuxConfig struct {
Stopwatch bool `json:"Stopwatch"`
}
LinuxConfig holds the linuxplugin configuration
type Plugin ¶
type Plugin struct { Deps // contains filtered or unexported fields }
Plugin implements Plugin interface, therefore it can be loaded with other plugins
func (*Plugin) GetLinuxIfIndexes ¶
func (plugin *Plugin) GetLinuxIfIndexes() ifaceidx.LinuxIfIndex
GetLinuxIfIndexes gives access to mapping of logical names (used in ETCD configuration) to corresponding Linux interface indexes. This mapping is especially helpful for plugins that need to watch for newly added or deleted Linux interfaces.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
ifaceidx
Package ifaceidx implements name-to-index mapping registry and cache for Linux interfaces.
|
Package ifaceidx implements name-to-index mapping registry and cache for Linux interfaces. |
linuxcalls
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or to Linux interfaces in general.
|
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or to Linux interfaces in general. |
model
Package model defines the linuxplugin's northbound API.
|
Package model defines the linuxplugin's northbound API. |
model/interfaces
Package interfaces is a generated protocol buffer package.
|
Package interfaces is a generated protocol buffer package. |
l3idx
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. |
model/l3
Package l3 is a generated protocol buffer package.
|
Package l3 is a generated protocol buffer package. |