Documentation
¶
Overview ¶
+groupName=maps
Index ¶
Constants ¶
const ( // MaxEntries is the maximum number of keys that can be present in the // RemoteEndpointMap. MaxEntries = 512000 // Name is the canonical name for the IPCache map on the filesystem. Name = "cilium_ipcache" )
Variables ¶
This section is empty.
Functions ¶
func Reopen ¶
func Reopen() error
Reopen attempts to close and re-open the IPCache map at the standard path on the filesystem.
func SupportsDelete ¶
func SupportsDelete() bool
SupportsDelete determines whether the underlying kernel map type supports the delete operation.
Types ¶
type Key ¶
type Key struct {
Prefixlen uint32 `align:"lpm_key"`
Pad1 uint16 `align:"pad1"`
ClusterID uint8 `align:"cluster_id"`
Family uint8 `align:"family"`
// represents both IPv6 and IPv4 (in the lowest four bytes)
IP types.IPv6 `align:"$union0"`
}
Key implements the bpf.MapKey interface.
Must be in sync with struct ipcache_key in <bpf/lib/maps.h> +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/go-faster/cilium/pkg/bpf.MapKey
func NewKey ¶
NewKey returns an Key based on the provided IP address, mask, and ClusterID. The address family is automatically detected
func (*Key) DeepCopy ¶ added in v1.5.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Key.
func (*Key) DeepCopyInto ¶ added in v1.5.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Key) DeepCopyMapKey ¶ added in v1.5.1
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
type Map ¶
Map represents an IPCache BPF map.
func IPCacheMap ¶ added in v1.14.0
func IPCacheMap() *Map
IPCacheMap gets the ipcache Map singleton. If it has not already been done, this also initializes the Map.
func (*Map) DeleteWithOverwrite ¶ added in v1.14.0
DeleteWithOverwrite removes a key from the ipcache BPF map. If delete is not supported, the entry's value will be overwritten with zeroes to signify that it's an invalid entry.
func (*Map) GetMaxPrefixLengths ¶
GetMaxPrefixLengths determines how many unique prefix lengths are supported simultaneously based on the underlying BPF map type in use.
type RemoteEndpointInfo ¶
type RemoteEndpointInfo struct {
SecurityIdentity uint32 `align:"sec_label"`
TunnelEndpoint types.IPv4 `align:"tunnel_endpoint"`
NodeID uint16 `align:"node_id"`
Key uint8 `align:"key"`
}
RemoteEndpointInfo implements the bpf.MapValue interface. It contains the security identity of a remote endpoint. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/go-faster/cilium/pkg/bpf.MapValue
func (*RemoteEndpointInfo) DeepCopy ¶ added in v1.5.1
func (in *RemoteEndpointInfo) DeepCopy() *RemoteEndpointInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteEndpointInfo.
func (*RemoteEndpointInfo) DeepCopyInto ¶ added in v1.5.1
func (in *RemoteEndpointInfo) DeepCopyInto(out *RemoteEndpointInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RemoteEndpointInfo) DeepCopyMapValue ¶ added in v1.5.1
func (in *RemoteEndpointInfo) DeepCopyMapValue() bpf.MapValue
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*RemoteEndpointInfo) GetValuePtr ¶
func (v *RemoteEndpointInfo) GetValuePtr() unsafe.Pointer
GetValuePtr returns the unsafe pointer to the BPF value.
func (*RemoteEndpointInfo) String ¶
func (v *RemoteEndpointInfo) String() string