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.