Documentation
¶
Index ¶
- Variables
- type BPFLBMaps
- func (r *BPFLBMaps) DeleteAffinityMatch(key *lbmap.AffinityMatchKey) error
- func (r *BPFLBMaps) DeleteBackend(key lbmap.BackendKey) error
- func (r *BPFLBMaps) DeleteMaglev(key lbmap.MaglevOuterKey, ipv6 bool) error
- func (r *BPFLBMaps) DeleteRevNat(key lbmap.RevNatKey) error
- func (r *BPFLBMaps) DeleteService(key lbmap.ServiceKey) error
- func (r *BPFLBMaps) DeleteSockRevNat(cookie uint64, addr net.IP, port uint16) error
- func (r *BPFLBMaps) DeleteSourceRange(key lbmap.SourceRangeKey) error
- func (r *BPFLBMaps) DumpAffinityMatch(cb func(*lbmap.AffinityMatchKey, *lbmap.AffinityMatchValue)) error
- func (r *BPFLBMaps) DumpBackend(cb func(lbmap.BackendKey, lbmap.BackendValue)) error
- func (r *BPFLBMaps) DumpMaglev(cb func(lbmap.MaglevOuterKey, lbmap.MaglevOuterVal, lbmap.MaglevInnerKey, ...)) error
- func (r *BPFLBMaps) DumpRevNat(cb func(lbmap.RevNatKey, lbmap.RevNatValue)) error
- func (r *BPFLBMaps) DumpService(cb func(lbmap.ServiceKey, lbmap.ServiceValue)) error
- func (r *BPFLBMaps) DumpSourceRange(cb func(lbmap.SourceRangeKey, *lbmap.SourceRangeValue)) error
- func (r *BPFLBMaps) ExistsSockRevNat(cookie uint64, addr net.IP, port uint16) bool
- func (r *BPFLBMaps) IsEmpty() bool
- func (r *BPFLBMaps) Start(ctx cell.HookContext) (err error)
- func (r *BPFLBMaps) Stop(cell.HookContext) error
- func (r *BPFLBMaps) UpdateAffinityMatch(key *lbmap.AffinityMatchKey, value *lbmap.AffinityMatchValue) error
- func (r *BPFLBMaps) UpdateBackend(key lbmap.BackendKey, value lbmap.BackendValue) error
- func (r *BPFLBMaps) UpdateMaglev(key lbmap.MaglevOuterKey, backendIDs []loadbalancer.BackendID, ipv6 bool) error
- func (r *BPFLBMaps) UpdateRevNat(key lbmap.RevNatKey, value lbmap.RevNatValue) error
- func (r *BPFLBMaps) UpdateService(key lbmap.ServiceKey, value lbmap.ServiceValue) error
- func (r *BPFLBMaps) UpdateSockRevNat(cookie uint64, addr net.IP, port uint16, revNatIndex uint16) error
- func (r *BPFLBMaps) UpdateSourceRange(key lbmap.SourceRangeKey, value *lbmap.SourceRangeValue) error
- type FakeLBMaps
- func (f *FakeLBMaps) DeleteAffinityMatch(key *lbmap.AffinityMatchKey) error
- func (f *FakeLBMaps) DeleteBackend(key lbmap.BackendKey) error
- func (f *FakeLBMaps) DeleteMaglev(key lbmap.MaglevOuterKey, ipv6 bool) error
- func (f *FakeLBMaps) DeleteRevNat(key lbmap.RevNatKey) error
- func (f *FakeLBMaps) DeleteService(key lbmap.ServiceKey) error
- func (f *FakeLBMaps) DeleteSockRevNat(cookie uint64, addr net.IP, port uint16) error
- func (f *FakeLBMaps) DeleteSourceRange(key lbmap.SourceRangeKey) error
- func (f *FakeLBMaps) DumpAffinityMatch(cb func(*lbmap.AffinityMatchKey, *lbmap.AffinityMatchValue)) error
- func (f *FakeLBMaps) DumpBackend(cb func(lbmap.BackendKey, lbmap.BackendValue)) error
- func (f *FakeLBMaps) DumpMaglev(cb func(lbmap.MaglevOuterKey, lbmap.MaglevOuterVal, lbmap.MaglevInnerKey, ...)) error
- func (f *FakeLBMaps) DumpRevNat(cb func(lbmap.RevNatKey, lbmap.RevNatValue)) error
- func (f *FakeLBMaps) DumpService(cb func(lbmap.ServiceKey, lbmap.ServiceValue)) error
- func (f *FakeLBMaps) DumpSourceRange(cb func(lbmap.SourceRangeKey, *lbmap.SourceRangeValue)) error
- func (f *FakeLBMaps) ExistsSockRevNat(cookie uint64, addr net.IP, port uint16) bool
- func (f *FakeLBMaps) IsEmpty() bool
- func (f *FakeLBMaps) UpdateAffinityMatch(key *lbmap.AffinityMatchKey, value *lbmap.AffinityMatchValue) error
- func (f *FakeLBMaps) UpdateBackend(key lbmap.BackendKey, value lbmap.BackendValue) error
- func (f *FakeLBMaps) UpdateMaglev(key lbmap.MaglevOuterKey, backendIDs []loadbalancer.BackendID, ipv6 bool) error
- func (f *FakeLBMaps) UpdateRevNat(key lbmap.RevNatKey, value lbmap.RevNatValue) error
- func (f *FakeLBMaps) UpdateService(key lbmap.ServiceKey, value lbmap.ServiceValue) error
- func (f *FakeLBMaps) UpdateSockRevNat(cookie uint64, addr net.IP, port uint16, revNatIndex uint16) error
- func (f *FakeLBMaps) UpdateSourceRange(key lbmap.SourceRangeKey, value *lbmap.SourceRangeValue) error
- type FaultyLBMaps
- func (f *FaultyLBMaps) DeleteAffinityMatch(key *lbmap.AffinityMatchKey) error
- func (f *FaultyLBMaps) DeleteBackend(key lbmap.BackendKey) error
- func (f *FaultyLBMaps) DeleteMaglev(key lbmap.MaglevOuterKey, ipv6 bool) error
- func (f *FaultyLBMaps) DeleteRevNat(key lbmap.RevNatKey) error
- func (f *FaultyLBMaps) DeleteService(key lbmap.ServiceKey) error
- func (f *FaultyLBMaps) DeleteSockRevNat(cookie uint64, addr net.IP, port uint16) error
- func (f *FaultyLBMaps) DeleteSourceRange(key lbmap.SourceRangeKey) error
- func (f *FaultyLBMaps) DumpAffinityMatch(cb func(*lbmap.AffinityMatchKey, *lbmap.AffinityMatchValue)) error
- func (f *FaultyLBMaps) DumpBackend(cb func(lbmap.BackendKey, lbmap.BackendValue)) error
- func (f *FaultyLBMaps) DumpMaglev(cb func(lbmap.MaglevOuterKey, lbmap.MaglevOuterVal, lbmap.MaglevInnerKey, ...)) error
- func (f *FaultyLBMaps) DumpRevNat(cb func(lbmap.RevNatKey, lbmap.RevNatValue)) error
- func (f *FaultyLBMaps) DumpService(cb func(lbmap.ServiceKey, lbmap.ServiceValue)) error
- func (f *FaultyLBMaps) DumpSourceRange(cb func(lbmap.SourceRangeKey, *lbmap.SourceRangeValue)) error
- func (f *FaultyLBMaps) ExistsSockRevNat(cookie uint64, addr net.IP, port uint16) bool
- func (f *FaultyLBMaps) IsEmpty() bool
- func (f *FaultyLBMaps) UpdateAffinityMatch(key *lbmap.AffinityMatchKey, value *lbmap.AffinityMatchValue) error
- func (f *FaultyLBMaps) UpdateBackend(key lbmap.BackendKey, value lbmap.BackendValue) error
- func (f *FaultyLBMaps) UpdateMaglev(key lbmap.MaglevOuterKey, backendIDs []loadbalancer.BackendID, ipv6 bool) error
- func (f *FaultyLBMaps) UpdateRevNat(key lbmap.RevNatKey, value lbmap.RevNatValue) error
- func (f *FaultyLBMaps) UpdateService(key lbmap.ServiceKey, value lbmap.ServiceValue) error
- func (f *FaultyLBMaps) UpdateSockRevNat(cookie uint64, addr net.IP, port uint16, revNatIndex uint16) error
- func (f *FaultyLBMaps) UpdateSourceRange(key lbmap.SourceRangeKey, value *lbmap.SourceRangeValue) error
- type HaveNetNSCookieSupport
- type LBMaps
- type MapDump
Constants ¶
This section is empty.
Variables ¶
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 ¶
DeleteRevNat implements lbmaps.
func (*BPFLBMaps) DeleteService ¶
func (r *BPFLBMaps) DeleteService(key lbmap.ServiceKey) error
DeleteService implements lbmaps.
func (*BPFLBMaps) DeleteSockRevNat ¶
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) DumpMaglev ¶
func (r *BPFLBMaps) DumpMaglev(cb func(lbmap.MaglevOuterKey, lbmap.MaglevOuterVal, lbmap.MaglevInnerKey, *lbmap.MaglevInnerVal, bool)) error
func (*BPFLBMaps) DumpRevNat ¶
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 (*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 ¶
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 ¶
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) DumpMaglev ¶
func (f *FakeLBMaps) DumpMaglev(cb func(lbmap.MaglevOuterKey, lbmap.MaglevOuterVal, lbmap.MaglevInnerKey, *lbmap.MaglevInnerVal, bool)) error
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 (*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 ¶
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 ¶
func (f *FaultyLBMaps) DumpMaglev(cb func(lbmap.MaglevOuterKey, lbmap.MaglevOuterVal, lbmap.MaglevInnerKey, *lbmap.MaglevInnerVal, bool)) error
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 (*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