Documentation
¶
Overview ¶
Package linuxplugin implements the Linux plugin that handles management of Linux VETH interfaces.
Index ¶
Constants ¶
This section is empty.
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
// GetLinuxIfIndexes gives access to mapping of logical names (used in ETCD configuration) to corresponding Linux
// ARP entry indexes. This mapping is especially helpful for plugins that need to watch for newly added or deleted
// Linux ARP entries.
GetLinuxARPIndexes() l3idx.LinuxARPIndex
// GetLinuxIfIndexes gives access to mapping of logical names (used in ETCD configuration) to corresponding Linux
// route indexes. This mapping is especially helpful for plugins that need to watch for newly added or deleted
// Linux routes.
GetLinuxRouteIndexes() l3idx.LinuxRouteIndex
}
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
WatchEventsMutex *sync.Mutex
}
Deps groups injected dependencies of plugin so that they do 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) GetLinuxARPIndexes ¶ added in v1.0.8
func (plugin *Plugin) GetLinuxARPIndexes() l3idx.LinuxARPIndex
GetLinuxARPIndexes gives access to mapping of logical names (used in ETCD configuration) to corresponding Linux ARP entry indexes.
func (*Plugin) GetLinuxIfIndexes ¶
func (plugin *Plugin) GetLinuxIfIndexes() ifaceidx.LinuxIfIndex
GetLinuxIfIndexes gives access to mapping of logical names (used in ETCD configuration) interface indexes.
func (*Plugin) GetLinuxRouteIndexes ¶ added in v1.0.8
func (plugin *Plugin) GetLinuxRouteIndexes() l3idx.LinuxRouteIndex
GetLinuxRouteIndexes gives access to mapping of logical names (used in ETCD configuration) to corresponding Linux route indexes.
Source Files
¶
- data_change.go
- data_resync.go
- linuxplugin_api.go
- linuxplugin_init.go
- watch_events.go
Directories
¶
| Path | Synopsis |
|---|---|
|
common
|
|
|
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. |
|
model/l3
Package l3 is a generated protocol buffer package.
|
Package l3 is a generated protocol buffer package. |
|
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 Linux interfaces in general.
|
Package linuxcalls contains wrappers over Netlink APIs related to Linux VETH interfaces or Linux interfaces in general. |
|
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. |