Documentation ¶
Overview ¶
+groupName=maps
Index ¶
- Constants
- Variables
- func CreateSockRevNat4Map() error
- func CreateSockRevNat6Map() error
- func GetOpenMaglevMaps() map[string]*maglevOuterMap
- func Init(params InitParams)
- func InitMaglevMaps(ipv4, ipv6 bool, tableSize uint32) error
- func MaglevInnerMapFromID(id int, tableSize uint32) (*maglevInnerMap, error)
- func MaglevOuterMapTableSize(mapName string) (bool, uint32)
- func NewMaglevOuterMap(name string, maxEntries int, tableSize uint32, innerMap *ebpf.MapSpec) (*maglevOuterMap, error)
- func OpenMaglevMaps() (uint32, error)
- func OpenMaglevOuterMap(name string, tableSize uint32) (*maglevOuterMap, error)
- type Affinity4Key
- type Affinity6Key
- type AffinityMatchKey
- func (in *AffinityMatchKey) DeepCopy() *AffinityMatchKey
- func (in *AffinityMatchKey) DeepCopyInto(out *AffinityMatchKey)
- func (in *AffinityMatchKey) DeepCopyMapKey() bpf.MapKey
- func (k *AffinityMatchKey) GetKeyPtr() unsafe.Pointer
- func (k *AffinityMatchKey) NewValue() bpf.MapValue
- func (k *AffinityMatchKey) String() string
- func (k *AffinityMatchKey) ToHost() *AffinityMatchKey
- func (k *AffinityMatchKey) ToNetwork() *AffinityMatchKey
- type AffinityMatchValue
- type AffinityValue
- type Backend
- type Backend4
- type Backend4Key
- func (in *Backend4Key) DeepCopy() *Backend4Key
- func (in *Backend4Key) DeepCopyInto(out *Backend4Key)
- func (in *Backend4Key) DeepCopyMapKey() bpf.MapKey
- func (k *Backend4Key) GetID() loadbalancer.BackendID
- func (k *Backend4Key) GetKeyPtr() unsafe.Pointer
- func (k *Backend4Key) Map() *bpf.Map
- func (k *Backend4Key) NewValue() bpf.MapValue
- func (k *Backend4Key) SetID(id loadbalancer.BackendID)
- func (k *Backend4Key) String() string
- type Backend4KeyV2
- func (in *Backend4KeyV2) DeepCopy() *Backend4KeyV2
- func (in *Backend4KeyV2) DeepCopyInto(out *Backend4KeyV2)
- func (in *Backend4KeyV2) DeepCopyMapKey() bpf.MapKey
- func (k *Backend4KeyV2) GetID() loadbalancer.BackendID
- func (k *Backend4KeyV2) GetKeyPtr() unsafe.Pointer
- func (k *Backend4KeyV2) Map() *bpf.Map
- func (k *Backend4KeyV2) NewValue() bpf.MapValue
- func (k *Backend4KeyV2) SetID(id loadbalancer.BackendID)
- func (k *Backend4KeyV2) String() string
- type Backend4V2
- type Backend4Value
- func (in *Backend4Value) DeepCopy() *Backend4Value
- func (in *Backend4Value) DeepCopyInto(out *Backend4Value)
- func (in *Backend4Value) DeepCopyMapValue() bpf.MapValue
- func (b *Backend4Value) GetAddress() net.IP
- func (b *Backend4Value) GetPort() uint16
- func (v *Backend4Value) GetValuePtr() unsafe.Pointer
- func (v *Backend4Value) String() string
- func (v *Backend4Value) ToHost() BackendValue
- func (v *Backend4Value) ToNetwork() BackendValue
- type Backend6
- type Backend6Key
- func (in *Backend6Key) DeepCopy() *Backend6Key
- func (in *Backend6Key) DeepCopyInto(out *Backend6Key)
- func (in *Backend6Key) DeepCopyMapKey() bpf.MapKey
- func (k *Backend6Key) GetID() loadbalancer.BackendID
- func (k *Backend6Key) GetKeyPtr() unsafe.Pointer
- func (k *Backend6Key) Map() *bpf.Map
- func (k *Backend6Key) NewValue() bpf.MapValue
- func (k *Backend6Key) SetID(id loadbalancer.BackendID)
- func (k *Backend6Key) String() string
- type Backend6KeyV2
- func (in *Backend6KeyV2) DeepCopy() *Backend6KeyV2
- func (in *Backend6KeyV2) DeepCopyInto(out *Backend6KeyV2)
- func (in *Backend6KeyV2) DeepCopyMapKey() bpf.MapKey
- func (k *Backend6KeyV2) GetID() loadbalancer.BackendID
- func (k *Backend6KeyV2) GetKeyPtr() unsafe.Pointer
- func (k *Backend6KeyV2) Map() *bpf.Map
- func (k *Backend6KeyV2) NewValue() bpf.MapValue
- func (k *Backend6KeyV2) SetID(id loadbalancer.BackendID)
- func (k *Backend6KeyV2) String() string
- type Backend6V2
- type Backend6Value
- func (in *Backend6Value) DeepCopy() *Backend6Value
- func (in *Backend6Value) DeepCopyInto(out *Backend6Value)
- func (in *Backend6Value) DeepCopyMapValue() bpf.MapValue
- func (b *Backend6Value) GetAddress() net.IP
- func (b *Backend6Value) GetPort() uint16
- func (v *Backend6Value) GetValuePtr() unsafe.Pointer
- func (v *Backend6Value) String() string
- func (v *Backend6Value) ToHost() BackendValue
- func (v *Backend6Value) ToNetwork() BackendValue
- type BackendIDByServiceIDSet
- type BackendKey
- type BackendValue
- type InitParams
- type LBBPFMap
- func (*LBBPFMap) AddAffinityMatch(revNATID uint16, backendID loadbalancer.BackendID) error
- func (*LBBPFMap) AddBackend(id loadbalancer.BackendID, ip net.IP, port uint16, ipv6 bool) error
- func (*LBBPFMap) DeleteAffinityMatch(revNATID uint16, backendID loadbalancer.BackendID) error
- func (*LBBPFMap) DeleteBackendByID(id loadbalancer.BackendID, ipv6 bool) error
- func (*LBBPFMap) DeleteService(svc loadbalancer.L3n4AddrID, backendCount int, useMaglev bool) error
- func (*LBBPFMap) DumpAffinityMatches() (BackendIDByServiceIDSet, error)
- func (*LBBPFMap) DumpBackendMaps() ([]*loadbalancer.Backend, error)
- func (*LBBPFMap) DumpServiceMaps() ([]*loadbalancer.SVC, []error)
- func (*LBBPFMap) DumpSourceRanges(ipv6 bool) (SourceRangeSetByServiceID, error)
- func (*LBBPFMap) IsMaglevLookupTableRecreated(ipv6 bool) bool
- func (*LBBPFMap) UpdateSourceRanges(revNATID uint16, prevSourceRanges []*cidr.CIDR, sourceRanges []*cidr.CIDR, ...) error
- func (lbmap *LBBPFMap) UpsertMaglevLookupTable(svcID uint16, backends map[string]loadbalancer.BackendID, ipv6 bool) error
- func (lbmap *LBBPFMap) UpsertService(p *UpsertServiceParams) error
- type MaglevInnerKey
- type MaglevInnerVal
- type MaglevOuterIterateCallback
- type MaglevOuterKey
- type MaglevOuterVal
- type RevNat4Key
- func (in *RevNat4Key) DeepCopy() *RevNat4Key
- func (in *RevNat4Key) DeepCopyInto(out *RevNat4Key)
- func (in *RevNat4Key) DeepCopyMapKey() bpf.MapKey
- func (k *RevNat4Key) GetKey() uint16
- func (k *RevNat4Key) GetKeyPtr() unsafe.Pointer
- func (k *RevNat4Key) Map() *bpf.Map
- func (k *RevNat4Key) NewValue() bpf.MapValue
- func (k *RevNat4Key) String() string
- func (k *RevNat4Key) ToHost() RevNatKey
- func (k *RevNat4Key) ToNetwork() RevNatKey
- type RevNat4Value
- func (in *RevNat4Value) DeepCopy() *RevNat4Value
- func (in *RevNat4Value) DeepCopyInto(out *RevNat4Value)
- func (in *RevNat4Value) DeepCopyMapValue() bpf.MapValue
- func (v *RevNat4Value) GetValuePtr() unsafe.Pointer
- func (v *RevNat4Value) String() string
- func (k *RevNat4Value) ToHost() RevNatValue
- func (v *RevNat4Value) ToNetwork() RevNatValue
- type RevNat6Key
- func (in *RevNat6Key) DeepCopy() *RevNat6Key
- func (in *RevNat6Key) DeepCopyInto(out *RevNat6Key)
- func (in *RevNat6Key) DeepCopyMapKey() bpf.MapKey
- func (v *RevNat6Key) GetKey() uint16
- func (v *RevNat6Key) GetKeyPtr() unsafe.Pointer
- func (v *RevNat6Key) Map() *bpf.Map
- func (v *RevNat6Key) NewValue() bpf.MapValue
- func (v *RevNat6Key) String() string
- func (v *RevNat6Key) ToHost() RevNatKey
- func (v *RevNat6Key) ToNetwork() RevNatKey
- type RevNat6Value
- func (in *RevNat6Value) DeepCopy() *RevNat6Value
- func (in *RevNat6Value) DeepCopyInto(out *RevNat6Value)
- func (in *RevNat6Value) DeepCopyMapValue() bpf.MapValue
- func (v *RevNat6Value) GetValuePtr() unsafe.Pointer
- func (v *RevNat6Value) String() string
- func (v *RevNat6Value) ToHost() RevNatValue
- func (v *RevNat6Value) ToNetwork() RevNatValue
- type RevNatKey
- type RevNatValue
- type Service4Key
- func (in *Service4Key) DeepCopy() *Service4Key
- func (in *Service4Key) DeepCopyInto(out *Service4Key)
- func (in *Service4Key) DeepCopyMapKey() bpf.MapKey
- func (k *Service4Key) GetAddress() net.IP
- func (k *Service4Key) GetBackendSlot() int
- func (k *Service4Key) GetKeyPtr() unsafe.Pointer
- func (k *Service4Key) GetPort() uint16
- func (k *Service4Key) GetScope() uint8
- func (k *Service4Key) IsIPv6() bool
- func (k *Service4Key) IsSurrogate() bool
- func (k *Service4Key) Map() *bpf.Map
- func (k *Service4Key) MapDelete() error
- func (k *Service4Key) NewValue() bpf.MapValue
- func (k *Service4Key) RevNatValue() RevNatValue
- func (k *Service4Key) SetBackendSlot(slot int)
- func (k *Service4Key) SetScope(scope uint8)
- func (k *Service4Key) String() string
- func (k *Service4Key) ToHost() ServiceKey
- func (k *Service4Key) ToNetwork() ServiceKey
- type Service4Value
- func (in *Service4Value) DeepCopy() *Service4Value
- func (in *Service4Value) DeepCopyInto(out *Service4Value)
- func (in *Service4Value) DeepCopyMapValue() bpf.MapValue
- func (s *Service4Value) GetBackendID() loadbalancer.BackendID
- func (s *Service4Value) GetCount() int
- func (s *Service4Value) GetFlags() uint16
- func (s *Service4Value) GetRevNat() int
- func (s *Service4Value) GetValuePtr() unsafe.Pointer
- func (s *Service4Value) RevNatKey() RevNatKey
- func (s *Service4Value) SetBackendID(id loadbalancer.BackendID)
- func (s *Service4Value) SetCount(count int)
- func (s *Service4Value) SetFlags(flags uint16)
- func (s *Service4Value) SetRevNat(id int)
- func (s *Service4Value) SetSessionAffinityTimeoutSec(t uint32)
- func (s *Service4Value) String() string
- func (s *Service4Value) ToHost() ServiceValue
- func (s *Service4Value) ToNetwork() ServiceValue
- type Service6Key
- func (in *Service6Key) DeepCopy() *Service6Key
- func (in *Service6Key) DeepCopyInto(out *Service6Key)
- func (in *Service6Key) DeepCopyMapKey() bpf.MapKey
- func (k *Service6Key) GetAddress() net.IP
- func (k *Service6Key) GetBackendSlot() int
- func (k *Service6Key) GetKeyPtr() unsafe.Pointer
- func (k *Service6Key) GetPort() uint16
- func (k *Service6Key) GetScope() uint8
- func (k *Service6Key) IsIPv6() bool
- func (k *Service6Key) IsSurrogate() bool
- func (k *Service6Key) Map() *bpf.Map
- func (k *Service6Key) MapDelete() error
- func (k *Service6Key) NewValue() bpf.MapValue
- func (k *Service6Key) RevNatValue() RevNatValue
- func (k *Service6Key) SetBackendSlot(slot int)
- func (k *Service6Key) SetScope(scope uint8)
- func (k *Service6Key) String() string
- func (k *Service6Key) ToHost() ServiceKey
- func (k *Service6Key) ToNetwork() ServiceKey
- type Service6Value
- func (in *Service6Value) DeepCopy() *Service6Value
- func (in *Service6Value) DeepCopyInto(out *Service6Value)
- func (in *Service6Value) DeepCopyMapValue() bpf.MapValue
- func (s *Service6Value) GetBackendID() loadbalancer.BackendID
- func (s *Service6Value) GetCount() int
- func (s *Service6Value) GetFlags() uint16
- func (s *Service6Value) GetRevNat() int
- func (s *Service6Value) GetValuePtr() unsafe.Pointer
- func (s *Service6Value) RevNatKey() RevNatKey
- func (s *Service6Value) SetBackendID(id loadbalancer.BackendID)
- func (s *Service6Value) SetCount(count int)
- func (s *Service6Value) SetFlags(flags uint16)
- func (s *Service6Value) SetRevNat(id int)
- func (s *Service6Value) SetSessionAffinityTimeoutSec(t uint32)
- func (s *Service6Value) String() string
- func (s *Service6Value) ToHost() ServiceValue
- func (s *Service6Value) ToNetwork() ServiceValue
- type ServiceKey
- type ServiceValue
- type SockRevNat4Key
- func (in *SockRevNat4Key) DeepCopy() *SockRevNat4Key
- func (in *SockRevNat4Key) DeepCopyInto(out *SockRevNat4Key)
- func (in *SockRevNat4Key) DeepCopyMapKey() bpf.MapKey
- func (k *SockRevNat4Key) GetKeyPtr() unsafe.Pointer
- func (k SockRevNat4Key) NewValue() bpf.MapValue
- func (k *SockRevNat4Key) String() string
- type SockRevNat4Value
- type SockRevNat6Key
- func (in *SockRevNat6Key) DeepCopy() *SockRevNat6Key
- func (in *SockRevNat6Key) DeepCopyInto(out *SockRevNat6Key)
- func (in *SockRevNat6Key) DeepCopyMapKey() bpf.MapKey
- func (k *SockRevNat6Key) GetKeyPtr() unsafe.Pointer
- func (k SockRevNat6Key) NewValue() bpf.MapValue
- func (k *SockRevNat6Key) String() string
- type SockRevNat6Value
- type SourceRangeKey
- type SourceRangeKey4
- func (in *SourceRangeKey4) DeepCopy() *SourceRangeKey4
- func (in *SourceRangeKey4) DeepCopyInto(out *SourceRangeKey4)
- func (in *SourceRangeKey4) DeepCopyMapKey() bpf.MapKey
- func (k *SourceRangeKey4) GetCIDR() *cidr.CIDR
- func (k *SourceRangeKey4) GetKeyPtr() unsafe.Pointer
- func (k *SourceRangeKey4) GetRevNATID() uint16
- func (k *SourceRangeKey4) NewValue() bpf.MapValue
- func (k *SourceRangeKey4) String() string
- func (k *SourceRangeKey4) ToHost() SourceRangeKey
- func (k *SourceRangeKey4) ToNetwork() SourceRangeKey
- type SourceRangeKey6
- func (in *SourceRangeKey6) DeepCopy() *SourceRangeKey6
- func (in *SourceRangeKey6) DeepCopyInto(out *SourceRangeKey6)
- func (in *SourceRangeKey6) DeepCopyMapKey() bpf.MapKey
- func (k *SourceRangeKey6) GetCIDR() *cidr.CIDR
- func (k *SourceRangeKey6) GetKeyPtr() unsafe.Pointer
- func (k *SourceRangeKey6) GetRevNATID() uint16
- func (k *SourceRangeKey6) NewValue() bpf.MapValue
- func (k *SourceRangeKey6) String() string
- func (k *SourceRangeKey6) ToHost() SourceRangeKey
- func (k *SourceRangeKey6) ToNetwork() SourceRangeKey
- type SourceRangeSetByServiceID
- type SourceRangeValue
- type UpsertServiceParams
Constants ¶
const ( AffinityMatchMapName = "cilium_lb_affinity_match" Affinity4MapName = "cilium_lb4_affinity" Affinity6MapName = "cilium_lb6_affinity" )
const ( // HealthProbe4MapName is the health datapath map name HealthProbe4MapName = "cilium_lb4_health" // SockRevNat4MapName is the BPF map name. SockRevNat4MapName = "cilium_lb4_reverse_sk" // SockRevNat4MapSize is the maximum number of entries in the BPF map. SockRevNat4MapSize = 256 * 1024 // Service4MapV2Name is the name of the IPv4 LB Services v2 BPF map. Service4MapV2Name = "cilium_lb4_services_v2" // Backend4MapName is the name of the IPv4 LB backends BPF map. Backend4MapName = "cilium_lb4_backends" // Backend4MapV2Name is the name of the IPv4 LB backends v2 BPF map. Backend4MapV2Name = "cilium_lb4_backends_v2" // RevNat4MapName is the name of the IPv4 LB reverse NAT BPF map. RevNat4MapName = "cilium_lb4_reverse_nat" )
const ( // HealthProbe6MapName is the health datapath map name HealthProbe6MapName = "cilium_lb6_health" // SockRevNat6MapName is the BPF map name. SockRevNat6MapName = "cilium_lb6_reverse_sk" // SockRevNat6MapSize is the maximum number of entries in the BPF map. SockRevNat6MapSize = 256 * 1024 // Service6MapV2Name is the name of the IPv6 LB Services v2 BPF map. Service6MapV2Name = "cilium_lb6_services_v2" // Backend6MapName is the name of the IPv6 LB backends BPF map. Backend6MapName = "cilium_lb6_backends" // Backend6MapV2Name is the name of the IPv6 LB backends v2 BPF map. Backend6MapV2Name = "cilium_lb6_backends_v2" // RevNat6MapName is the name of the IPv6 LB reverse NAT BPF map. RevNat6MapName = "cilium_lb6_reverse_nat" )
const ( // Both outer maps are pinned though given we need to attach // inner maps into them. MaglevOuter4MapName = "cilium_lb4_maglev" MaglevOuter6MapName = "cilium_lb6_maglev" )
const ( SourceRange4MapName = "cilium_lb4_source_range" SourceRange6MapName = "cilium_lb6_source_range" )
const SizeofSockRevNat6Key = int(unsafe.Sizeof(SockRevNat6Key{}))
SizeofSockRevNat6Key is the size of type SockRevNat6Key.
const SizeofSockRevNat6Value = int(unsafe.Sizeof(SockRevNat6Value{}))
SizeofSockRevNat6Value is the size of type SockRevNat6Value.
const ( // UnknownMaglevTableSize is a constant that represents an unknown table // size for a maglev outer map. UnknownMaglevTableSize = 0 )
Variables ¶
var ( // AffinityMatchMap is the BPF map to implement session affinity. AffinityMatchMap *bpf.Map Affinity4Map *bpf.Map Affinity6Map *bpf.Map )
var ( // MaxSockRevNat4MapEntries is the maximum number of entries in the BPF // map. It is set by Init(), but unit tests use the initial value below. MaxSockRevNat4MapEntries = SockRevNat4MapSize // Service4MapV2 is the IPv4 LB Services v2 BPF map. Service4MapV2 *bpf.Map // Backend4Map is the IPv4 LB backends BPF map. Backend4Map *bpf.Map // Backend4MapV2 is the IPv4 LB backends v2 BPF map. Backend4MapV2 *bpf.Map // RevNat4Map is the IPv4 LB reverse NAT BPF map. RevNat4Map *bpf.Map )
var ( // MaxSockRevNat6MapEntries is the maximum number of entries in the BPF // map. It is set by Init(), but unit tests use the initial value below. MaxSockRevNat6MapEntries = SockRevNat6MapSize // Service6MapV2 is the IPv6 LB Services v2 BPF map. Service6MapV2 *bpf.Map // Backend6Map is the IPv6 LB backends BPF map. Backend6Map *bpf.Map // Backend6MapV2 is the IPv6 LB backends v2 BPF map. Backend6MapV2 *bpf.Map // RevNat6Map is the IPv6 LB reverse NAT BPF map. RevNat6Map *bpf.Map )
var ( // SourceRange4Map is the BPF map for storing IPv4 service source ranges to // check if option.Config.EnableSVCSourceRangeCheck is enabled. SourceRange4Map *bpf.Map // SourceRange6Map is the BPF map for storing IPv6 service source ranges to // check if option.Config.EnableSVCSourceRangeCheck is enabled. SourceRange6Map *bpf.Map )
var ( // MaxEntries contains the maximum number of entries that are allowed // in Cilium LB service, backend and affinity maps. MaxEntries = 65536 )
Functions ¶
func CreateSockRevNat4Map ¶ added in v0.15.7
func CreateSockRevNat4Map() error
CreateSockRevNat4Map creates the reverse NAT sock map.
func CreateSockRevNat6Map ¶ added in v0.15.7
func CreateSockRevNat6Map() error
CreateSockRevNat6Map creates the reverse NAT sock map.
func GetOpenMaglevMaps ¶ added in v1.11.0
func GetOpenMaglevMaps() map[string]*maglevOuterMap
GetOpenMaglevMaps returns a map with all the opened outer maglev eBPF maps. These BPF maps are indexed by their name.
func Init ¶ added in v0.15.7
func Init(params InitParams)
Init updates the map info defaults for sock rev nat {4,6} and LB maps and then initializes all LB-related maps.
func InitMaglevMaps ¶ added in v0.15.7
InitMaglevMaps inits the ipv4 and/or ipv6 maglev outer and inner maps.
func MaglevInnerMapFromID ¶ added in v0.15.7
MaglevInnerMapFromID returns a new object representing the maglev inner map identified by an ID.
func MaglevOuterMapTableSize ¶ added in v1.11.0
MaglevOuterMapTableSize tries to determine the table size of a given maglev outer map.
The function returns:
- a bool indicating whether the outer map exists or not
- an integer indicating the table size. In case the table size cannot be determined, the UnknownMaglevTableSize constant (0) is returned.
func NewMaglevOuterMap ¶ added in v0.15.7
func NewMaglevOuterMap(name string, maxEntries int, tableSize uint32, innerMap *ebpf.MapSpec) (*maglevOuterMap, error)
NewMaglevOuterMap returns a new object representing a maglev outer map.
func OpenMaglevMaps ¶ added in v1.11.0
OpenMaglevMaps tries to open all already existing maglev BPF maps by probing their table size from the inner map value size.
func OpenMaglevOuterMap ¶ added in v0.15.7
OpenMaglevOuterMap opens an existing pinned maglev outer map and returns an object representing it.
Types ¶
type Affinity4Key ¶ added in v0.15.7
type Affinity4Key struct { ClientID uint64 `align:"client_id"` RevNATID uint16 `align:"rev_nat_id"` NetNSCookie uint8 `align:"netns_cookie"` Pad1 uint8 `align:"pad1"` Pad2 uint32 `align:"pad2"` }
Affinity4Key is the Go representation of lb4_affinity_key +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*Affinity4Key) DeepCopy ¶ added in v1.8.0
func (in *Affinity4Key) DeepCopy() *Affinity4Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Affinity4Key.
func (*Affinity4Key) DeepCopyInto ¶ added in v1.8.0
func (in *Affinity4Key) DeepCopyInto(out *Affinity4Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Affinity4Key) DeepCopyMapKey ¶ added in v1.8.0
func (in *Affinity4Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Affinity4Key) GetKeyPtr ¶ added in v1.8.0
func (k *Affinity4Key) GetKeyPtr() unsafe.Pointer
GetKeyPtr returns the unsafe pointer to the BPF key
func (Affinity4Key) NewValue ¶ added in v1.8.0
func (k Affinity4Key) NewValue() bpf.MapValue
NewValue returns a new empty instance of the structure representing the BPF map value.
func (*Affinity4Key) String ¶ added in v0.15.7
func (k *Affinity4Key) String() string
String converts the key into a human readable string format.
type Affinity6Key ¶ added in v0.15.7
type Affinity6Key struct { ClientID types.IPv6 `align:"client_id"` RevNATID uint16 `align:"rev_nat_id"` NetNSCookie uint8 `align:"netns_cookie"` Pad1 uint8 `align:"pad1"` Pad2 uint32 `align:"pad2"` }
Affinity6Key is the Go representation of lb6_affinity_key +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*Affinity6Key) DeepCopy ¶ added in v1.8.0
func (in *Affinity6Key) DeepCopy() *Affinity6Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Affinity6Key.
func (*Affinity6Key) DeepCopyInto ¶ added in v1.8.0
func (in *Affinity6Key) DeepCopyInto(out *Affinity6Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Affinity6Key) DeepCopyMapKey ¶ added in v1.8.0
func (in *Affinity6Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Affinity6Key) GetKeyPtr ¶ added in v1.8.0
func (k *Affinity6Key) GetKeyPtr() unsafe.Pointer
GetKeyPtr returns the unsafe pointer to the BPF key
func (Affinity6Key) NewValue ¶ added in v1.8.0
func (k Affinity6Key) NewValue() bpf.MapValue
NewValue returns a new empty instance of the structure representing the BPF map value.
func (*Affinity6Key) String ¶ added in v0.15.7
func (k *Affinity6Key) String() string
String converts the key into a human readable string format.
type AffinityMatchKey ¶ added in v0.15.7
type AffinityMatchKey struct { BackendID loadbalancer.BackendID `align:"backend_id"` RevNATID uint16 `align:"rev_nat_id"` Pad uint16 `align:"pad"` }
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func NewAffinityMatchKey ¶ added in v0.15.7
func NewAffinityMatchKey(revNATID uint16, backendID loadbalancer.BackendID) *AffinityMatchKey
NewAffinityMatchKey creates the AffinityMatch key
func (*AffinityMatchKey) DeepCopy ¶ added in v1.8.0
func (in *AffinityMatchKey) DeepCopy() *AffinityMatchKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AffinityMatchKey.
func (*AffinityMatchKey) DeepCopyInto ¶ added in v1.8.0
func (in *AffinityMatchKey) DeepCopyInto(out *AffinityMatchKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AffinityMatchKey) DeepCopyMapKey ¶ added in v1.8.0
func (in *AffinityMatchKey) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*AffinityMatchKey) GetKeyPtr ¶ added in v1.8.0
func (k *AffinityMatchKey) GetKeyPtr() unsafe.Pointer
GetKeyPtr returns the unsafe pointer to the BPF key
func (*AffinityMatchKey) NewValue ¶ added in v1.8.0
func (k *AffinityMatchKey) NewValue() bpf.MapValue
NewValue returns a new empty instance of the structure representing the BPF map value
func (*AffinityMatchKey) String ¶ added in v0.15.7
func (k *AffinityMatchKey) String() string
String converts the key into a human readable string format
func (*AffinityMatchKey) ToHost ¶ added in v0.15.7
func (k *AffinityMatchKey) ToHost() *AffinityMatchKey
ToHost returns the key in the host byte order
func (*AffinityMatchKey) ToNetwork ¶ added in v0.15.7
func (k *AffinityMatchKey) ToNetwork() *AffinityMatchKey
ToNetwork returns the key in the network byte order
type AffinityMatchValue ¶ added in v0.15.7
type AffinityMatchValue struct {
Pad uint8 `align:"pad"`
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*AffinityMatchValue) DeepCopy ¶ added in v1.8.0
func (in *AffinityMatchValue) DeepCopy() *AffinityMatchValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AffinityMatchValue.
func (*AffinityMatchValue) DeepCopyInto ¶ added in v1.8.0
func (in *AffinityMatchValue) DeepCopyInto(out *AffinityMatchValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AffinityMatchValue) DeepCopyMapValue ¶ added in v1.8.0
func (in *AffinityMatchValue) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*AffinityMatchValue) GetValuePtr ¶ added in v1.8.0
func (v *AffinityMatchValue) GetValuePtr() unsafe.Pointer
GetValuePtr returns the unsafe pointer to the BPF value
func (*AffinityMatchValue) String ¶ added in v0.15.7
func (v *AffinityMatchValue) String() string
String converts the value into a human readable string format
type AffinityValue ¶ added in v0.15.7
type AffinityValue struct { LastUsed uint64 `align:"last_used"` BackendID uint32 `align:"backend_id"` Pad uint32 `align:"pad"` }
AffinityValue is the Go representing of lb_affinity_value +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*AffinityValue) DeepCopy ¶ added in v1.8.0
func (in *AffinityValue) DeepCopy() *AffinityValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AffinityValue.
func (*AffinityValue) DeepCopyInto ¶ added in v1.8.0
func (in *AffinityValue) DeepCopyInto(out *AffinityValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AffinityValue) DeepCopyMapValue ¶ added in v1.8.0
func (in *AffinityValue) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*AffinityValue) GetValuePtr ¶ added in v1.8.0
func (v *AffinityValue) GetValuePtr() unsafe.Pointer
GetValuePtr returns the unsafe pointer to the BPF value
func (*AffinityValue) String ¶ added in v0.15.7
func (v *AffinityValue) String() string
String converts the value into a human readable string format.
type Backend ¶ added in v0.15.7
type Backend interface { // Return the BPF map matching the type Map() *bpf.Map // Get key of the backend entry GetKey() BackendKey // Get value of the backend entry GetValue() BackendValue }
Backend is the interface describing protocol independent backend used by services v2.
type Backend4 ¶ added in v0.15.7
type Backend4 struct { Key *Backend4Key Value *Backend4Value }
func (*Backend4) GetKey ¶ added in v0.15.7
func (b *Backend4) GetKey() BackendKey
func (*Backend4) GetValue ¶ added in v0.15.7
func (b *Backend4) GetValue() BackendValue
type Backend4Key ¶ added in v0.15.7
type Backend4Key struct {
ID uint16
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*Backend4Key) DeepCopy ¶ added in v1.5.1
func (in *Backend4Key) DeepCopy() *Backend4Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend4Key.
func (*Backend4Key) DeepCopyInto ¶ added in v1.5.1
func (in *Backend4Key) DeepCopyInto(out *Backend4Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend4Key) DeepCopyMapKey ¶ added in v1.5.1
func (in *Backend4Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Backend4Key) GetID ¶ added in v0.15.7
func (k *Backend4Key) GetID() loadbalancer.BackendID
func (*Backend4Key) GetKeyPtr ¶ added in v1.5.0
func (k *Backend4Key) GetKeyPtr() unsafe.Pointer
func (*Backend4Key) Map ¶ added in v0.15.7
func (k *Backend4Key) Map() *bpf.Map
func (*Backend4Key) NewValue ¶ added in v1.5.0
func (k *Backend4Key) NewValue() bpf.MapValue
func (*Backend4Key) SetID ¶ added in v0.15.7
func (k *Backend4Key) SetID(id loadbalancer.BackendID)
func (*Backend4Key) String ¶ added in v0.15.7
func (k *Backend4Key) String() string
type Backend4KeyV2 ¶ added in v1.10.5
type Backend4KeyV2 struct {
ID loadbalancer.BackendID
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func NewBackend4KeyV2 ¶ added in v1.11.0
func NewBackend4KeyV2(id loadbalancer.BackendID) *Backend4KeyV2
func (*Backend4KeyV2) DeepCopy ¶ added in v1.10.5
func (in *Backend4KeyV2) DeepCopy() *Backend4KeyV2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend4KeyV2.
func (*Backend4KeyV2) DeepCopyInto ¶ added in v1.10.5
func (in *Backend4KeyV2) DeepCopyInto(out *Backend4KeyV2)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend4KeyV2) DeepCopyMapKey ¶ added in v1.10.5
func (in *Backend4KeyV2) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Backend4KeyV2) GetID ¶ added in v1.10.5
func (k *Backend4KeyV2) GetID() loadbalancer.BackendID
func (*Backend4KeyV2) GetKeyPtr ¶ added in v1.10.5
func (k *Backend4KeyV2) GetKeyPtr() unsafe.Pointer
func (*Backend4KeyV2) Map ¶ added in v1.10.5
func (k *Backend4KeyV2) Map() *bpf.Map
func (*Backend4KeyV2) NewValue ¶ added in v1.10.5
func (k *Backend4KeyV2) NewValue() bpf.MapValue
func (*Backend4KeyV2) SetID ¶ added in v1.10.5
func (k *Backend4KeyV2) SetID(id loadbalancer.BackendID)
func (*Backend4KeyV2) String ¶ added in v1.10.5
func (k *Backend4KeyV2) String() string
type Backend4V2 ¶ added in v0.15.7
type Backend4V2 struct { Key *Backend4KeyV2 Value *Backend4Value }
func NewBackend4V2 ¶ added in v0.15.7
func NewBackend4V2(id loadbalancer.BackendID, ip net.IP, port uint16, proto u8proto.U8proto) (*Backend4V2, error)
func (*Backend4V2) GetKey ¶ added in v0.15.7
func (b *Backend4V2) GetKey() BackendKey
func (*Backend4V2) GetValue ¶ added in v0.15.7
func (b *Backend4V2) GetValue() BackendValue
func (*Backend4V2) Map ¶ added in v0.15.7
func (b *Backend4V2) Map() *bpf.Map
type Backend4Value ¶ added in v0.15.7
type Backend4Value struct { Address types.IPv4 `align:"address"` Port uint16 `align:"port"` Proto u8proto.U8proto `align:"proto"` Pad uint8 `align:"pad"` }
Backend4Value must match 'struct lb4_backend' in "bpf/lib/common.h". +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func NewBackend4Value ¶ added in v0.15.7
func (*Backend4Value) DeepCopy ¶ added in v1.5.1
func (in *Backend4Value) DeepCopy() *Backend4Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend4Value.
func (*Backend4Value) DeepCopyInto ¶ added in v1.5.1
func (in *Backend4Value) DeepCopyInto(out *Backend4Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend4Value) DeepCopyMapValue ¶ added in v1.5.1
func (in *Backend4Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*Backend4Value) GetAddress ¶ added in v0.15.7
func (b *Backend4Value) GetAddress() net.IP
func (*Backend4Value) GetPort ¶ added in v0.15.7
func (b *Backend4Value) GetPort() uint16
func (*Backend4Value) GetValuePtr ¶ added in v1.5.0
func (v *Backend4Value) GetValuePtr() unsafe.Pointer
func (*Backend4Value) String ¶ added in v0.15.7
func (v *Backend4Value) String() string
func (*Backend4Value) ToHost ¶ added in v0.15.7
func (v *Backend4Value) ToHost() BackendValue
ToHost converts Backend4Value to host byte order.
func (*Backend4Value) ToNetwork ¶ added in v0.15.7
func (v *Backend4Value) ToNetwork() BackendValue
type Backend6 ¶ added in v0.15.7
type Backend6 struct { Key *Backend6Key Value *Backend6Value }
func (*Backend6) GetKey ¶ added in v0.15.7
func (b *Backend6) GetKey() BackendKey
func (*Backend6) GetValue ¶ added in v0.15.7
func (b *Backend6) GetValue() BackendValue
type Backend6Key ¶ added in v0.15.7
type Backend6Key struct {
ID uint16
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*Backend6Key) DeepCopy ¶ added in v1.5.1
func (in *Backend6Key) DeepCopy() *Backend6Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend6Key.
func (*Backend6Key) DeepCopyInto ¶ added in v1.5.1
func (in *Backend6Key) DeepCopyInto(out *Backend6Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend6Key) DeepCopyMapKey ¶ added in v1.5.1
func (in *Backend6Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Backend6Key) GetID ¶ added in v0.15.7
func (k *Backend6Key) GetID() loadbalancer.BackendID
func (*Backend6Key) GetKeyPtr ¶ added in v1.5.0
func (k *Backend6Key) GetKeyPtr() unsafe.Pointer
func (*Backend6Key) Map ¶ added in v0.15.7
func (k *Backend6Key) Map() *bpf.Map
func (*Backend6Key) NewValue ¶ added in v1.5.0
func (k *Backend6Key) NewValue() bpf.MapValue
func (*Backend6Key) SetID ¶ added in v0.15.7
func (k *Backend6Key) SetID(id loadbalancer.BackendID)
func (*Backend6Key) String ¶ added in v0.15.7
func (k *Backend6Key) String() string
type Backend6KeyV2 ¶ added in v1.10.5
type Backend6KeyV2 struct {
ID loadbalancer.BackendID
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func NewBackend6KeyV2 ¶ added in v1.11.0
func NewBackend6KeyV2(id loadbalancer.BackendID) *Backend6KeyV2
func (*Backend6KeyV2) DeepCopy ¶ added in v1.10.5
func (in *Backend6KeyV2) DeepCopy() *Backend6KeyV2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend6KeyV2.
func (*Backend6KeyV2) DeepCopyInto ¶ added in v1.10.5
func (in *Backend6KeyV2) DeepCopyInto(out *Backend6KeyV2)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend6KeyV2) DeepCopyMapKey ¶ added in v1.10.5
func (in *Backend6KeyV2) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Backend6KeyV2) GetID ¶ added in v1.10.5
func (k *Backend6KeyV2) GetID() loadbalancer.BackendID
func (*Backend6KeyV2) GetKeyPtr ¶ added in v1.10.5
func (k *Backend6KeyV2) GetKeyPtr() unsafe.Pointer
func (*Backend6KeyV2) Map ¶ added in v1.10.5
func (k *Backend6KeyV2) Map() *bpf.Map
func (*Backend6KeyV2) NewValue ¶ added in v1.10.5
func (k *Backend6KeyV2) NewValue() bpf.MapValue
func (*Backend6KeyV2) SetID ¶ added in v1.10.5
func (k *Backend6KeyV2) SetID(id loadbalancer.BackendID)
func (*Backend6KeyV2) String ¶ added in v1.10.5
func (k *Backend6KeyV2) String() string
type Backend6V2 ¶ added in v0.15.7
type Backend6V2 struct { Key *Backend6KeyV2 Value *Backend6Value }
func NewBackend6V2 ¶ added in v0.15.7
func NewBackend6V2(id loadbalancer.BackendID, ip net.IP, port uint16, proto u8proto.U8proto) (*Backend6V2, error)
func (*Backend6V2) GetKey ¶ added in v0.15.7
func (b *Backend6V2) GetKey() BackendKey
func (*Backend6V2) GetValue ¶ added in v0.15.7
func (b *Backend6V2) GetValue() BackendValue
func (*Backend6V2) Map ¶ added in v0.15.7
func (b *Backend6V2) Map() *bpf.Map
type Backend6Value ¶ added in v0.15.7
type Backend6Value struct { Address types.IPv6 `align:"address"` Port uint16 `align:"port"` Proto u8proto.U8proto `align:"proto"` Pad uint8 `align:"pad"` }
Backend6Value must match 'struct lb6_backend' in "bpf/lib/common.h". +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func NewBackend6Value ¶ added in v0.15.7
func (*Backend6Value) DeepCopy ¶ added in v1.5.1
func (in *Backend6Value) DeepCopy() *Backend6Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend6Value.
func (*Backend6Value) DeepCopyInto ¶ added in v1.5.1
func (in *Backend6Value) DeepCopyInto(out *Backend6Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend6Value) DeepCopyMapValue ¶ added in v1.5.1
func (in *Backend6Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*Backend6Value) GetAddress ¶ added in v0.15.7
func (b *Backend6Value) GetAddress() net.IP
func (*Backend6Value) GetPort ¶ added in v0.15.7
func (b *Backend6Value) GetPort() uint16
func (*Backend6Value) GetValuePtr ¶ added in v1.5.0
func (v *Backend6Value) GetValuePtr() unsafe.Pointer
func (*Backend6Value) String ¶ added in v0.15.7
func (v *Backend6Value) String() string
func (*Backend6Value) ToHost ¶ added in v0.15.7
func (v *Backend6Value) ToHost() BackendValue
ToHost converts Backend6Value to host byte order.
func (*Backend6Value) ToNetwork ¶ added in v0.15.7
func (v *Backend6Value) ToNetwork() BackendValue
type BackendIDByServiceIDSet ¶ added in v1.8.0
type BackendIDByServiceIDSet map[uint16]map[loadbalancer.BackendID]struct{} // svc ID => backend ID
BackendIDByServiceIDSet is the type of a set for checking whether a backend belongs to a given service
type BackendKey ¶ added in v0.15.7
type BackendKey interface { bpf.MapKey // Return the BPF map matching the type Map() *bpf.Map // Set backend identifier SetID(loadbalancer.BackendID) // Get backend identifier GetID() loadbalancer.BackendID }
BackendKey is the interface describing protocol independent backend key.
type BackendValue ¶ added in v0.15.7
type BackendValue interface { bpf.MapValue // Get backend address GetAddress() net.IP // Get backend port GetPort() uint16 // Convert fields to network byte order. ToNetwork() BackendValue // ToHost converts fields to host byte order. ToHost() BackendValue }
BackendValue is the interface describing protocol independent backend value.
type InitParams ¶ added in v0.15.7
InitParams represents the parameters to be passed to Init().
type LBBPFMap ¶ added in v0.15.7
type LBBPFMap struct {
// contains filtered or unexported fields
}
LBBPFMap is an implementation of the LBMap interface.
func (*LBBPFMap) AddAffinityMatch ¶ added in v0.15.7
func (*LBBPFMap) AddAffinityMatch(revNATID uint16, backendID loadbalancer.BackendID) error
AddAffinityMatch adds the given affinity match to the BPF map.
func (*LBBPFMap) AddBackend ¶ added in v0.15.7
AddBackend adds a backend into a BPF map.
func (*LBBPFMap) DeleteAffinityMatch ¶ added in v0.15.7
func (*LBBPFMap) DeleteAffinityMatch(revNATID uint16, backendID loadbalancer.BackendID) error
DeleteAffinityMatch removes the affinity match for the given svc and backend ID tuple from the BPF map
func (*LBBPFMap) DeleteBackendByID ¶ added in v0.15.7
func (*LBBPFMap) DeleteBackendByID(id loadbalancer.BackendID, ipv6 bool) error
DeleteBackendByID removes a backend identified with the given ID from a BPF map.
func (*LBBPFMap) DeleteService ¶ added in v0.15.7
func (*LBBPFMap) DeleteService(svc loadbalancer.L3n4AddrID, backendCount int, useMaglev bool) error
DeleteService removes given service from a BPF map.
func (*LBBPFMap) DumpAffinityMatches ¶ added in v0.15.7
func (*LBBPFMap) DumpAffinityMatches() (BackendIDByServiceIDSet, error)
DumpAffinityMatches returns the affinity match map represented as a nested map which first key is svc ID and the second - backend ID.
func (*LBBPFMap) DumpBackendMaps ¶ added in v0.15.7
func (*LBBPFMap) DumpBackendMaps() ([]*loadbalancer.Backend, error)
DumpBackendMaps dumps the backend entries from the BPF maps.
func (*LBBPFMap) DumpServiceMaps ¶ added in v0.15.7
func (*LBBPFMap) DumpServiceMaps() ([]*loadbalancer.SVC, []error)
DumpServiceMaps dumps the services from the BPF maps.
func (*LBBPFMap) DumpSourceRanges ¶ added in v0.15.7
func (*LBBPFMap) DumpSourceRanges(ipv6 bool) (SourceRangeSetByServiceID, error)
func (*LBBPFMap) IsMaglevLookupTableRecreated ¶ added in v0.15.7
IsMaglevLookupTableRecreated returns true if the maglev lookup BPF map was recreated due to the changed M param.
func (*LBBPFMap) UpdateSourceRanges ¶ added in v0.15.7
func (*LBBPFMap) UpsertMaglevLookupTable ¶ added in v0.15.7
func (lbmap *LBBPFMap) UpsertMaglevLookupTable(svcID uint16, backends map[string]loadbalancer.BackendID, ipv6 bool) error
UpsertMaglevLookupTable calculates Maglev lookup table for given backends, and inserts into the Maglev BPF map.
func (*LBBPFMap) UpsertService ¶ added in v0.15.7
func (lbmap *LBBPFMap) UpsertService(p *UpsertServiceParams) error
UpsertService inserts or updates the given service in a BPF map.
The corresponding backend entries (identified with the given backendIDs) have to exist before calling the function.
The service's prevActiveBackendCount denotes the count of previously active backend entries that were added to the BPF map so that the function can remove obsolete ones.
type MaglevInnerKey ¶ added in v0.15.7
type MaglevInnerKey struct {
Zero uint32
}
MaglevInnerKey is the key of a maglev inner map.
type MaglevInnerVal ¶ added in v0.15.7
type MaglevInnerVal struct {
BackendIDs []loadbalancer.BackendID
}
MaglevInnerVal is the value of a maglev inner map.
type MaglevOuterIterateCallback ¶ added in v1.11.0
type MaglevOuterIterateCallback func(*MaglevOuterKey, *MaglevOuterVal)
MaglevOuterIterateCallback represents the signature of the callback function expected by the IterateWithCallback method, which in turn is used to iterate all the keys/values of a metrics map.
type MaglevOuterKey ¶ added in v0.15.7
type MaglevOuterKey struct {
RevNatID uint16
}
MaglevOuterKey is the key of a maglev outer map.
func (*MaglevOuterKey) ToNetwork ¶ added in v1.9.0
func (k *MaglevOuterKey) ToNetwork() *MaglevOuterKey
ToNetwork converts a maglev outer map's key to network byte order.
type MaglevOuterVal ¶ added in v0.15.7
type MaglevOuterVal struct {
FD uint32
}
MaglevOuterVal is the value of a maglev outer map.
type RevNat4Key ¶
type RevNat4Key struct {
Key uint16
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func NewRevNat4Key ¶
func NewRevNat4Key(value uint16) *RevNat4Key
func (*RevNat4Key) DeepCopy ¶ added in v1.5.1
func (in *RevNat4Key) DeepCopy() *RevNat4Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevNat4Key.
func (*RevNat4Key) DeepCopyInto ¶ added in v1.5.1
func (in *RevNat4Key) DeepCopyInto(out *RevNat4Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevNat4Key) DeepCopyMapKey ¶ added in v1.5.1
func (in *RevNat4Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*RevNat4Key) GetKey ¶
func (k *RevNat4Key) GetKey() uint16
func (*RevNat4Key) GetKeyPtr ¶
func (k *RevNat4Key) GetKeyPtr() unsafe.Pointer
func (*RevNat4Key) Map ¶
func (k *RevNat4Key) Map() *bpf.Map
func (*RevNat4Key) NewValue ¶
func (k *RevNat4Key) NewValue() bpf.MapValue
func (*RevNat4Key) String ¶
func (k *RevNat4Key) String() string
func (*RevNat4Key) ToHost ¶ added in v0.15.7
func (k *RevNat4Key) ToHost() RevNatKey
ToHost converts RevNat4Key to host byte order.
func (*RevNat4Key) ToNetwork ¶ added in v0.10.0
func (k *RevNat4Key) ToNetwork() RevNatKey
ToNetwork converts RevNat4Key to network byte order.
type RevNat4Value ¶
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*RevNat4Value) DeepCopy ¶ added in v1.5.1
func (in *RevNat4Value) DeepCopy() *RevNat4Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevNat4Value.
func (*RevNat4Value) DeepCopyInto ¶ added in v1.5.1
func (in *RevNat4Value) DeepCopyInto(out *RevNat4Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevNat4Value) DeepCopyMapValue ¶ added in v1.5.1
func (in *RevNat4Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*RevNat4Value) GetValuePtr ¶
func (v *RevNat4Value) GetValuePtr() unsafe.Pointer
func (*RevNat4Value) String ¶
func (v *RevNat4Value) String() string
func (*RevNat4Value) ToHost ¶ added in v0.15.7
func (k *RevNat4Value) ToHost() RevNatValue
ToHost converts RevNat4Value to host byte order.
func (*RevNat4Value) ToNetwork ¶ added in v0.10.0
func (v *RevNat4Value) ToNetwork() RevNatValue
ToNetwork converts RevNat4Value to network byte order.
type RevNat6Key ¶
type RevNat6Key struct {
Key uint16
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func NewRevNat6Key ¶
func NewRevNat6Key(value uint16) *RevNat6Key
func (*RevNat6Key) DeepCopy ¶ added in v1.5.1
func (in *RevNat6Key) DeepCopy() *RevNat6Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevNat6Key.
func (*RevNat6Key) DeepCopyInto ¶ added in v1.5.1
func (in *RevNat6Key) DeepCopyInto(out *RevNat6Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevNat6Key) DeepCopyMapKey ¶ added in v1.5.1
func (in *RevNat6Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*RevNat6Key) GetKey ¶
func (v *RevNat6Key) GetKey() uint16
func (*RevNat6Key) GetKeyPtr ¶
func (v *RevNat6Key) GetKeyPtr() unsafe.Pointer
func (*RevNat6Key) Map ¶
func (v *RevNat6Key) Map() *bpf.Map
func (*RevNat6Key) NewValue ¶
func (v *RevNat6Key) NewValue() bpf.MapValue
func (*RevNat6Key) String ¶
func (v *RevNat6Key) String() string
func (*RevNat6Key) ToHost ¶ added in v0.15.7
func (v *RevNat6Key) ToHost() RevNatKey
ToNetwork converts RevNat6Key to host byte order.
func (*RevNat6Key) ToNetwork ¶ added in v0.10.0
func (v *RevNat6Key) ToNetwork() RevNatKey
ToNetwork converts RevNat6Key to network byte order.
type RevNat6Value ¶
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*RevNat6Value) DeepCopy ¶ added in v1.5.1
func (in *RevNat6Value) DeepCopy() *RevNat6Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevNat6Value.
func (*RevNat6Value) DeepCopyInto ¶ added in v1.5.1
func (in *RevNat6Value) DeepCopyInto(out *RevNat6Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevNat6Value) DeepCopyMapValue ¶ added in v1.5.1
func (in *RevNat6Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*RevNat6Value) GetValuePtr ¶
func (v *RevNat6Value) GetValuePtr() unsafe.Pointer
func (*RevNat6Value) String ¶
func (v *RevNat6Value) String() string
func (*RevNat6Value) ToHost ¶ added in v0.15.7
func (v *RevNat6Value) ToHost() RevNatValue
ToNetwork converts RevNat6Value to Host byte order.
func (*RevNat6Value) ToNetwork ¶ added in v0.10.0
func (v *RevNat6Value) ToNetwork() RevNatValue
ToNetwork converts RevNat6Value to network byte order.
type RevNatValue ¶
type RevNatValue interface { bpf.MapValue // ToNetwork converts fields to network byte order. ToNetwork() RevNatValue // ToHost converts fields to host byte order. ToHost() RevNatValue }
type Service4Key ¶
type Service4Key struct { Address types.IPv4 `align:"address"` Port uint16 `align:"dport"` BackendSlot uint16 `align:"backend_slot"` Proto uint8 `align:"proto"` Scope uint8 `align:"scope"` Pad pad2uint8 `align:"pad"` }
Service4Key must match 'struct lb4_key' in "bpf/lib/common.h". +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func NewService4Key ¶
func (*Service4Key) DeepCopy ¶ added in v1.5.1
func (in *Service4Key) DeepCopy() *Service4Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service4Key.
func (*Service4Key) DeepCopyInto ¶ added in v1.5.1
func (in *Service4Key) DeepCopyInto(out *Service4Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service4Key) DeepCopyMapKey ¶ added in v1.5.1
func (in *Service4Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Service4Key) GetAddress ¶ added in v0.15.7
func (k *Service4Key) GetAddress() net.IP
func (*Service4Key) GetBackendSlot ¶ added in v0.15.7
func (k *Service4Key) GetBackendSlot() int
func (*Service4Key) GetKeyPtr ¶
func (k *Service4Key) GetKeyPtr() unsafe.Pointer
func (*Service4Key) GetPort ¶
func (k *Service4Key) GetPort() uint16
func (*Service4Key) GetScope ¶ added in v0.15.7
func (k *Service4Key) GetScope() uint8
func (*Service4Key) IsIPv6 ¶
func (k *Service4Key) IsIPv6() bool
func (*Service4Key) IsSurrogate ¶ added in v0.15.7
func (k *Service4Key) IsSurrogate() bool
func (*Service4Key) Map ¶
func (k *Service4Key) Map() *bpf.Map
func (*Service4Key) MapDelete ¶
func (k *Service4Key) MapDelete() error
func (*Service4Key) NewValue ¶
func (k *Service4Key) NewValue() bpf.MapValue
func (*Service4Key) RevNatValue ¶
func (k *Service4Key) RevNatValue() RevNatValue
func (*Service4Key) SetBackendSlot ¶ added in v0.15.7
func (k *Service4Key) SetBackendSlot(slot int)
func (*Service4Key) SetScope ¶ added in v0.15.7
func (k *Service4Key) SetScope(scope uint8)
func (*Service4Key) String ¶
func (k *Service4Key) String() string
func (*Service4Key) ToHost ¶ added in v0.10.0
func (k *Service4Key) ToHost() ServiceKey
ToHost converts Service4Key to host byte order.
func (*Service4Key) ToNetwork ¶ added in v0.10.0
func (k *Service4Key) ToNetwork() ServiceKey
type Service4Value ¶
type Service4Value struct { BackendID uint32 `align:"backend_id"` Count uint16 `align:"count"` RevNat uint16 `align:"rev_nat_index"` Flags uint8 `align:"flags"` Flags2 uint8 `align:"flags2"` Pad pad2uint8 `align:"pad"` }
Service4Value must match 'struct lb4_service_v2' in "bpf/lib/common.h". +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*Service4Value) DeepCopy ¶ added in v1.5.1
func (in *Service4Value) DeepCopy() *Service4Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service4Value.
func (*Service4Value) DeepCopyInto ¶ added in v1.5.1
func (in *Service4Value) DeepCopyInto(out *Service4Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service4Value) DeepCopyMapValue ¶ added in v1.5.1
func (in *Service4Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*Service4Value) GetBackendID ¶ added in v0.15.7
func (s *Service4Value) GetBackendID() loadbalancer.BackendID
func (*Service4Value) GetCount ¶
func (s *Service4Value) GetCount() int
func (*Service4Value) GetFlags ¶ added in v0.15.7
func (s *Service4Value) GetFlags() uint16
func (*Service4Value) GetRevNat ¶ added in v0.15.7
func (s *Service4Value) GetRevNat() int
func (*Service4Value) GetValuePtr ¶
func (s *Service4Value) GetValuePtr() unsafe.Pointer
func (*Service4Value) RevNatKey ¶
func (s *Service4Value) RevNatKey() RevNatKey
func (*Service4Value) SetBackendID ¶ added in v0.15.7
func (s *Service4Value) SetBackendID(id loadbalancer.BackendID)
func (*Service4Value) SetCount ¶
func (s *Service4Value) SetCount(count int)
func (*Service4Value) SetFlags ¶ added in v0.15.7
func (s *Service4Value) SetFlags(flags uint16)
func (*Service4Value) SetRevNat ¶
func (s *Service4Value) SetRevNat(id int)
func (*Service4Value) SetSessionAffinityTimeoutSec ¶ added in v0.15.7
func (s *Service4Value) SetSessionAffinityTimeoutSec(t uint32)
func (*Service4Value) String ¶
func (s *Service4Value) String() string
func (*Service4Value) ToHost ¶ added in v0.10.0
func (s *Service4Value) ToHost() ServiceValue
ToHost converts Service4Value to host byte order.
func (*Service4Value) ToNetwork ¶ added in v0.10.0
func (s *Service4Value) ToNetwork() ServiceValue
type Service6Key ¶
type Service6Key struct { Address types.IPv6 `align:"address"` Port uint16 `align:"dport"` BackendSlot uint16 `align:"backend_slot"` Proto uint8 `align:"proto"` Scope uint8 `align:"scope"` Pad pad2uint8 `align:"pad"` }
Service6Key must match 'struct lb6_key' in "bpf/lib/common.h". +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func NewService6Key ¶
func (*Service6Key) DeepCopy ¶ added in v1.5.1
func (in *Service6Key) DeepCopy() *Service6Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service6Key.
func (*Service6Key) DeepCopyInto ¶ added in v1.5.1
func (in *Service6Key) DeepCopyInto(out *Service6Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service6Key) DeepCopyMapKey ¶ added in v1.5.1
func (in *Service6Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*Service6Key) GetAddress ¶ added in v0.15.7
func (k *Service6Key) GetAddress() net.IP
func (*Service6Key) GetBackendSlot ¶ added in v0.15.7
func (k *Service6Key) GetBackendSlot() int
func (*Service6Key) GetKeyPtr ¶
func (k *Service6Key) GetKeyPtr() unsafe.Pointer
func (*Service6Key) GetPort ¶
func (k *Service6Key) GetPort() uint16
func (*Service6Key) GetScope ¶ added in v0.15.7
func (k *Service6Key) GetScope() uint8
func (*Service6Key) IsIPv6 ¶
func (k *Service6Key) IsIPv6() bool
func (*Service6Key) IsSurrogate ¶ added in v0.15.7
func (k *Service6Key) IsSurrogate() bool
func (*Service6Key) Map ¶
func (k *Service6Key) Map() *bpf.Map
func (*Service6Key) MapDelete ¶ added in v0.15.7
func (k *Service6Key) MapDelete() error
func (*Service6Key) NewValue ¶
func (k *Service6Key) NewValue() bpf.MapValue
func (*Service6Key) RevNatValue ¶
func (k *Service6Key) RevNatValue() RevNatValue
func (*Service6Key) SetBackendSlot ¶ added in v0.15.7
func (k *Service6Key) SetBackendSlot(slot int)
func (*Service6Key) SetScope ¶ added in v0.15.7
func (k *Service6Key) SetScope(scope uint8)
func (*Service6Key) String ¶
func (k *Service6Key) String() string
func (*Service6Key) ToHost ¶ added in v0.10.0
func (k *Service6Key) ToHost() ServiceKey
ToHost converts Service6Key to host byte order.
func (*Service6Key) ToNetwork ¶ added in v0.10.0
func (k *Service6Key) ToNetwork() ServiceKey
type Service6Value ¶
type Service6Value struct { BackendID uint32 `align:"backend_id"` Count uint16 `align:"count"` RevNat uint16 `align:"rev_nat_index"` Flags uint8 `align:"flags"` Flags2 uint8 `align:"flags2"` Pad pad2uint8 `align:"pad"` }
Service6Value must match 'struct lb6_service_v2' in "bpf/lib/common.h". +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*Service6Value) DeepCopy ¶ added in v1.5.1
func (in *Service6Value) DeepCopy() *Service6Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service6Value.
func (*Service6Value) DeepCopyInto ¶ added in v1.5.1
func (in *Service6Value) DeepCopyInto(out *Service6Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service6Value) DeepCopyMapValue ¶ added in v1.5.1
func (in *Service6Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*Service6Value) GetBackendID ¶ added in v0.15.7
func (s *Service6Value) GetBackendID() loadbalancer.BackendID
func (*Service6Value) GetCount ¶
func (s *Service6Value) GetCount() int
func (*Service6Value) GetFlags ¶ added in v0.15.7
func (s *Service6Value) GetFlags() uint16
func (*Service6Value) GetRevNat ¶ added in v0.15.7
func (s *Service6Value) GetRevNat() int
func (*Service6Value) GetValuePtr ¶
func (s *Service6Value) GetValuePtr() unsafe.Pointer
func (*Service6Value) RevNatKey ¶
func (s *Service6Value) RevNatKey() RevNatKey
func (*Service6Value) SetBackendID ¶ added in v0.15.7
func (s *Service6Value) SetBackendID(id loadbalancer.BackendID)
func (*Service6Value) SetCount ¶
func (s *Service6Value) SetCount(count int)
func (*Service6Value) SetFlags ¶ added in v0.15.7
func (s *Service6Value) SetFlags(flags uint16)
func (*Service6Value) SetRevNat ¶
func (s *Service6Value) SetRevNat(id int)
func (*Service6Value) SetSessionAffinityTimeoutSec ¶ added in v0.15.7
func (s *Service6Value) SetSessionAffinityTimeoutSec(t uint32)
func (*Service6Value) String ¶
func (s *Service6Value) String() string
func (*Service6Value) ToHost ¶ added in v0.10.0
func (s *Service6Value) ToHost() ServiceValue
ToHost converts Service6Value to host byte order.
func (*Service6Value) ToNetwork ¶ added in v0.10.0
func (s *Service6Value) ToNetwork() ServiceValue
type ServiceKey ¶
type ServiceKey interface { bpf.MapKey // Return true if the key is of type IPv6 IsIPv6() bool // IsSurrogate returns true on zero-address IsSurrogate() bool // Return the BPF map matching the key type Map() *bpf.Map // Set backend slot for the key SetBackendSlot(slot int) // Get backend slot of the key GetBackendSlot() int // Set lookup scope for the key SetScope(scope uint8) // Get lookup scope for the key GetScope() uint8 // Get frontend IP address GetAddress() net.IP // Get frontend port GetPort() uint16 // Returns a RevNatValue matching a ServiceKey RevNatValue() RevNatValue // Delete entry identified with the key from the matching map MapDelete() error // ToNetwork converts fields to network byte order. ToNetwork() ServiceKey // ToHost converts fields to host byte order. ToHost() ServiceKey }
ServiceKey is the interface describing protocol independent key for services map v2.
type ServiceValue ¶
type ServiceValue interface { bpf.MapValue // Set the number of backends SetCount(int) // Get the number of backends GetCount() int // Set reverse NAT identifier SetRevNat(int) // Get reverse NAT identifier GetRevNat() int // Set flags SetFlags(uint16) // Get flags GetFlags() uint16 // Set timeout for sessionAffinity=clientIP SetSessionAffinityTimeoutSec(t uint32) // Set backend identifier SetBackendID(id loadbalancer.BackendID) // Get backend identifier GetBackendID() loadbalancer.BackendID // Returns a RevNatKey matching a ServiceValue RevNatKey() RevNatKey // Convert fields to network byte order. ToNetwork() ServiceValue // ToHost converts fields to host byte order. ToHost() ServiceValue }
ServiceValue is the interface describing protocol independent value for services map v2.
type SockRevNat4Key ¶ added in v0.15.7
type SockRevNat4Key struct {
// contains filtered or unexported fields
}
SockRevNat4Key is the tuple with address, port and cookie used as key in the reverse NAT sock map. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*SockRevNat4Key) DeepCopy ¶ added in v1.8.0
func (in *SockRevNat4Key) DeepCopy() *SockRevNat4Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SockRevNat4Key.
func (*SockRevNat4Key) DeepCopyInto ¶ added in v1.8.0
func (in *SockRevNat4Key) DeepCopyInto(out *SockRevNat4Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SockRevNat4Key) DeepCopyMapKey ¶ added in v1.8.0
func (in *SockRevNat4Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*SockRevNat4Key) GetKeyPtr ¶ added in v1.8.0
func (k *SockRevNat4Key) GetKeyPtr() unsafe.Pointer
GetKeyPtr returns the unsafe pointer to the BPF key
func (SockRevNat4Key) NewValue ¶ added in v1.8.0
func (k SockRevNat4Key) NewValue() bpf.MapValue
NewValue returns a new empty instance of the structure representing the BPF map value.
func (*SockRevNat4Key) String ¶ added in v0.15.7
func (k *SockRevNat4Key) String() string
String converts the key into a human readable string format.
type SockRevNat4Value ¶ added in v0.15.7
type SockRevNat4Value struct {
// contains filtered or unexported fields
}
SockRevNat4Value is an entry in the reverse NAT sock map. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*SockRevNat4Value) DeepCopy ¶ added in v1.8.0
func (in *SockRevNat4Value) DeepCopy() *SockRevNat4Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SockRevNat4Value.
func (*SockRevNat4Value) DeepCopyInto ¶ added in v1.8.0
func (in *SockRevNat4Value) DeepCopyInto(out *SockRevNat4Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SockRevNat4Value) DeepCopyMapValue ¶ added in v1.8.0
func (in *SockRevNat4Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*SockRevNat4Value) GetValuePtr ¶ added in v1.8.0
func (v *SockRevNat4Value) GetValuePtr() unsafe.Pointer
GetValuePtr returns the unsafe pointer to the BPF value
func (*SockRevNat4Value) String ¶ added in v0.15.7
func (v *SockRevNat4Value) String() string
String converts the value into a human readable string format.
type SockRevNat6Key ¶ added in v0.15.7
type SockRevNat6Key struct {
// contains filtered or unexported fields
}
SockRevNat6Key is the tuple with address, port and cookie used as key in the reverse NAT sock map. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*SockRevNat6Key) DeepCopy ¶ added in v1.8.0
func (in *SockRevNat6Key) DeepCopy() *SockRevNat6Key
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SockRevNat6Key.
func (*SockRevNat6Key) DeepCopyInto ¶ added in v1.8.0
func (in *SockRevNat6Key) DeepCopyInto(out *SockRevNat6Key)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SockRevNat6Key) DeepCopyMapKey ¶ added in v1.8.0
func (in *SockRevNat6Key) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*SockRevNat6Key) GetKeyPtr ¶ added in v1.8.0
func (k *SockRevNat6Key) GetKeyPtr() unsafe.Pointer
GetKeyPtr returns the unsafe pointer to the BPF key
func (SockRevNat6Key) NewValue ¶ added in v1.8.0
func (k SockRevNat6Key) NewValue() bpf.MapValue
NewValue returns a new empty instance of the structure representing the BPF map value.
func (*SockRevNat6Key) String ¶ added in v0.15.7
func (k *SockRevNat6Key) String() string
String converts the key into a human readable string format.
type SockRevNat6Value ¶ added in v0.15.7
type SockRevNat6Value struct {
// contains filtered or unexported fields
}
SockRevNat6Value is an entry in the reverse NAT sock map. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*SockRevNat6Value) DeepCopy ¶ added in v1.8.0
func (in *SockRevNat6Value) DeepCopy() *SockRevNat6Value
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SockRevNat6Value.
func (*SockRevNat6Value) DeepCopyInto ¶ added in v1.8.0
func (in *SockRevNat6Value) DeepCopyInto(out *SockRevNat6Value)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SockRevNat6Value) DeepCopyMapValue ¶ added in v1.8.0
func (in *SockRevNat6Value) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*SockRevNat6Value) GetValuePtr ¶ added in v1.8.0
func (v *SockRevNat6Value) GetValuePtr() unsafe.Pointer
GetValuePtr returns the unsafe pointer to the BPF value
func (*SockRevNat6Value) String ¶ added in v0.15.7
func (v *SockRevNat6Value) String() string
String converts the value into a human readable string format.
type SourceRangeKey ¶ added in v0.15.7
type SourceRangeKey interface { GetCIDR() *cidr.CIDR GetRevNATID() uint16 // Convert fields to network byte order. ToNetwork() SourceRangeKey // ToHost converts fields to host byte order. ToHost() SourceRangeKey }
type SourceRangeKey4 ¶ added in v0.15.7
type SourceRangeKey4 struct { PrefixLen uint32 `align:"lpm_key"` RevNATID uint16 `align:"rev_nat_id"` Pad uint16 `align:"pad"` Address types.IPv4 `align:"addr"` }
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*SourceRangeKey4) DeepCopy ¶ added in v1.8.3
func (in *SourceRangeKey4) DeepCopy() *SourceRangeKey4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRangeKey4.
func (*SourceRangeKey4) DeepCopyInto ¶ added in v1.8.3
func (in *SourceRangeKey4) DeepCopyInto(out *SourceRangeKey4)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SourceRangeKey4) DeepCopyMapKey ¶ added in v1.8.3
func (in *SourceRangeKey4) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*SourceRangeKey4) GetCIDR ¶ added in v0.15.7
func (k *SourceRangeKey4) GetCIDR() *cidr.CIDR
func (*SourceRangeKey4) GetKeyPtr ¶ added in v1.8.3
func (k *SourceRangeKey4) GetKeyPtr() unsafe.Pointer
func (*SourceRangeKey4) GetRevNATID ¶ added in v0.15.7
func (k *SourceRangeKey4) GetRevNATID() uint16
func (*SourceRangeKey4) NewValue ¶ added in v1.8.3
func (k *SourceRangeKey4) NewValue() bpf.MapValue
func (*SourceRangeKey4) String ¶ added in v0.15.7
func (k *SourceRangeKey4) String() string
func (*SourceRangeKey4) ToHost ¶ added in v0.15.7
func (k *SourceRangeKey4) ToHost() SourceRangeKey
ToHost returns the key in the host byte order
func (*SourceRangeKey4) ToNetwork ¶ added in v0.15.7
func (k *SourceRangeKey4) ToNetwork() SourceRangeKey
type SourceRangeKey6 ¶ added in v0.15.7
type SourceRangeKey6 struct { PrefixLen uint32 `align:"lpm_key"` RevNATID uint16 `align:"rev_nat_id"` Pad uint16 `align:"pad"` Address types.IPv6 `align:"addr"` }
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*SourceRangeKey6) DeepCopy ¶ added in v1.8.3
func (in *SourceRangeKey6) DeepCopy() *SourceRangeKey6
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRangeKey6.
func (*SourceRangeKey6) DeepCopyInto ¶ added in v1.8.3
func (in *SourceRangeKey6) DeepCopyInto(out *SourceRangeKey6)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SourceRangeKey6) DeepCopyMapKey ¶ added in v1.8.3
func (in *SourceRangeKey6) DeepCopyMapKey() bpf.MapKey
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
func (*SourceRangeKey6) GetCIDR ¶ added in v0.15.7
func (k *SourceRangeKey6) GetCIDR() *cidr.CIDR
func (*SourceRangeKey6) GetKeyPtr ¶ added in v1.8.3
func (k *SourceRangeKey6) GetKeyPtr() unsafe.Pointer
func (*SourceRangeKey6) GetRevNATID ¶ added in v0.15.7
func (k *SourceRangeKey6) GetRevNATID() uint16
func (*SourceRangeKey6) NewValue ¶ added in v1.8.3
func (k *SourceRangeKey6) NewValue() bpf.MapValue
func (*SourceRangeKey6) String ¶ added in v0.15.7
func (k *SourceRangeKey6) String() string
func (*SourceRangeKey6) ToHost ¶ added in v0.15.7
func (k *SourceRangeKey6) ToHost() SourceRangeKey
ToHost returns the key in the host byte order
func (*SourceRangeKey6) ToNetwork ¶ added in v0.15.7
func (k *SourceRangeKey6) ToNetwork() SourceRangeKey
type SourceRangeSetByServiceID ¶ added in v1.8.3
type SourceRangeValue ¶ added in v0.15.7
type SourceRangeValue struct {
Pad uint8 // not used
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*SourceRangeValue) DeepCopy ¶ added in v1.8.3
func (in *SourceRangeValue) DeepCopy() *SourceRangeValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRangeValue.
func (*SourceRangeValue) DeepCopyInto ¶ added in v1.8.3
func (in *SourceRangeValue) DeepCopyInto(out *SourceRangeValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SourceRangeValue) DeepCopyMapValue ¶ added in v1.8.3
func (in *SourceRangeValue) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*SourceRangeValue) GetValuePtr ¶ added in v1.8.3
func (v *SourceRangeValue) GetValuePtr() unsafe.Pointer
func (*SourceRangeValue) String ¶ added in v0.15.7
func (v *SourceRangeValue) String() string