types

package
v1.20.0-pre.3 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

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.

Jump to

Keyboard shortcuts

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