Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompilationLock ¶
type CompilationLock interface {
Lock()
Unlock()
RLock()
RUnlock()
}
CompilationLock is a interface over a mutex, it is used by both the loader, daemon and endpoint manager to lock the compilation process. This is a bit of a layer violation since certain methods on the loader such as CompileAndLoad and CompileOrLoad expect the lock to be taken before being called.
Once we have moved header file generation from the endpoint manager into the loader, we can remove this interface and have the loader manage the lock internally.
type Loader ¶
type Loader interface {
CallsMapPath(id uint16) string
Unload(ep endpoint.Endpoint)
HostDatapathInitialized() <-chan struct{}
ReloadDatapath(ctx context.Context, ep endpoint.Endpoint, cfg *config.Config, stats *metrics.SpanStat) (string, error)
EndpointHash(cfg endpoint.Config, lnCfg *config.Config) (string, error)
ReinitializeHostDev(ctx context.Context, mtu int) error
Reinitialize(ctx context.Context, cfg *config.Config, tunnelConfig tunnel.Config, iptMgr iptables.Manager, p proxy.Proxy, bigtcp bigtcp.Config) error
WriteEndpointConfig(w io.Writer, cfg endpoint.Config) error
}
Loader is an interface to abstract out loading of datapath programs.
Click to show internal directories.
Click to hide internal directories.