Documentation ¶
Overview ¶
Package tuple defines keys used for connection tuples in multiple BPF maps.
Index ¶
- Constants
- type TupleKey
- type TupleKey4
- func (k TupleKey4) Dump(buffer *bytes.Buffer, reverse bool) bool
- func (k *TupleKey4) GetFlags() uint8
- func (k *TupleKey4) GetKeyPtr() unsafe.Pointer
- func (k *TupleKey4) NewValue() bpf.MapValue
- func (k *TupleKey4) String() string
- func (k *TupleKey4) ToHost() TupleKey
- func (k *TupleKey4) ToNetwork() TupleKey
- type TupleKey4Global
- type TupleKey6
- func (k TupleKey6) Dump(buffer *bytes.Buffer, reverse bool) bool
- func (k *TupleKey6) GetFlags() uint8
- func (k *TupleKey6) GetKeyPtr() unsafe.Pointer
- func (k *TupleKey6) NewValue() bpf.MapValue
- func (k *TupleKey6) String() string
- func (k *TupleKey6) ToHost() TupleKey
- func (k *TupleKey6) ToNetwork() TupleKey
- type TupleKey6Global
- type TupleValStub
Constants ¶
const ( TUPLE_F_OUT = 0 TUPLE_F_IN = 1 TUPLE_F_RELATED = 2 TUPLE_F_SERVICE = 4 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TupleKey ¶
type TupleKey interface { bpf.MapKey // ToNetwork converts fields to network byte order. ToNetwork() TupleKey // ToHost converts fields to host byte order. ToHost() TupleKey // Dumps contents of key to buffer. Returns true if successful. Dump(buffer *bytes.Buffer, reverse bool) bool // Returns flags containing the direction of the tuple key. GetFlags() uint8 }
TupleKey is the interface describing keys to the conntrack and NAT maps.
type TupleKey4 ¶
type TupleKey4 struct { DestAddr types.IPv4 `align:"daddr"` SourceAddr types.IPv4 `align:"saddr"` DestPort uint16 `align:"dport"` SourcePort uint16 `align:"sport"` NextHeader u8proto.U8proto `align:"nexthdr"` Flags uint8 `align:"flags"` }
TupleKey4 represents the key for IPv4 entries in the local BPF conntrack map.
func (TupleKey4) Dump ¶
Dump writes the contents of key to buffer and returns true if the value for next header in the key is nonzero.
type TupleKey4Global ¶
type TupleKey4Global struct {
TupleKey4
}
TupleKey4Global represents the key for IPv4 entries in the global BPF conntrack map.
func (TupleKey4Global) Dump ¶
func (k TupleKey4Global) Dump(buffer *bytes.Buffer, reverse bool) bool
Dump writes the contents of key to buffer and returns true if the value for next header in the key is nonzero.
func (*TupleKey4Global) GetFlags ¶
func (k *TupleKey4Global) GetFlags() uint8
GetFlags returns the tuple's flags.
func (*TupleKey4Global) String ¶
func (k *TupleKey4Global) String() string
String returns the tuple's string representation, doh.
func (*TupleKey4Global) ToHost ¶
func (k *TupleKey4Global) ToHost() TupleKey
ToHost converts ports to host byte order.
This is necessary to prevent callers from implicitly converting the TupleKey4Global type here into a local key type in the nested TupleKey4 field.
func (*TupleKey4Global) ToNetwork ¶
func (k *TupleKey4Global) ToNetwork() TupleKey
ToNetwork converts ports to network byte order.
This is necessary to prevent callers from implicitly converting the TupleKey4Global type here into a local key type in the nested TupleKey4 field.
type TupleKey6 ¶
type TupleKey6 struct { DestAddr types.IPv6 `align:"daddr"` SourceAddr types.IPv6 `align:"saddr"` DestPort uint16 `align:"dport"` SourcePort uint16 `align:"sport"` NextHeader u8proto.U8proto `align:"nexthdr"` Flags uint8 `align:"flags"` }
TupleKey6 represents the key for IPv6 entries in the local BPF conntrack map.
func (TupleKey6) Dump ¶
Dump writes the contents of key to buffer and returns true if the value for next header in the key is nonzero.
type TupleKey6Global ¶
type TupleKey6Global struct {
TupleKey6
}
TupleKey6Global represents the key for IPv6 entries in the global BPF conntrack map.
func (TupleKey6Global) Dump ¶
func (k TupleKey6Global) Dump(buffer *bytes.Buffer, reverse bool) bool
Dump writes the contents of key to buffer and returns true if the value for next header in the key is nonzero.
func (*TupleKey6Global) GetFlags ¶
func (k *TupleKey6Global) GetFlags() uint8
GetFlags returns the tuple's flags.
func (*TupleKey6Global) String ¶
func (k *TupleKey6Global) String() string
String returns the tuple's string representation, doh.
func (*TupleKey6Global) ToHost ¶
func (k *TupleKey6Global) ToHost() TupleKey
ToHost converts ports to host byte order.
This is necessary to prevent callers from implicitly converting the TupleKey6Global type here into a local key type in the nested TupleKey6 field.
func (*TupleKey6Global) ToNetwork ¶
func (k *TupleKey6Global) ToNetwork() TupleKey
ToNetwork converts ports to network byte order.
This is necessary to prevent callers from implicitly converting the TupleKey6Global type here into a local key type in the nested TupleKey6 field.
type TupleValStub ¶
type TupleValStub struct {
// contains filtered or unexported fields
}
TupleValStub is a dummy, unused.
func (*TupleValStub) GetValuePtr ¶
func (t *TupleValStub) GetValuePtr() unsafe.Pointer
GetValuePtr returns the unsafe.Pointer for s.