Documentation ¶
Overview ¶
Package nat implements the BPF NAT map interaction code. +groupName=maps
Index ¶
- Constants
- func NatDumpCreated(dumpStart, entryCreated uint64) string
- type Map
- type NatEntry
- type NatEntry4
- func (in *NatEntry4) DeepCopy() *NatEntry4
- func (in *NatEntry4) DeepCopyInto(out *NatEntry4)
- func (in *NatEntry4) DeepCopyMapValue() bpf.MapValue
- func (n *NatEntry4) Dump(key NatKey, start uint64) string
- func (n *NatEntry4) GetValuePtr() unsafe.Pointer
- func (n *NatEntry4) String() string
- func (n *NatEntry4) ToHost() NatEntry
- type NatEntry6
- func (in *NatEntry6) DeepCopy() *NatEntry6
- func (in *NatEntry6) DeepCopyInto(out *NatEntry6)
- func (in *NatEntry6) DeepCopyMapValue() bpf.MapValue
- func (n *NatEntry6) Dump(key NatKey, start uint64) string
- func (n *NatEntry6) GetValuePtr() unsafe.Pointer
- func (n *NatEntry6) String() string
- func (n *NatEntry6) ToHost() NatEntry
- type NatKey
- type NatKey4
- type NatKey6
Constants ¶
const ( // MapNameSnat4Global represents global IPv4 NAT table. MapNameSnat4Global = "cilium_snat_v4_external" // MapNameSnat6Global represents global IPv6 NAT table. MapNameSnat6Global = "cilium_snat_v6_external" // MinPortSnatDefault represents default min port from range. MinPortSnatDefault = 1024 // MaxPortSnatDefault represents default max port from range. MaxPortSnatDefault = 65535 // CollisionRetriesDefault defines maximum retries for resolving port collisions. CollisionRetriesDefault = 20 // DeterministicRetriesDefault defines maximum deterministic retries for // resolving port collisions. DeterministicRetriesDefault = 6 )
Variables ¶
This section is empty.
Functions ¶
func NatDumpCreated ¶
NatDumpCreated returns time in seconds when NAT entry was created.
Types ¶
type Map ¶
Map represents a NAT map.
func GlobalMaps ¶
GlobalMaps returns all global NAT maps.
func (*Map) DeleteMapping ¶
DeleteMapping removes a NAT mapping from the global NAT table.
func (*Map) DumpEntries ¶
DumpEntries iterates through Map m and writes the values of the nat entries in m to a string.
type NatEntry ¶
type NatEntry interface { bpf.MapValue // ToHost converts fields to host byte order. ToHost() NatEntry // Dumps the Nat entry as string. Dump(key NatKey, start uint64) string }
NatEntry is the interface describing values to the NAT map.
type NatEntry4 ¶
type NatEntry4 struct { Created uint64 `align:"created"` HostLocal uint64 `align:"host_local"` Pad1 uint64 `align:"pad1"` Pad2 uint64 `align:"pad2"` Addr types.IPv4 `align:"to_saddr"` Port uint16 `align:"to_sport"` }
NatEntry4 represents an IPv4 entry in the NAT table. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*NatEntry4) DeepCopy ¶ added in v1.5.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatEntry4.
func (*NatEntry4) DeepCopyInto ¶ added in v1.5.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatEntry4) DeepCopyMapValue ¶ added in v1.5.1
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*NatEntry4) GetValuePtr ¶
GetValuePtr returns the unsafe.Pointer for n.
type NatEntry6 ¶
type NatEntry6 struct { Created uint64 `align:"created"` HostLocal uint64 `align:"host_local"` Pad1 uint64 `align:"pad1"` Pad2 uint64 `align:"pad2"` Addr types.IPv6 `align:"to_saddr"` Port uint16 `align:"to_sport"` }
NatEntry6 represents an IPv6 entry in the NAT table. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapValue
func (*NatEntry6) DeepCopy ¶ added in v1.5.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatEntry6.
func (*NatEntry6) DeepCopyInto ¶ added in v1.5.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatEntry6) DeepCopyMapValue ¶ added in v1.5.1
DeepCopyMapValue is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapValue.
func (*NatEntry6) GetValuePtr ¶
GetValuePtr returns the unsafe.Pointer for n.
type NatKey ¶ added in v1.6.0
type NatKey interface { bpf.MapKey // ToNetwork converts fields to network byte order. ToNetwork() NatKey // ToHost converts fields to host byte order. ToHost() NatKey // Dump contents of key to buffer. Returns true if successful. Dump(buffer *bytes.Buffer, reverse bool) bool // GetFlags flags containing the direction of the TupleKey. GetFlags() uint8 }
type NatKey4 ¶ added in v1.6.0
type NatKey4 struct {
tuple.TupleKey4Global
}
NatKey4 is needed to provide NatEntry type to Lookup values +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*NatKey4) DeepCopy ¶ added in v1.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatKey4.
func (*NatKey4) DeepCopyInto ¶ added in v1.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatKey4) DeepCopyMapKey ¶ added in v1.6.0
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.
type NatKey6 ¶ added in v1.6.0
type NatKey6 struct {
tuple.TupleKey6Global
}
NatKey6 is needed to provide NatEntry type to Lookup values +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/cilium/cilium/pkg/bpf.MapKey
func (*NatKey6) DeepCopy ¶ added in v1.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatKey6.
func (*NatKey6) DeepCopyInto ¶ added in v1.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatKey6) DeepCopyMapKey ¶ added in v1.6.0
DeepCopyMapKey is an autogenerated deepcopy function, copying the receiver, creating a new bpf.MapKey.