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.Config(DefaultConfig), cell.Provide(NewLoader), cell.Provide(newCompilationLock), )
View Source
var DefaultConfig = Config{
DeriveMasqIPAddrFromDevice: "",
}
Functions ¶
func DeviceHasSKBProgramLoaded ¶ added in v1.16.0
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 NewLoaderForTest ¶
Types ¶
type Config ¶ added in v1.16.0
type Config struct {
// DeriveMasqIPAddrFromDevice specifies which device's IP addr is used for BPF masquerade.
// This is a hidden option and by default not set. Only needed in very specific setups
// with ECMP and multiple devices.
// See commit d204d789746b1389cc2ba02fdd55b81a2f55b76e for original context.
// This can be removed once https://github.com/cilium/cilium/issues/17158 is resolved.
DeriveMasqIPAddrFromDevice string
}
type Params ¶ added in v1.16.0
type Params struct {
cell.In
Config Config
DB *statedb.DB
NodeAddrs statedb.Table[tables.NodeAddress]
Sysctl sysctl.Sysctl
Devices statedb.Table[*tables.Device]
Prefilter datapath.PreFilter
CompilationLock datapath.CompilationLock
ConfigWriter datapath.ConfigWriter
LocalNodeConfig datapath.LocalNodeConfiguration
NodeHandler datapath.NodeHandler
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.