loader

package
v1.17.0-pre.1 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: Apache-2.0 Imports: 55 Imported by: 17

Documentation

Overview

Package loader provides accessors to compilation and BPF load routines necessary for creating datapath objects and attaching them to links.

Index

Constants

This section is empty.

Variables

View Source
var Cell = cell.Module(
	"loader",
	"Loader",

	cell.Provide(NewLoader),
	cell.Provide(NewCompilationLock),
)

Functions

func DetachXDP added in v1.15.0

func DetachXDP(ifaceName string, bpffsBase, progName string) error

DetachXDP removes an XDP program from a network interface. On kernels before 4.15, always removes the XDP program regardless of progName.

bpffsBase is typically /sys/fs/bpf/cilium, but can be overridden to a tempdir during tests.

func DeviceHasSKBProgramLoaded added in v1.16.0

func DeviceHasSKBProgramLoaded(device string, checkEgress bool) (bool, error)

DeviceHasSKBProgramLoaded returns true if the given device has a tc(x) program attached.

If checkEgress is true, returns true if there's both an ingress and egress program attached.

func ELFMapSubstitutions added in v1.16.0

func ELFMapSubstitutions(ep datapath.Endpoint) map[string]string

ELFMapSubstitutions returns the set of map substitutions that must occur in an ELF template object file to update map references for the specified endpoint.

func ELFVariableSubstitutions added in v1.16.0

func ELFVariableSubstitutions(ep datapath.Endpoint) map[string]uint64

ELFVariableSubstitutions returns the set of data substitutions that must occur in an ELF template object file to update static data for the specified endpoint.

func NewCompilationLock added in v1.16.0

func NewCompilationLock() types.CompilationLock

func NewLoader

func NewLoader(p Params) datapath.Loader

NewLoader returns a new loader.

Types

type Params added in v1.16.0

type Params struct {
	cell.In

	Sysctl          sysctl.Sysctl
	Prefilter       datapath.PreFilter
	CompilationLock datapath.CompilationLock
	ConfigWriter    datapath.ConfigWriter
	NodeHandler     datapath.NodeHandler

	// Force map initialisation before loader. You should not use these otherwise.
	// Some of the entries in this slice may be nil.
	BpfMaps []bpf.BpfMap `group:"bpf-maps"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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