maps

package
v1.18.0-pre.3 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2025 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cell = cell.Module(
	"loadbalancer-maps",
	"Load-balancing BPF maps",

	cell.Provide(newLBMaps),

	cell.Provide(scriptCommands),

	cell.Provide(NetnsCookieSupportFunc),

	cell.Invoke(registerPressureMetricsReporter),
)

Provides [LBMap] a wrapper around the load-balancing BPF maps

Functions

This section is empty.

Types

type BPFLBMaps

type BPFLBMaps struct {
	// Pinned if true will pin the maps to a file. Tests may turn this off.
	Pinned bool

	Log       *slog.Logger
	Cfg       loadbalancer.Config
	ExtCfg    loadbalancer.ExternalConfig
	MaglevCfg maglev.Config
	// contains filtered or unexported fields
}

func (*BPFLBMaps) DeleteAffinityMatch

func (r *BPFLBMaps) DeleteAffinityMatch(key *lbmap.AffinityMatchKey) error

DeleteAffinityMatch implements lbmaps.

func (*BPFLBMaps) DeleteBackend

func (r *BPFLBMaps) DeleteBackend(key lbmap.BackendKey) error

DeleteBackend implements lbmaps.

func (*BPFLBMaps) DeleteMaglev

func (r *BPFLBMaps) DeleteMaglev(key lbmap.MaglevOuterKey, ipv6 bool) error

DeleteMaglev implements lbmaps.

func (*BPFLBMaps) DeleteRevNat

func (r *BPFLBMaps) DeleteRevNat(key lbmap.RevNatKey) error

DeleteRevNat implements lbmaps.

func (*BPFLBMaps) DeleteService

func (r *BPFLBMaps) DeleteService(key lbmap.ServiceKey) error

DeleteService implements lbmaps.

func (*BPFLBMaps) DeleteSockRevNat

func (r *BPFLBMaps) DeleteSockRevNat(cookie uint64, addr net.IP, port uint16) error

DeleteSockRevNat implements LBMaps.

func (*BPFLBMaps) DeleteSourceRange

func (r *BPFLBMaps) DeleteSourceRange(key lbmap.SourceRangeKey) error

DeleteSourceRange implements lbmaps.

func (*BPFLBMaps) DumpAffinityMatch

func (r *BPFLBMaps) DumpAffinityMatch(cb func(*lbmap.AffinityMatchKey, *lbmap.AffinityMatchValue)) error

DumpAffinityMatch implements lbmaps.

func (*BPFLBMaps) DumpBackend

func (r *BPFLBMaps) DumpBackend(cb func(lbmap.BackendKey, lbmap.BackendValue)) error

DumpBackend implements lbmaps.

func (*BPFLBMaps) DumpRevNat

func (r *BPFLBMaps) DumpRevNat(cb func(lbmap.RevNatKey, lbmap.RevNatValue)) error

DumpRevNat implements lbmaps.

func (*BPFLBMaps) DumpService

func (r *BPFLBMaps) DumpService(cb func(lbmap.ServiceKey, lbmap.ServiceValue)) error

DumpService implements lbmaps.

func (*BPFLBMaps) DumpSourceRange

func (r *BPFLBMaps) DumpSourceRange(cb func(lbmap.SourceRangeKey, *lbmap.SourceRangeValue)) error

DumpSourceRange implements lbmaps.

func (*BPFLBMaps) ExistsSockRevNat

func (r *BPFLBMaps) ExistsSockRevNat(cookie uint64, addr net.IP, port uint16) bool

func (*BPFLBMaps) IsEmpty

func (r *BPFLBMaps) IsEmpty() bool

IsEmpty implements lbmaps.

func (*BPFLBMaps) Start

func (r *BPFLBMaps) Start(ctx cell.HookContext) (err error)

Start implements cell.HookInterface.

func (*BPFLBMaps) Stop

func (r *BPFLBMaps) Stop(cell.HookContext) error

Stop implements cell.HookInterface.

func (*BPFLBMaps) UpdateAffinityMatch

func (r *BPFLBMaps) UpdateAffinityMatch(key *lbmap.AffinityMatchKey, value *lbmap.AffinityMatchValue) error

UpdateAffinityMatch implements lbmaps.

func (*BPFLBMaps) UpdateBackend

func (r *BPFLBMaps) UpdateBackend(key lbmap.BackendKey, value lbmap.BackendValue) error

UpdateBackend implements lbmaps.

func (*BPFLBMaps) UpdateMaglev

func (r *BPFLBMaps) UpdateMaglev(key lbmap.MaglevOuterKey, backendIDs []loadbalancer.BackendID, ipv6 bool) error

UpdateMaglev implements lbmaps.

func (*BPFLBMaps) UpdateRevNat

func (r *BPFLBMaps) UpdateRevNat(key lbmap.RevNatKey, value lbmap.RevNatValue) error

UpdateRevNat4 implements lbmaps.

func (*BPFLBMaps) UpdateService

func (r *BPFLBMaps) UpdateService(key lbmap.ServiceKey, value lbmap.ServiceValue) error

UpdateService implements lbmaps.

func (*BPFLBMaps) UpdateSockRevNat

func (r *BPFLBMaps) UpdateSockRevNat(cookie uint64, addr net.IP, port uint16, revNatIndex uint16) error

UpdateSockRevNat implements LBMaps.

func (*BPFLBMaps) UpdateSourceRange

func (r *BPFLBMaps) UpdateSourceRange(key lbmap.SourceRangeKey, value *lbmap.SourceRangeValue) error

UpdateSourceRange implements lbmaps.

type FakeLBMaps

type FakeLBMaps struct {
	// contains filtered or unexported fields
}

func (*FakeLBMaps) DeleteAffinityMatch

func (f *FakeLBMaps) DeleteAffinityMatch(key *lbmap.AffinityMatchKey) error

DeleteAffinityMatch implements lbmaps.

func (*FakeLBMaps) DeleteBackend

func (f *FakeLBMaps) DeleteBackend(key lbmap.BackendKey) error

DeleteBackend implements lbmaps.

func (*FakeLBMaps) DeleteMaglev

func (f *FakeLBMaps) DeleteMaglev(key lbmap.MaglevOuterKey, ipv6 bool) error

DeleteMaglev implements lbmaps.

func (*FakeLBMaps) DeleteRevNat

func (f *FakeLBMaps) DeleteRevNat(key lbmap.RevNatKey) error

DeleteRevNat implements lbmaps.

func (*FakeLBMaps) DeleteService

func (f *FakeLBMaps) DeleteService(key lbmap.ServiceKey) error

DeleteService implements lbmaps.

func (*FakeLBMaps) DeleteSockRevNat

func (f *FakeLBMaps) DeleteSockRevNat(cookie uint64, addr net.IP, port uint16) error

DeleteSockRevNat implements LBMaps.

func (*FakeLBMaps) DeleteSourceRange

func (f *FakeLBMaps) DeleteSourceRange(key lbmap.SourceRangeKey) error

DeleteSourceRange implements lbmaps.

func (*FakeLBMaps) DumpAffinityMatch

func (f *FakeLBMaps) DumpAffinityMatch(cb func(*lbmap.AffinityMatchKey, *lbmap.AffinityMatchValue)) error

DumpAffinityMatch implements lbmaps.

func (*FakeLBMaps) DumpBackend

func (f *FakeLBMaps) DumpBackend(cb func(lbmap.BackendKey, lbmap.BackendValue)) error

DumpBackend implements lbmaps.

func (*FakeLBMaps) DumpRevNat

func (f *FakeLBMaps) DumpRevNat(cb func(lbmap.RevNatKey, lbmap.RevNatValue)) error

DumpRevNat implements lbmaps.

func (*FakeLBMaps) DumpService

func (f *FakeLBMaps) DumpService(cb func(lbmap.ServiceKey, lbmap.ServiceValue)) error

DumpService implements lbmaps.

func (*FakeLBMaps) DumpSourceRange

func (f *FakeLBMaps) DumpSourceRange(cb func(lbmap.SourceRangeKey, *lbmap.SourceRangeValue)) error

DumpSourceRange implements lbmaps.

func (*FakeLBMaps) ExistsSockRevNat

func (f *FakeLBMaps) ExistsSockRevNat(cookie uint64, addr net.IP, port uint16) bool

func (*FakeLBMaps) IsEmpty

func (f *FakeLBMaps) IsEmpty() bool

IsEmpty implements lbmaps.

func (*FakeLBMaps) UpdateAffinityMatch

func (f *FakeLBMaps) UpdateAffinityMatch(key *lbmap.AffinityMatchKey, value *lbmap.AffinityMatchValue) error

UpdateAffinityMatch implements lbmaps.

func (*FakeLBMaps) UpdateBackend

func (f *FakeLBMaps) UpdateBackend(key lbmap.BackendKey, value lbmap.BackendValue) error

UpdateBackend implements lbmaps.

func (*FakeLBMaps) UpdateMaglev

func (f *FakeLBMaps) UpdateMaglev(key lbmap.MaglevOuterKey, backendIDs []loadbalancer.BackendID, ipv6 bool) error

UpdateMaglev implements lbmaps.

func (*FakeLBMaps) UpdateRevNat

func (f *FakeLBMaps) UpdateRevNat(key lbmap.RevNatKey, value lbmap.RevNatValue) error

UpdateRevNat implements lbmaps.

func (*FakeLBMaps) UpdateService

func (f *FakeLBMaps) UpdateService(key lbmap.ServiceKey, value lbmap.ServiceValue) error

UpdateService implements lbmaps.

func (*FakeLBMaps) UpdateSockRevNat

func (f *FakeLBMaps) UpdateSockRevNat(cookie uint64, addr net.IP, port uint16, revNatIndex uint16) error

UpdateSockRevNat implements LBMaps.

func (*FakeLBMaps) UpdateSourceRange

func (f *FakeLBMaps) UpdateSourceRange(key lbmap.SourceRangeKey, value *lbmap.SourceRangeValue) error

UpdateSourceRange implements lbmaps.

type FaultyLBMaps

type FaultyLBMaps struct {
	// contains filtered or unexported fields
}

func (*FaultyLBMaps) DeleteAffinityMatch

func (f *FaultyLBMaps) DeleteAffinityMatch(key *lbmap.AffinityMatchKey) error

DeleteAffinityMatch implements lbmaps.

func (*FaultyLBMaps) DeleteBackend

func (f *FaultyLBMaps) DeleteBackend(key lbmap.BackendKey) error

DeleteBackend implements lbmaps.

func (*FaultyLBMaps) DeleteMaglev

func (f *FaultyLBMaps) DeleteMaglev(key lbmap.MaglevOuterKey, ipv6 bool) error

DeleteMaglev implements lbmaps.

func (*FaultyLBMaps) DeleteRevNat

func (f *FaultyLBMaps) DeleteRevNat(key lbmap.RevNatKey) error

DeleteRevNat implements lbmaps.

func (*FaultyLBMaps) DeleteService

func (f *FaultyLBMaps) DeleteService(key lbmap.ServiceKey) error

DeleteService implements lbmaps.

func (*FaultyLBMaps) DeleteSockRevNat

func (f *FaultyLBMaps) DeleteSockRevNat(cookie uint64, addr net.IP, port uint16) error

DeleteSockRevNat implements LBMaps.

func (*FaultyLBMaps) DeleteSourceRange

func (f *FaultyLBMaps) DeleteSourceRange(key lbmap.SourceRangeKey) error

DeleteSourceRange implements lbmaps.

func (*FaultyLBMaps) DumpAffinityMatch

func (f *FaultyLBMaps) DumpAffinityMatch(cb func(*lbmap.AffinityMatchKey, *lbmap.AffinityMatchValue)) error

DumpAffinityMatch implements lbmaps.

func (*FaultyLBMaps) DumpBackend

func (f *FaultyLBMaps) DumpBackend(cb func(lbmap.BackendKey, lbmap.BackendValue)) error

DumpBackend implements lbmaps.

func (*FaultyLBMaps) DumpMaglev

DumpMaglev implements lbmaps.

func (*FaultyLBMaps) DumpRevNat

func (f *FaultyLBMaps) DumpRevNat(cb func(lbmap.RevNatKey, lbmap.RevNatValue)) error

DumpRevNat implements lbmaps.

func (*FaultyLBMaps) DumpService

func (f *FaultyLBMaps) DumpService(cb func(lbmap.ServiceKey, lbmap.ServiceValue)) error

DumpService implements lbmaps.

func (*FaultyLBMaps) DumpSourceRange

func (f *FaultyLBMaps) DumpSourceRange(cb func(lbmap.SourceRangeKey, *lbmap.SourceRangeValue)) error

DumpSourceRange implements lbmaps.

func (*FaultyLBMaps) ExistsSockRevNat

func (f *FaultyLBMaps) ExistsSockRevNat(cookie uint64, addr net.IP, port uint16) bool

func (*FaultyLBMaps) IsEmpty

func (f *FaultyLBMaps) IsEmpty() bool

IsEmpty implements lbmaps.

func (*FaultyLBMaps) UpdateAffinityMatch

func (f *FaultyLBMaps) UpdateAffinityMatch(key *lbmap.AffinityMatchKey, value *lbmap.AffinityMatchValue) error

UpdateAffinityMatch implements lbmaps.

func (*FaultyLBMaps) UpdateBackend

func (f *FaultyLBMaps) UpdateBackend(key lbmap.BackendKey, value lbmap.BackendValue) error

UpdateBackend implements lbmaps.

func (*FaultyLBMaps) UpdateMaglev

func (f *FaultyLBMaps) UpdateMaglev(key lbmap.MaglevOuterKey, backendIDs []loadbalancer.BackendID, ipv6 bool) error

UpdateMaglev implements lbmaps.

func (*FaultyLBMaps) UpdateRevNat

func (f *FaultyLBMaps) UpdateRevNat(key lbmap.RevNatKey, value lbmap.RevNatValue) error

UpdateRevNat implements lbmaps.

func (*FaultyLBMaps) UpdateService

func (f *FaultyLBMaps) UpdateService(key lbmap.ServiceKey, value lbmap.ServiceValue) error

UpdateService implements lbmaps.

func (*FaultyLBMaps) UpdateSockRevNat

func (f *FaultyLBMaps) UpdateSockRevNat(cookie uint64, addr net.IP, port uint16, revNatIndex uint16) error

UpdateSockRevNat implements LBMaps.

func (*FaultyLBMaps) UpdateSourceRange

func (f *FaultyLBMaps) UpdateSourceRange(key lbmap.SourceRangeKey, value *lbmap.SourceRangeValue) error

UpdateSourceRange implements lbmaps.

type HaveNetNSCookieSupport

type HaveNetNSCookieSupport func() bool

func NetnsCookieSupportFunc

func NetnsCookieSupportFunc() HaveNetNSCookieSupport

type LBMaps

type LBMaps interface {
	IsEmpty() bool
	// contains filtered or unexported methods
}

LBMaps defines the map operations performed by the reconciliation. Depending on this interface instead of on the underlying maps allows testing the implementation with a fake map or injected errors.

func NewFakeLBMaps

func NewFakeLBMaps() LBMaps

type MapDump

type MapDump = string

MapDump is a dump of a BPF map. These are generated by the dump() method, which solely defines the format.

func DumpLBMaps

func DumpLBMaps(lbmaps LBMaps, sanitizeIDs bool, customizeAddr func(net.IP, uint16) string) (out []MapDump)

DumpLBMaps the load-balancing maps into a concise format for assertions in tests.

Jump to

Keyboard shortcuts

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