flow

package
v1.9.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2021 License: Apache-2.0 Imports: 9 Imported by: 62

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	FlowType_name = map[int32]string{
		0: "UNKNOWN_TYPE",
		1: "L3_L4",
		2: "L7",
	}
	FlowType_value = map[string]int32{
		"UNKNOWN_TYPE": 0,
		"L3_L4":        1,
		"L7":           2,
	}
)

Enum value maps for FlowType.

View Source
var (
	TraceObservationPoint_name = map[int32]string{
		0:   "UNKNOWN_POINT",
		1:   "TO_PROXY",
		2:   "TO_HOST",
		3:   "TO_STACK",
		4:   "TO_OVERLAY",
		101: "TO_ENDPOINT",
		5:   "FROM_ENDPOINT",
		6:   "FROM_PROXY",
		7:   "FROM_HOST",
		8:   "FROM_STACK",
		9:   "FROM_OVERLAY",
		10:  "FROM_NETWORK",
		11:  "TO_NETWORK",
	}
	TraceObservationPoint_value = map[string]int32{
		"UNKNOWN_POINT": 0,
		"TO_PROXY":      1,
		"TO_HOST":       2,
		"TO_STACK":      3,
		"TO_OVERLAY":    4,
		"TO_ENDPOINT":   101,
		"FROM_ENDPOINT": 5,
		"FROM_PROXY":    6,
		"FROM_HOST":     7,
		"FROM_STACK":    8,
		"FROM_OVERLAY":  9,
		"FROM_NETWORK":  10,
		"TO_NETWORK":    11,
	}
)

Enum value maps for TraceObservationPoint.

View Source
var (
	L7FlowType_name = map[int32]string{
		0: "UNKNOWN_L7_TYPE",
		1: "REQUEST",
		2: "RESPONSE",
		3: "SAMPLE",
	}
	L7FlowType_value = map[string]int32{
		"UNKNOWN_L7_TYPE": 0,
		"REQUEST":         1,
		"RESPONSE":        2,
		"SAMPLE":          3,
	}
)

Enum value maps for L7FlowType.

View Source
var (
	IPVersion_name = map[int32]string{
		0: "IP_NOT_USED",
		1: "IPv4",
		2: "IPv6",
	}
	IPVersion_value = map[string]int32{
		"IP_NOT_USED": 0,
		"IPv4":        1,
		"IPv6":        2,
	}
)

Enum value maps for IPVersion.

View Source
var (
	Verdict_name = map[int32]string{
		0: "VERDICT_UNKNOWN",
		1: "FORWARDED",
		2: "DROPPED",
		3: "ERROR",
	}
	Verdict_value = map[string]int32{
		"VERDICT_UNKNOWN": 0,
		"FORWARDED":       1,
		"DROPPED":         2,
		"ERROR":           3,
	}
)

Enum value maps for Verdict.

View Source
var (
	DropReason_name = map[int32]string{
		0:   "DROP_REASON_UNKNOWN",
		130: "INVALID_SOURCE_MAC",
		131: "INVALID_DESTINATION_MAC",
		132: "INVALID_SOURCE_IP",
		133: "POLICY_DENIED",
		134: "INVALID_PACKET_DROPPED",
		135: "CT_TRUNCATED_OR_INVALID_HEADER",
		136: "CT_MISSING_TCP_ACK_FLAG",
		137: "CT_UNKNOWN_L4_PROTOCOL",
		138: "CT_CANNOT_CREATE_ENTRY_FROM_PACKET",
		139: "UNSUPPORTED_L3_PROTOCOL",
		140: "MISSED_TAIL_CALL",
		141: "ERROR_WRITING_TO_PACKET",
		142: "UNKNOWN_L4_PROTOCOL",
		143: "UNKNOWN_ICMPV4_CODE",
		144: "UNKNOWN_ICMPV4_TYPE",
		145: "UNKNOWN_ICMPV6_CODE",
		146: "UNKNOWN_ICMPV6_TYPE",
		147: "ERROR_RETRIEVING_TUNNEL_KEY",
		148: "ERROR_RETRIEVING_TUNNEL_OPTIONS",
		149: "INVALID_GENEVE_OPTION",
		150: "UNKNOWN_L3_TARGET_ADDRESS",
		151: "STALE_OR_UNROUTABLE_IP",
		152: "NO_MATCHING_LOCAL_CONTAINER_FOUND",
		153: "ERROR_WHILE_CORRECTING_L3_CHECKSUM",
		154: "ERROR_WHILE_CORRECTING_L4_CHECKSUM",
		155: "CT_MAP_INSERTION_FAILED",
		156: "INVALID_IPV6_EXTENSION_HEADER",
		157: "IP_FRAGMENTATION_NOT_SUPPORTED",
		158: "SERVICE_BACKEND_NOT_FOUND",
		160: "NO_TUNNEL_OR_ENCAPSULATION_ENDPOINT",
		161: "FAILED_TO_INSERT_INTO_PROXYMAP",
		162: "REACHED_EDT_RATE_LIMITING_DROP_HORIZON",
		163: "UNKNOWN_CONNECTION_TRACKING_STATE",
		164: "LOCAL_HOST_IS_UNREACHABLE",
		165: "NO_CONFIGURATION_AVAILABLE_TO_PERFORM_POLICY_DECISION",
		166: "UNSUPPORTED_L2_PROTOCOL",
		167: "NO_MAPPING_FOR_NAT_MASQUERADE",
		168: "UNSUPPORTED_PROTOCOL_FOR_NAT_MASQUERADE",
		169: "FIB_LOOKUP_FAILED",
		170: "ENCAPSULATION_TRAFFIC_IS_PROHIBITED",
		171: "INVALID_IDENTITY",
		172: "UNKNOWN_SENDER",
		173: "NAT_NOT_NEEDED",
		174: "IS_A_CLUSTERIP",
		175: "FIRST_LOGICAL_DATAGRAM_FRAGMENT_NOT_FOUND",
		176: "FORBIDDEN_ICMPV6_MESSAGE",
		177: "DENIED_BY_LB_SRC_RANGE_CHECK",
		178: "SOCKET_LOOKUP_FAILED",
		179: "SOCKET_ASSIGN_FAILED",
		180: "PROXY_REDIRECTION_NOT_SUPPORTED_FOR_PROTOCOL",
	}
	DropReason_value = map[string]int32{
		"DROP_REASON_UNKNOWN":                                   0,
		"INVALID_SOURCE_MAC":                                    130,
		"INVALID_DESTINATION_MAC":                               131,
		"INVALID_SOURCE_IP":                                     132,
		"POLICY_DENIED":                                         133,
		"INVALID_PACKET_DROPPED":                                134,
		"CT_TRUNCATED_OR_INVALID_HEADER":                        135,
		"CT_MISSING_TCP_ACK_FLAG":                               136,
		"CT_UNKNOWN_L4_PROTOCOL":                                137,
		"CT_CANNOT_CREATE_ENTRY_FROM_PACKET":                    138,
		"UNSUPPORTED_L3_PROTOCOL":                               139,
		"MISSED_TAIL_CALL":                                      140,
		"ERROR_WRITING_TO_PACKET":                               141,
		"UNKNOWN_L4_PROTOCOL":                                   142,
		"UNKNOWN_ICMPV4_CODE":                                   143,
		"UNKNOWN_ICMPV4_TYPE":                                   144,
		"UNKNOWN_ICMPV6_CODE":                                   145,
		"UNKNOWN_ICMPV6_TYPE":                                   146,
		"ERROR_RETRIEVING_TUNNEL_KEY":                           147,
		"ERROR_RETRIEVING_TUNNEL_OPTIONS":                       148,
		"INVALID_GENEVE_OPTION":                                 149,
		"UNKNOWN_L3_TARGET_ADDRESS":                             150,
		"STALE_OR_UNROUTABLE_IP":                                151,
		"NO_MATCHING_LOCAL_CONTAINER_FOUND":                     152,
		"ERROR_WHILE_CORRECTING_L3_CHECKSUM":                    153,
		"ERROR_WHILE_CORRECTING_L4_CHECKSUM":                    154,
		"CT_MAP_INSERTION_FAILED":                               155,
		"INVALID_IPV6_EXTENSION_HEADER":                         156,
		"IP_FRAGMENTATION_NOT_SUPPORTED":                        157,
		"SERVICE_BACKEND_NOT_FOUND":                             158,
		"NO_TUNNEL_OR_ENCAPSULATION_ENDPOINT":                   160,
		"FAILED_TO_INSERT_INTO_PROXYMAP":                        161,
		"REACHED_EDT_RATE_LIMITING_DROP_HORIZON":                162,
		"UNKNOWN_CONNECTION_TRACKING_STATE":                     163,
		"LOCAL_HOST_IS_UNREACHABLE":                             164,
		"NO_CONFIGURATION_AVAILABLE_TO_PERFORM_POLICY_DECISION": 165,
		"UNSUPPORTED_L2_PROTOCOL":                               166,
		"NO_MAPPING_FOR_NAT_MASQUERADE":                         167,
		"UNSUPPORTED_PROTOCOL_FOR_NAT_MASQUERADE":               168,
		"FIB_LOOKUP_FAILED":                                     169,
		"ENCAPSULATION_TRAFFIC_IS_PROHIBITED":                   170,
		"INVALID_IDENTITY":                                      171,
		"UNKNOWN_SENDER":                                        172,
		"NAT_NOT_NEEDED":                                        173,
		"IS_A_CLUSTERIP":                                        174,
		"FIRST_LOGICAL_DATAGRAM_FRAGMENT_NOT_FOUND":             175,
		"FORBIDDEN_ICMPV6_MESSAGE":                              176,
		"DENIED_BY_LB_SRC_RANGE_CHECK":                          177,
		"SOCKET_LOOKUP_FAILED":                                  178,
		"SOCKET_ASSIGN_FAILED":                                  179,
		"PROXY_REDIRECTION_NOT_SUPPORTED_FOR_PROTOCOL":          180,
	}
)

Enum value maps for DropReason.

View Source
var (
	TrafficDirection_name = map[int32]string{
		0: "TRAFFIC_DIRECTION_UNKNOWN",
		1: "INGRESS",
		2: "EGRESS",
	}
	TrafficDirection_value = map[string]int32{
		"TRAFFIC_DIRECTION_UNKNOWN": 0,
		"INGRESS":                   1,
		"EGRESS":                    2,
	}
)

Enum value maps for TrafficDirection.

View Source
var (
	EventType_name = map[int32]string{
		0: "UNKNOWN",
		9: "EventSample",
		2: "RecordLost",
	}
	EventType_value = map[string]int32{
		"UNKNOWN":     0,
		"EventSample": 9,
		"RecordLost":  2,
	}
)

Enum value maps for EventType.

View Source
var (
	LostEventSource_name = map[int32]string{
		0: "UNKNOWN_LOST_EVENT_SOURCE",
		1: "PERF_EVENT_RING_BUFFER",
		2: "OBSERVER_EVENTS_QUEUE",
	}
	LostEventSource_value = map[string]int32{
		"UNKNOWN_LOST_EVENT_SOURCE": 0,
		"PERF_EVENT_RING_BUFFER":    1,
		"OBSERVER_EVENTS_QUEUE":     2,
	}
)

Enum value maps for LostEventSource.

View Source
var File_flow_flow_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type CiliumEventType

type CiliumEventType struct {

	// type of event the flow originated from, i.e.
	// github.com/cilium/cilium/pkg/monitor/api.MessageType*
	Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	// sub_type may indicate more details depending on type, e.g.
	// - github.com/cilium/cilium/pkg/monitor/api.Trace*
	// - github.com/cilium/cilium/pkg/monitor/api.Drop*
	SubType int32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
	// contains filtered or unexported fields
}

CiliumEventType from which the flow originated

func (*CiliumEventType) Descriptor deprecated

func (*CiliumEventType) Descriptor() ([]byte, []int)

Deprecated: Use CiliumEventType.ProtoReflect.Descriptor instead.

func (*CiliumEventType) GetSubType

func (x *CiliumEventType) GetSubType() int32

func (*CiliumEventType) GetType

func (x *CiliumEventType) GetType() int32

func (*CiliumEventType) MarshalJSON

func (msg *CiliumEventType) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*CiliumEventType) ProtoMessage

func (*CiliumEventType) ProtoMessage()

func (*CiliumEventType) ProtoReflect

func (x *CiliumEventType) ProtoReflect() protoreflect.Message

func (*CiliumEventType) Reset

func (x *CiliumEventType) Reset()

func (*CiliumEventType) String

func (x *CiliumEventType) String() string

func (*CiliumEventType) UnmarshalJSON

func (msg *CiliumEventType) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DNS

type DNS struct {

	// DNS name that's being looked up: e.g. "isovalent.com."
	Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	// List of IP addresses in the DNS response.
	Ips []string `protobuf:"bytes,2,rep,name=ips,proto3" json:"ips,omitempty"`
	// TTL in the DNS response.
	Ttl uint32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// List of CNames in the DNS response.
	Cnames []string `protobuf:"bytes,4,rep,name=cnames,proto3" json:"cnames,omitempty"`
	// Corresponds to DNSDataSource defined in:
	//   https://github.com/cilium/cilium/blob/04f3889d627774f79e56d14ddbc165b3169e2d01/pkg/proxy/accesslog/record.go#L253
	ObservationSource string `protobuf:"bytes,5,opt,name=observation_source,json=observationSource,proto3" json:"observation_source,omitempty"`
	// Return code of the DNS request defined in:
	//   https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6
	Rcode uint32 `protobuf:"varint,6,opt,name=rcode,proto3" json:"rcode,omitempty"`
	// String representation of qtypes defined in:
	//   https://tools.ietf.org/html/rfc1035#section-3.2.3
	Qtypes []string `protobuf:"bytes,7,rep,name=qtypes,proto3" json:"qtypes,omitempty"`
	// String representation of rrtypes defined in:
	// https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
	Rrtypes []string `protobuf:"bytes,8,rep,name=rrtypes,proto3" json:"rrtypes,omitempty"`
	// contains filtered or unexported fields
}

DNS flow. This is basically directly mapped from Cilium's LogRecordDNS:

https://github.com/cilium/cilium/blob/04f3889d627774f79e56d14ddbc165b3169e2d01/pkg/proxy/accesslog/record.go#L264

func (*DNS) Descriptor deprecated

func (*DNS) Descriptor() ([]byte, []int)

Deprecated: Use DNS.ProtoReflect.Descriptor instead.

func (*DNS) GetCnames

func (x *DNS) GetCnames() []string

func (*DNS) GetIps

func (x *DNS) GetIps() []string

func (*DNS) GetObservationSource

func (x *DNS) GetObservationSource() string

func (*DNS) GetQtypes

func (x *DNS) GetQtypes() []string

func (*DNS) GetQuery

func (x *DNS) GetQuery() string

func (*DNS) GetRcode

func (x *DNS) GetRcode() uint32

func (*DNS) GetRrtypes

func (x *DNS) GetRrtypes() []string

func (*DNS) GetTtl

func (x *DNS) GetTtl() uint32

func (*DNS) MarshalJSON

func (msg *DNS) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DNS) ProtoMessage

func (*DNS) ProtoMessage()

func (*DNS) ProtoReflect

func (x *DNS) ProtoReflect() protoreflect.Message

func (*DNS) Reset

func (x *DNS) Reset()

func (*DNS) String

func (x *DNS) String() string

func (*DNS) UnmarshalJSON

func (msg *DNS) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DropReason

type DropReason int32

These values are shared with pkg/monitor/api/drop.go and bpf/lib/common.h. Note that non-drop reasons (i.e. values less than api.DropMin) are not used here.

const (
	// non-drop reasons
	DropReason_DROP_REASON_UNKNOWN DropReason = 0
	// drop reasons
	DropReason_INVALID_SOURCE_MAC                                    DropReason = 130
	DropReason_INVALID_DESTINATION_MAC                               DropReason = 131
	DropReason_INVALID_SOURCE_IP                                     DropReason = 132
	DropReason_POLICY_DENIED                                         DropReason = 133
	DropReason_INVALID_PACKET_DROPPED                                DropReason = 134
	DropReason_CT_TRUNCATED_OR_INVALID_HEADER                        DropReason = 135
	DropReason_CT_MISSING_TCP_ACK_FLAG                               DropReason = 136
	DropReason_CT_UNKNOWN_L4_PROTOCOL                                DropReason = 137
	DropReason_CT_CANNOT_CREATE_ENTRY_FROM_PACKET                    DropReason = 138
	DropReason_UNSUPPORTED_L3_PROTOCOL                               DropReason = 139
	DropReason_MISSED_TAIL_CALL                                      DropReason = 140
	DropReason_ERROR_WRITING_TO_PACKET                               DropReason = 141
	DropReason_UNKNOWN_L4_PROTOCOL                                   DropReason = 142
	DropReason_UNKNOWN_ICMPV4_CODE                                   DropReason = 143
	DropReason_UNKNOWN_ICMPV4_TYPE                                   DropReason = 144
	DropReason_UNKNOWN_ICMPV6_CODE                                   DropReason = 145
	DropReason_UNKNOWN_ICMPV6_TYPE                                   DropReason = 146
	DropReason_ERROR_RETRIEVING_TUNNEL_KEY                           DropReason = 147
	DropReason_ERROR_RETRIEVING_TUNNEL_OPTIONS                       DropReason = 148
	DropReason_INVALID_GENEVE_OPTION                                 DropReason = 149
	DropReason_UNKNOWN_L3_TARGET_ADDRESS                             DropReason = 150
	DropReason_STALE_OR_UNROUTABLE_IP                                DropReason = 151
	DropReason_NO_MATCHING_LOCAL_CONTAINER_FOUND                     DropReason = 152
	DropReason_ERROR_WHILE_CORRECTING_L3_CHECKSUM                    DropReason = 153
	DropReason_ERROR_WHILE_CORRECTING_L4_CHECKSUM                    DropReason = 154
	DropReason_CT_MAP_INSERTION_FAILED                               DropReason = 155
	DropReason_INVALID_IPV6_EXTENSION_HEADER                         DropReason = 156
	DropReason_IP_FRAGMENTATION_NOT_SUPPORTED                        DropReason = 157
	DropReason_SERVICE_BACKEND_NOT_FOUND                             DropReason = 158
	DropReason_NO_TUNNEL_OR_ENCAPSULATION_ENDPOINT                   DropReason = 160
	DropReason_FAILED_TO_INSERT_INTO_PROXYMAP                        DropReason = 161
	DropReason_REACHED_EDT_RATE_LIMITING_DROP_HORIZON                DropReason = 162
	DropReason_UNKNOWN_CONNECTION_TRACKING_STATE                     DropReason = 163
	DropReason_LOCAL_HOST_IS_UNREACHABLE                             DropReason = 164
	DropReason_NO_CONFIGURATION_AVAILABLE_TO_PERFORM_POLICY_DECISION DropReason = 165
	DropReason_UNSUPPORTED_L2_PROTOCOL                               DropReason = 166
	DropReason_NO_MAPPING_FOR_NAT_MASQUERADE                         DropReason = 167
	DropReason_UNSUPPORTED_PROTOCOL_FOR_NAT_MASQUERADE               DropReason = 168
	DropReason_FIB_LOOKUP_FAILED                                     DropReason = 169
	DropReason_ENCAPSULATION_TRAFFIC_IS_PROHIBITED                   DropReason = 170
	DropReason_INVALID_IDENTITY                                      DropReason = 171
	DropReason_UNKNOWN_SENDER                                        DropReason = 172
	DropReason_NAT_NOT_NEEDED                                        DropReason = 173
	DropReason_IS_A_CLUSTERIP                                        DropReason = 174
	DropReason_FIRST_LOGICAL_DATAGRAM_FRAGMENT_NOT_FOUND             DropReason = 175
	DropReason_FORBIDDEN_ICMPV6_MESSAGE                              DropReason = 176
	DropReason_DENIED_BY_LB_SRC_RANGE_CHECK                          DropReason = 177
	DropReason_SOCKET_LOOKUP_FAILED                                  DropReason = 178
	DropReason_SOCKET_ASSIGN_FAILED                                  DropReason = 179
	DropReason_PROXY_REDIRECTION_NOT_SUPPORTED_FOR_PROTOCOL          DropReason = 180
)

func (DropReason) Descriptor

func (DropReason) Descriptor() protoreflect.EnumDescriptor

func (DropReason) Enum

func (x DropReason) Enum() *DropReason

func (DropReason) EnumDescriptor deprecated

func (DropReason) EnumDescriptor() ([]byte, []int)

Deprecated: Use DropReason.Descriptor instead.

func (DropReason) Number

func (x DropReason) Number() protoreflect.EnumNumber

func (DropReason) String

func (x DropReason) String() string

func (DropReason) Type

type Endpoint

type Endpoint struct {
	ID        uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Identity  uint32 `protobuf:"varint,2,opt,name=identity,proto3" json:"identity,omitempty"`
	Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// labels in `foo=bar` format.
	Labels  []string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty"`
	PodName string   `protobuf:"bytes,5,opt,name=pod_name,json=podName,proto3" json:"pod_name,omitempty"`
	// contains filtered or unexported fields
}

func (*Endpoint) Descriptor deprecated

func (*Endpoint) Descriptor() ([]byte, []int)

Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.

func (*Endpoint) GetID

func (x *Endpoint) GetID() uint32

func (*Endpoint) GetIdentity

func (x *Endpoint) GetIdentity() uint32

func (*Endpoint) GetLabels

func (x *Endpoint) GetLabels() []string

func (*Endpoint) GetNamespace

func (x *Endpoint) GetNamespace() string

func (*Endpoint) GetPodName

func (x *Endpoint) GetPodName() string

func (*Endpoint) MarshalJSON

func (msg *Endpoint) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) ProtoReflect

func (x *Endpoint) ProtoReflect() protoreflect.Message

func (*Endpoint) Reset

func (x *Endpoint) Reset()

func (*Endpoint) String

func (x *Endpoint) String() string

func (*Endpoint) UnmarshalJSON

func (msg *Endpoint) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Ethernet

type Ethernet struct {
	Source      string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	Destination string `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	// contains filtered or unexported fields
}

func (*Ethernet) Descriptor deprecated

func (*Ethernet) Descriptor() ([]byte, []int)

Deprecated: Use Ethernet.ProtoReflect.Descriptor instead.

func (*Ethernet) GetDestination

func (x *Ethernet) GetDestination() string

func (*Ethernet) GetSource

func (x *Ethernet) GetSource() string

func (*Ethernet) MarshalJSON

func (msg *Ethernet) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Ethernet) ProtoMessage

func (*Ethernet) ProtoMessage()

func (*Ethernet) ProtoReflect

func (x *Ethernet) ProtoReflect() protoreflect.Message

func (*Ethernet) Reset

func (x *Ethernet) Reset()

func (*Ethernet) String

func (x *Ethernet) String() string

func (*Ethernet) UnmarshalJSON

func (msg *Ethernet) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type EventType

type EventType int32

EventType are constants are based on the ones from <linux/perf_event.h>.

const (
	EventType_UNKNOWN EventType = 0
	// EventSample is equivalent to PERF_RECORD_SAMPLE.
	EventType_EventSample EventType = 9
	// RecordLost is equivalent to PERF_RECORD_LOST.
	EventType_RecordLost EventType = 2
)

func (EventType) Descriptor

func (EventType) Descriptor() protoreflect.EnumDescriptor

func (EventType) Enum

func (x EventType) Enum() *EventType

func (EventType) EnumDescriptor deprecated

func (EventType) EnumDescriptor() ([]byte, []int)

Deprecated: Use EventType.Descriptor instead.

func (EventType) Number

func (x EventType) Number() protoreflect.EnumNumber

func (EventType) String

func (x EventType) String() string

func (EventType) Type

type EventTypeFilter

type EventTypeFilter struct {

	// type is the primary flow type as defined by:
	// github.com/cilium/cilium/pkg/monitor/api.MessageType*
	Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	// match_sub_type is set to true when matching on the sub_type should
	// be done. This flag is required as 0 is a valid sub_type.
	MatchSubType bool `protobuf:"varint,2,opt,name=match_sub_type,json=matchSubType,proto3" json:"match_sub_type,omitempty"`
	// sub_type is the secondary type, e.g.
	// - github.com/cilium/cilium/pkg/monitor/api.Trace*
	SubType int32 `protobuf:"varint,3,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
	// contains filtered or unexported fields
}

EventTypeFilter is a filter describing a particular event type

func (*EventTypeFilter) Descriptor deprecated

func (*EventTypeFilter) Descriptor() ([]byte, []int)

Deprecated: Use EventTypeFilter.ProtoReflect.Descriptor instead.

func (*EventTypeFilter) GetMatchSubType

func (x *EventTypeFilter) GetMatchSubType() bool

func (*EventTypeFilter) GetSubType

func (x *EventTypeFilter) GetSubType() int32

func (*EventTypeFilter) GetType

func (x *EventTypeFilter) GetType() int32

func (*EventTypeFilter) MarshalJSON

func (msg *EventTypeFilter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*EventTypeFilter) ProtoMessage

func (*EventTypeFilter) ProtoMessage()

func (*EventTypeFilter) ProtoReflect

func (x *EventTypeFilter) ProtoReflect() protoreflect.Message

func (*EventTypeFilter) Reset

func (x *EventTypeFilter) Reset()

func (*EventTypeFilter) String

func (x *EventTypeFilter) String() string

func (*EventTypeFilter) UnmarshalJSON

func (msg *EventTypeFilter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Flow

type Flow struct {
	Time    *timestamp.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
	Verdict Verdict              `protobuf:"varint,2,opt,name=verdict,proto3,enum=flow.Verdict" json:"verdict,omitempty"`
	// only applicable to Verdict = DROPPED.
	// deprecated in favor of drop_reason_desc.
	//
	// Deprecated: Do not use.
	DropReason uint32 `protobuf:"varint,3,opt,name=drop_reason,json=dropReason,proto3" json:"drop_reason,omitempty"`
	// l2
	Ethernet *Ethernet `protobuf:"bytes,4,opt,name=ethernet,proto3" json:"ethernet,omitempty"`
	// l3
	IP *IP `protobuf:"bytes,5,opt,name=IP,proto3" json:"IP,omitempty"`
	// l4
	L4          *Layer4   `protobuf:"bytes,6,opt,name=l4,proto3" json:"l4,omitempty"`
	Source      *Endpoint `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"`
	Destination *Endpoint `protobuf:"bytes,9,opt,name=destination,proto3" json:"destination,omitempty"`
	Type        FlowType  `protobuf:"varint,10,opt,name=Type,proto3,enum=flow.FlowType" json:"Type,omitempty"`
	// NodeName is the name of the node from which this Flow was captured.
	NodeName string `protobuf:"bytes,11,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	// all names the source IP can have.
	SourceNames []string `protobuf:"bytes,13,rep,name=source_names,json=sourceNames,proto3" json:"source_names,omitempty"`
	// all names the destination IP can have.
	DestinationNames []string `protobuf:"bytes,14,rep,name=destination_names,json=destinationNames,proto3" json:"destination_names,omitempty"`
	// L7 information. This field is set if and only if FlowType is L7.
	L7 *Layer7 `protobuf:"bytes,15,opt,name=l7,proto3" json:"l7,omitempty"`
	// Deprecated. This suffers from false negatives due to protobuf not being
	// able to distinguish between the value being false or it being absent.
	// Please use is_reply instead.
	//
	// Deprecated: Do not use.
	Reply bool `protobuf:"varint,16,opt,name=reply,proto3" json:"reply,omitempty"`
	// EventType of the originating Cilium event
	EventType *CiliumEventType `protobuf:"bytes,19,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	// source_service contains the service name of the source
	SourceService *Service `protobuf:"bytes,20,opt,name=source_service,json=sourceService,proto3" json:"source_service,omitempty"`
	// destination_service contains the service name of the destination
	DestinationService *Service `protobuf:"bytes,21,opt,name=destination_service,json=destinationService,proto3" json:"destination_service,omitempty"`
	// traffic_direction of the connection, e.g. ingress or egress
	TrafficDirection TrafficDirection `` /* 138-byte string literal not displayed */
	// policy_match_type is only applicable to the cilium event type PolicyVerdict
	// https://github.com/cilium/cilium/blob/e831859b5cc336c6d964a6d35bbd34d1840e21b9/pkg/monitor/datapath_policy.go#L50
	PolicyMatchType uint32 `protobuf:"varint,23,opt,name=policy_match_type,json=policyMatchType,proto3" json:"policy_match_type,omitempty"`
	// Only applicable to cilium trace notifications, blank for other types.
	TraceObservationPoint TraceObservationPoint `` /* 160-byte string literal not displayed */
	// only applicable to Verdict = DROPPED.
	DropReasonDesc DropReason `` /* 128-byte string literal not displayed */
	// is_reply indicates that this was a packet (L4) or message (L7) in the
	// reply direction. May be absent (in which case it is unknown whether it
	// is a reply or not).
	IsReply *wrappers.BoolValue `protobuf:"bytes,26,opt,name=is_reply,json=isReply,proto3" json:"is_reply,omitempty"`
	// This is a temporary workaround to support summary field for pb.Flow without
	// duplicating logic from the old parser. This field will be removed once we
	// fully migrate to the new parser.
	//
	// Deprecated: Do not use.
	Summary string `protobuf:"bytes,100000,opt,name=Summary,proto3" json:"Summary,omitempty"`
	// contains filtered or unexported fields
}

func (*Flow) Descriptor deprecated

func (*Flow) Descriptor() ([]byte, []int)

Deprecated: Use Flow.ProtoReflect.Descriptor instead.

func (*Flow) GetDestination

func (x *Flow) GetDestination() *Endpoint

func (*Flow) GetDestinationNames

func (x *Flow) GetDestinationNames() []string

func (*Flow) GetDestinationService

func (x *Flow) GetDestinationService() *Service

func (*Flow) GetDropReason deprecated

func (x *Flow) GetDropReason() uint32

Deprecated: Do not use.

func (*Flow) GetDropReasonDesc

func (x *Flow) GetDropReasonDesc() DropReason

func (*Flow) GetEthernet

func (x *Flow) GetEthernet() *Ethernet

func (*Flow) GetEventType

func (x *Flow) GetEventType() *CiliumEventType

func (*Flow) GetIP

func (x *Flow) GetIP() *IP

func (*Flow) GetIsReply

func (x *Flow) GetIsReply() *wrappers.BoolValue

func (*Flow) GetL4

func (x *Flow) GetL4() *Layer4

func (*Flow) GetL7

func (x *Flow) GetL7() *Layer7

func (*Flow) GetNodeName

func (x *Flow) GetNodeName() string

func (*Flow) GetPolicyMatchType

func (x *Flow) GetPolicyMatchType() uint32

func (*Flow) GetReply deprecated

func (x *Flow) GetReply() bool

Deprecated: Do not use.

func (*Flow) GetSource

func (x *Flow) GetSource() *Endpoint

func (*Flow) GetSourceNames

func (x *Flow) GetSourceNames() []string

func (*Flow) GetSourceService

func (x *Flow) GetSourceService() *Service

func (*Flow) GetSummary deprecated

func (x *Flow) GetSummary() string

Deprecated: Do not use.

func (*Flow) GetTime

func (x *Flow) GetTime() *timestamp.Timestamp

func (*Flow) GetTraceObservationPoint

func (x *Flow) GetTraceObservationPoint() TraceObservationPoint

func (*Flow) GetTrafficDirection

func (x *Flow) GetTrafficDirection() TrafficDirection

func (*Flow) GetType

func (x *Flow) GetType() FlowType

func (*Flow) GetVerdict

func (x *Flow) GetVerdict() Verdict

func (*Flow) MarshalJSON

func (msg *Flow) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Flow) ProtoMessage

func (*Flow) ProtoMessage()

func (*Flow) ProtoReflect

func (x *Flow) ProtoReflect() protoreflect.Message

func (*Flow) Reset

func (x *Flow) Reset()

func (*Flow) String

func (x *Flow) String() string

func (*Flow) UnmarshalJSON

func (msg *Flow) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FlowFilter

type FlowFilter struct {

	// source_ip filters by a list of source ips
	SourceIp []string `protobuf:"bytes,1,rep,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"`
	// source_pod filters by a list of source pod name prefixes, optionally
	// within a given namespace (e.g. "xwing", "kube-system/coredns-").
	// The pod name can be emitted to only filter by namespace
	// (e.g. "kube-system/")
	SourcePod []string `protobuf:"bytes,2,rep,name=source_pod,json=sourcePod,proto3" json:"source_pod,omitempty"`
	// source_fqdn filters by a list of source fully qualified domain names
	SourceFqdn []string `protobuf:"bytes,7,rep,name=source_fqdn,json=sourceFqdn,proto3" json:"source_fqdn,omitempty"`
	// source_labels filters on a list of source label selectors. Selectors
	// support the full Kubernetes label selector syntax.
	SourceLabel []string `protobuf:"bytes,10,rep,name=source_label,json=sourceLabel,proto3" json:"source_label,omitempty"`
	// source_service filters on a list of source service names. This field
	// supports the same syntax as the source_pod field.
	SourceService []string `protobuf:"bytes,16,rep,name=source_service,json=sourceService,proto3" json:"source_service,omitempty"`
	// destination_ip filters by a list of destination ips
	DestinationIp []string `protobuf:"bytes,3,rep,name=destination_ip,json=destinationIp,proto3" json:"destination_ip,omitempty"`
	// destination_pod filters by a list of destination pod names
	DestinationPod []string `protobuf:"bytes,4,rep,name=destination_pod,json=destinationPod,proto3" json:"destination_pod,omitempty"`
	// destination_fqdn filters by a list of destination fully qualified domain names
	DestinationFqdn []string `protobuf:"bytes,8,rep,name=destination_fqdn,json=destinationFqdn,proto3" json:"destination_fqdn,omitempty"`
	// destination_label filters on a list of destination label selectors
	DestinationLabel []string `protobuf:"bytes,11,rep,name=destination_label,json=destinationLabel,proto3" json:"destination_label,omitempty"`
	// destination_service filters on a list of destination service names
	DestinationService []string `protobuf:"bytes,17,rep,name=destination_service,json=destinationService,proto3" json:"destination_service,omitempty"`
	// only return Flows that were classified with a particular verdict.
	Verdict []Verdict `protobuf:"varint,5,rep,packed,name=verdict,proto3,enum=flow.Verdict" json:"verdict,omitempty"`
	// event_type is the list of event types to filter on
	EventType []*EventTypeFilter `protobuf:"bytes,6,rep,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	// http_status_code is a list of string prefixes (e.g. "4+", "404", "5+")
	// to filter on the HTTP status code
	HttpStatusCode []string `protobuf:"bytes,9,rep,name=http_status_code,json=httpStatusCode,proto3" json:"http_status_code,omitempty"`
	// protocol filters flows by L4 or L7 protocol, e.g. (e.g. "tcp", "http")
	Protocol []string `protobuf:"bytes,12,rep,name=protocol,proto3" json:"protocol,omitempty"`
	// source_port filters flows by L4 source port
	SourcePort []string `protobuf:"bytes,13,rep,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"`
	// destination_port filters flows by L4 destination port
	DestinationPort []string `protobuf:"bytes,14,rep,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
	// reply filters flows based on the direction of the flow.
	Reply []bool `protobuf:"varint,15,rep,packed,name=reply,proto3" json:"reply,omitempty"`
	// dns_query filters L7 DNS flows by query patterns (RE2 regex), e.g. 'kube.*local'.
	DnsQuery []string `protobuf:"bytes,18,rep,name=dns_query,json=dnsQuery,proto3" json:"dns_query,omitempty"`
	// source_identity filters by the security identity of the source endpoint.
	SourceIdentity []uint32 `protobuf:"varint,19,rep,packed,name=source_identity,json=sourceIdentity,proto3" json:"source_identity,omitempty"`
	// destination_identity filters by the security identity of the destination endpoint.
	DestinationIdentity []uint32 `` /* 127-byte string literal not displayed */
	// GET, POST, PUT, etc. methods. This type of field is well suited for an
	// enum but every single existing place is using a string already.
	HttpMethod []string `protobuf:"bytes,21,rep,name=http_method,json=httpMethod,proto3" json:"http_method,omitempty"`
	// http_path is a list of regular expressions to filter on the HTTP path.
	HttpPath []string `protobuf:"bytes,22,rep,name=http_path,json=httpPath,proto3" json:"http_path,omitempty"`
	// contains filtered or unexported fields
}

FlowFilter represent an individual flow filter. All fields are optional. If multiple fields are set, then all fields must match for the filter to match.

func (*FlowFilter) Descriptor deprecated

func (*FlowFilter) Descriptor() ([]byte, []int)

Deprecated: Use FlowFilter.ProtoReflect.Descriptor instead.

func (*FlowFilter) GetDestinationFqdn

func (x *FlowFilter) GetDestinationFqdn() []string

func (*FlowFilter) GetDestinationIdentity

func (x *FlowFilter) GetDestinationIdentity() []uint32

func (*FlowFilter) GetDestinationIp

func (x *FlowFilter) GetDestinationIp() []string

func (*FlowFilter) GetDestinationLabel

func (x *FlowFilter) GetDestinationLabel() []string

func (*FlowFilter) GetDestinationPod

func (x *FlowFilter) GetDestinationPod() []string

func (*FlowFilter) GetDestinationPort

func (x *FlowFilter) GetDestinationPort() []string

func (*FlowFilter) GetDestinationService

func (x *FlowFilter) GetDestinationService() []string

func (*FlowFilter) GetDnsQuery

func (x *FlowFilter) GetDnsQuery() []string

func (*FlowFilter) GetEventType

func (x *FlowFilter) GetEventType() []*EventTypeFilter

func (*FlowFilter) GetHttpMethod

func (x *FlowFilter) GetHttpMethod() []string

func (*FlowFilter) GetHttpPath

func (x *FlowFilter) GetHttpPath() []string

func (*FlowFilter) GetHttpStatusCode

func (x *FlowFilter) GetHttpStatusCode() []string

func (*FlowFilter) GetProtocol

func (x *FlowFilter) GetProtocol() []string

func (*FlowFilter) GetReply

func (x *FlowFilter) GetReply() []bool

func (*FlowFilter) GetSourceFqdn

func (x *FlowFilter) GetSourceFqdn() []string

func (*FlowFilter) GetSourceIdentity

func (x *FlowFilter) GetSourceIdentity() []uint32

func (*FlowFilter) GetSourceIp

func (x *FlowFilter) GetSourceIp() []string

func (*FlowFilter) GetSourceLabel

func (x *FlowFilter) GetSourceLabel() []string

func (*FlowFilter) GetSourcePod

func (x *FlowFilter) GetSourcePod() []string

func (*FlowFilter) GetSourcePort

func (x *FlowFilter) GetSourcePort() []string

func (*FlowFilter) GetSourceService

func (x *FlowFilter) GetSourceService() []string

func (*FlowFilter) GetVerdict

func (x *FlowFilter) GetVerdict() []Verdict

func (*FlowFilter) MarshalJSON

func (msg *FlowFilter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FlowFilter) ProtoMessage

func (*FlowFilter) ProtoMessage()

func (*FlowFilter) ProtoReflect

func (x *FlowFilter) ProtoReflect() protoreflect.Message

func (*FlowFilter) Reset

func (x *FlowFilter) Reset()

func (*FlowFilter) String

func (x *FlowFilter) String() string

func (*FlowFilter) UnmarshalJSON

func (msg *FlowFilter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FlowType

type FlowType int32
const (
	FlowType_UNKNOWN_TYPE FlowType = 0
	FlowType_L3_L4        FlowType = 1 // not sure about the underscore here, but `L34` also reads strange
	FlowType_L7           FlowType = 2
)

func (FlowType) Descriptor

func (FlowType) Descriptor() protoreflect.EnumDescriptor

func (FlowType) Enum

func (x FlowType) Enum() *FlowType

func (FlowType) EnumDescriptor deprecated

func (FlowType) EnumDescriptor() ([]byte, []int)

Deprecated: Use FlowType.Descriptor instead.

func (FlowType) Number

func (x FlowType) Number() protoreflect.EnumNumber

func (FlowType) String

func (x FlowType) String() string

func (FlowType) Type

type HTTP

type HTTP struct {
	Code     uint32        `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Method   string        `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
	Url      string        `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
	Protocol string        `protobuf:"bytes,4,opt,name=protocol,proto3" json:"protocol,omitempty"`
	Headers  []*HTTPHeader `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty"`
	// contains filtered or unexported fields
}

L7 information for HTTP flows. It corresponds to Cilium's accesslog.LogRecordHTTP type.

https://github.com/cilium/cilium/blob/728c79e427438ab6f8d9375b62fccd6fed4ace3a/pkg/proxy/accesslog/record.go#L206

func (*HTTP) Descriptor deprecated

func (*HTTP) Descriptor() ([]byte, []int)

Deprecated: Use HTTP.ProtoReflect.Descriptor instead.

func (*HTTP) GetCode

func (x *HTTP) GetCode() uint32

func (*HTTP) GetHeaders

func (x *HTTP) GetHeaders() []*HTTPHeader

func (*HTTP) GetMethod

func (x *HTTP) GetMethod() string

func (*HTTP) GetProtocol

func (x *HTTP) GetProtocol() string

func (*HTTP) GetUrl

func (x *HTTP) GetUrl() string

func (*HTTP) MarshalJSON

func (msg *HTTP) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*HTTP) ProtoMessage

func (*HTTP) ProtoMessage()

func (*HTTP) ProtoReflect

func (x *HTTP) ProtoReflect() protoreflect.Message

func (*HTTP) Reset

func (x *HTTP) Reset()

func (*HTTP) String

func (x *HTTP) String() string

func (*HTTP) UnmarshalJSON

func (msg *HTTP) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type HTTPHeader

type HTTPHeader struct {
	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*HTTPHeader) Descriptor deprecated

func (*HTTPHeader) Descriptor() ([]byte, []int)

Deprecated: Use HTTPHeader.ProtoReflect.Descriptor instead.

func (*HTTPHeader) GetKey

func (x *HTTPHeader) GetKey() string

func (*HTTPHeader) GetValue

func (x *HTTPHeader) GetValue() string

func (*HTTPHeader) MarshalJSON

func (msg *HTTPHeader) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*HTTPHeader) ProtoMessage

func (*HTTPHeader) ProtoMessage()

func (*HTTPHeader) ProtoReflect

func (x *HTTPHeader) ProtoReflect() protoreflect.Message

func (*HTTPHeader) Reset

func (x *HTTPHeader) Reset()

func (*HTTPHeader) String

func (x *HTTPHeader) String() string

func (*HTTPHeader) UnmarshalJSON

func (msg *HTTPHeader) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ICMPv4

type ICMPv4 struct {
	Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Code uint32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"`
	// contains filtered or unexported fields
}

func (*ICMPv4) Descriptor deprecated

func (*ICMPv4) Descriptor() ([]byte, []int)

Deprecated: Use ICMPv4.ProtoReflect.Descriptor instead.

func (*ICMPv4) GetCode

func (x *ICMPv4) GetCode() uint32

func (*ICMPv4) GetType

func (x *ICMPv4) GetType() uint32

func (*ICMPv4) MarshalJSON

func (msg *ICMPv4) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ICMPv4) ProtoMessage

func (*ICMPv4) ProtoMessage()

func (*ICMPv4) ProtoReflect

func (x *ICMPv4) ProtoReflect() protoreflect.Message

func (*ICMPv4) Reset

func (x *ICMPv4) Reset()

func (*ICMPv4) String

func (x *ICMPv4) String() string

func (*ICMPv4) UnmarshalJSON

func (msg *ICMPv4) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ICMPv6

type ICMPv6 struct {
	Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Code uint32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"`
	// contains filtered or unexported fields
}

func (*ICMPv6) Descriptor deprecated

func (*ICMPv6) Descriptor() ([]byte, []int)

Deprecated: Use ICMPv6.ProtoReflect.Descriptor instead.

func (*ICMPv6) GetCode

func (x *ICMPv6) GetCode() uint32

func (*ICMPv6) GetType

func (x *ICMPv6) GetType() uint32

func (*ICMPv6) MarshalJSON

func (msg *ICMPv6) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ICMPv6) ProtoMessage

func (*ICMPv6) ProtoMessage()

func (*ICMPv6) ProtoReflect

func (x *ICMPv6) ProtoReflect() protoreflect.Message

func (*ICMPv6) Reset

func (x *ICMPv6) Reset()

func (*ICMPv6) String

func (x *ICMPv6) String() string

func (*ICMPv6) UnmarshalJSON

func (msg *ICMPv6) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type IP

type IP struct {
	Source      string    `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	Destination string    `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	IpVersion   IPVersion `protobuf:"varint,3,opt,name=ipVersion,proto3,enum=flow.IPVersion" json:"ipVersion,omitempty"`
	// This field indicates whether the TraceReasonEncryptMask is set or not.
	// https://github.com/cilium/cilium/blob/ba0ed147bd5bb342f67b1794c2ad13c6e99d5236/pkg/monitor/datapath_trace.go#L27
	Encrypted bool `protobuf:"varint,4,opt,name=encrypted,proto3" json:"encrypted,omitempty"`
	// contains filtered or unexported fields
}

func (*IP) Descriptor deprecated

func (*IP) Descriptor() ([]byte, []int)

Deprecated: Use IP.ProtoReflect.Descriptor instead.

func (*IP) GetDestination

func (x *IP) GetDestination() string

func (*IP) GetEncrypted

func (x *IP) GetEncrypted() bool

func (*IP) GetIpVersion

func (x *IP) GetIpVersion() IPVersion

func (*IP) GetSource

func (x *IP) GetSource() string

func (*IP) MarshalJSON

func (msg *IP) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*IP) ProtoMessage

func (*IP) ProtoMessage()

func (*IP) ProtoReflect

func (x *IP) ProtoReflect() protoreflect.Message

func (*IP) Reset

func (x *IP) Reset()

func (*IP) String

func (x *IP) String() string

func (*IP) UnmarshalJSON

func (msg *IP) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type IPVersion

type IPVersion int32
const (
	IPVersion_IP_NOT_USED IPVersion = 0
	IPVersion_IPv4        IPVersion = 1
	IPVersion_IPv6        IPVersion = 2
)

func (IPVersion) Descriptor

func (IPVersion) Descriptor() protoreflect.EnumDescriptor

func (IPVersion) Enum

func (x IPVersion) Enum() *IPVersion

func (IPVersion) EnumDescriptor deprecated

func (IPVersion) EnumDescriptor() ([]byte, []int)

Deprecated: Use IPVersion.Descriptor instead.

func (IPVersion) Number

func (x IPVersion) Number() protoreflect.EnumNumber

func (IPVersion) String

func (x IPVersion) String() string

func (IPVersion) Type

type Kafka

type Kafka struct {
	ErrorCode     int32  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	ApiVersion    int32  `protobuf:"varint,2,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
	ApiKey        string `protobuf:"bytes,3,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
	CorrelationId int32  `protobuf:"varint,4,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	Topic         string `protobuf:"bytes,5,opt,name=topic,proto3" json:"topic,omitempty"`
	// contains filtered or unexported fields
}

L7 information for Kafka flows. It corresponds to Cilium's accesslog.LogRecordKafka type.

https://github.com/cilium/cilium/blob/728c79e427438ab6f8d9375b62fccd6fed4ace3a/pkg/proxy/accesslog/record.go#L229

func (*Kafka) Descriptor deprecated

func (*Kafka) Descriptor() ([]byte, []int)

Deprecated: Use Kafka.ProtoReflect.Descriptor instead.

func (*Kafka) GetApiKey

func (x *Kafka) GetApiKey() string

func (*Kafka) GetApiVersion

func (x *Kafka) GetApiVersion() int32

func (*Kafka) GetCorrelationId

func (x *Kafka) GetCorrelationId() int32

func (*Kafka) GetErrorCode

func (x *Kafka) GetErrorCode() int32

func (*Kafka) GetTopic

func (x *Kafka) GetTopic() string

func (*Kafka) MarshalJSON

func (msg *Kafka) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Kafka) ProtoMessage

func (*Kafka) ProtoMessage()

func (*Kafka) ProtoReflect

func (x *Kafka) ProtoReflect() protoreflect.Message

func (*Kafka) Reset

func (x *Kafka) Reset()

func (*Kafka) String

func (x *Kafka) String() string

func (*Kafka) UnmarshalJSON

func (msg *Kafka) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type L7FlowType

type L7FlowType int32

This enum corresponds to Cilium's L7 accesslog FlowType:

https://github.com/cilium/cilium/blob/728c79e427438ab6f8d9375b62fccd6fed4ace3a/pkg/proxy/accesslog/record.go#L26
const (
	L7FlowType_UNKNOWN_L7_TYPE L7FlowType = 0
	L7FlowType_REQUEST         L7FlowType = 1
	L7FlowType_RESPONSE        L7FlowType = 2
	L7FlowType_SAMPLE          L7FlowType = 3
)

func (L7FlowType) Descriptor

func (L7FlowType) Descriptor() protoreflect.EnumDescriptor

func (L7FlowType) Enum

func (x L7FlowType) Enum() *L7FlowType

func (L7FlowType) EnumDescriptor deprecated

func (L7FlowType) EnumDescriptor() ([]byte, []int)

Deprecated: Use L7FlowType.Descriptor instead.

func (L7FlowType) Number

func (x L7FlowType) Number() protoreflect.EnumNumber

func (L7FlowType) String

func (x L7FlowType) String() string

func (L7FlowType) Type

type Layer4

type Layer4 struct {

	// Types that are assignable to Protocol:
	//	*Layer4_TCP
	//	*Layer4_UDP
	//	*Layer4_ICMPv4
	//	*Layer4_ICMPv6
	Protocol isLayer4_Protocol `protobuf_oneof:"protocol"`
	// contains filtered or unexported fields
}

func (*Layer4) Descriptor deprecated

func (*Layer4) Descriptor() ([]byte, []int)

Deprecated: Use Layer4.ProtoReflect.Descriptor instead.

func (*Layer4) GetICMPv4

func (x *Layer4) GetICMPv4() *ICMPv4

func (*Layer4) GetICMPv6

func (x *Layer4) GetICMPv6() *ICMPv6

func (*Layer4) GetProtocol

func (m *Layer4) GetProtocol() isLayer4_Protocol

func (*Layer4) GetTCP

func (x *Layer4) GetTCP() *TCP

func (*Layer4) GetUDP

func (x *Layer4) GetUDP() *UDP

func (*Layer4) MarshalJSON

func (msg *Layer4) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Layer4) ProtoMessage

func (*Layer4) ProtoMessage()

func (*Layer4) ProtoReflect

func (x *Layer4) ProtoReflect() protoreflect.Message

func (*Layer4) Reset

func (x *Layer4) Reset()

func (*Layer4) String

func (x *Layer4) String() string

func (*Layer4) UnmarshalJSON

func (msg *Layer4) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Layer4_ICMPv4

type Layer4_ICMPv4 struct {
	// ICMP is technically not L4, but mutually exclusive with the above
	ICMPv4 *ICMPv4 `protobuf:"bytes,3,opt,name=ICMPv4,proto3,oneof"`
}

type Layer4_ICMPv6

type Layer4_ICMPv6 struct {
	ICMPv6 *ICMPv6 `protobuf:"bytes,4,opt,name=ICMPv6,proto3,oneof"`
}

type Layer4_TCP

type Layer4_TCP struct {
	TCP *TCP `protobuf:"bytes,1,opt,name=TCP,proto3,oneof"`
}

type Layer4_UDP

type Layer4_UDP struct {
	UDP *UDP `protobuf:"bytes,2,opt,name=UDP,proto3,oneof"`
}

type Layer7

type Layer7 struct {
	Type L7FlowType `protobuf:"varint,1,opt,name=type,proto3,enum=flow.L7FlowType" json:"type,omitempty"`
	// Latency of the response
	LatencyNs uint64 `protobuf:"varint,2,opt,name=latency_ns,json=latencyNs,proto3" json:"latency_ns,omitempty"`
	// L7 field. This field is set if and only if FlowType is L7.
	//
	// Types that are assignable to Record:
	//	*Layer7_Dns
	//	*Layer7_Http
	//	*Layer7_Kafka
	Record isLayer7_Record `protobuf_oneof:"record"`
	// contains filtered or unexported fields
}

Message for L7 flow, which roughly corresponds to Cilium's accesslog LogRecord:

https://github.com/cilium/cilium/blob/728c79e427438ab6f8d9375b62fccd6fed4ace3a/pkg/proxy/accesslog/record.go#L141

func (*Layer7) Descriptor deprecated

func (*Layer7) Descriptor() ([]byte, []int)

Deprecated: Use Layer7.ProtoReflect.Descriptor instead.

func (*Layer7) GetDns

func (x *Layer7) GetDns() *DNS

func (*Layer7) GetHttp

func (x *Layer7) GetHttp() *HTTP

func (*Layer7) GetKafka

func (x *Layer7) GetKafka() *Kafka

func (*Layer7) GetLatencyNs

func (x *Layer7) GetLatencyNs() uint64

func (*Layer7) GetRecord

func (m *Layer7) GetRecord() isLayer7_Record

func (*Layer7) GetType

func (x *Layer7) GetType() L7FlowType

func (*Layer7) MarshalJSON

func (msg *Layer7) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Layer7) ProtoMessage

func (*Layer7) ProtoMessage()

func (*Layer7) ProtoReflect

func (x *Layer7) ProtoReflect() protoreflect.Message

func (*Layer7) Reset

func (x *Layer7) Reset()

func (*Layer7) String

func (x *Layer7) String() string

func (*Layer7) UnmarshalJSON

func (msg *Layer7) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Layer7_Dns

type Layer7_Dns struct {
	Dns *DNS `protobuf:"bytes,100,opt,name=dns,proto3,oneof"`
}

type Layer7_Http

type Layer7_Http struct {
	Http *HTTP `protobuf:"bytes,101,opt,name=http,proto3,oneof"`
}

type Layer7_Kafka

type Layer7_Kafka struct {
	Kafka *Kafka `protobuf:"bytes,102,opt,name=kafka,proto3,oneof"`
}

type LostEvent

type LostEvent struct {

	// source is the location where events got lost.
	Source LostEventSource `protobuf:"varint,1,opt,name=source,proto3,enum=flow.LostEventSource" json:"source,omitempty"`
	// num_events_lost is the number of events that haven been lost at source.
	NumEventsLost uint64 `protobuf:"varint,2,opt,name=num_events_lost,json=numEventsLost,proto3" json:"num_events_lost,omitempty"`
	// cpu on which the event was lost if the source of lost events is
	// PERF_EVENT_RING_BUFFER.
	Cpu *wrappers.Int32Value `protobuf:"bytes,3,opt,name=cpu,proto3" json:"cpu,omitempty"`
	// contains filtered or unexported fields
}

LostEvent is a message which notifies consumers about a loss of events that happened before the events were captured by Hubble.

func (*LostEvent) Descriptor deprecated

func (*LostEvent) Descriptor() ([]byte, []int)

Deprecated: Use LostEvent.ProtoReflect.Descriptor instead.

func (*LostEvent) GetCpu

func (x *LostEvent) GetCpu() *wrappers.Int32Value

func (*LostEvent) GetNumEventsLost

func (x *LostEvent) GetNumEventsLost() uint64

func (*LostEvent) GetSource

func (x *LostEvent) GetSource() LostEventSource

func (*LostEvent) MarshalJSON

func (msg *LostEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*LostEvent) ProtoMessage

func (*LostEvent) ProtoMessage()

func (*LostEvent) ProtoReflect

func (x *LostEvent) ProtoReflect() protoreflect.Message

func (*LostEvent) Reset

func (x *LostEvent) Reset()

func (*LostEvent) String

func (x *LostEvent) String() string

func (*LostEvent) UnmarshalJSON

func (msg *LostEvent) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type LostEventSource

type LostEventSource int32
const (
	LostEventSource_UNKNOWN_LOST_EVENT_SOURCE LostEventSource = 0
	// PERF_EVENT_RING_BUFFER indicates that events were dropped in the BPF
	// perf event ring buffer, indicating that userspace agent did not keep up
	// with the events produced by the datapath.
	LostEventSource_PERF_EVENT_RING_BUFFER LostEventSource = 1
	// OBSERVER_EVENTS_QUEUE indicates that events were dropped because the
	// Hubble events queue was full, indicating that the Hubble observer did
	// not keep up.
	LostEventSource_OBSERVER_EVENTS_QUEUE LostEventSource = 2
)

func (LostEventSource) Descriptor

func (LostEventSource) Enum

func (x LostEventSource) Enum() *LostEventSource

func (LostEventSource) EnumDescriptor deprecated

func (LostEventSource) EnumDescriptor() ([]byte, []int)

Deprecated: Use LostEventSource.Descriptor instead.

func (LostEventSource) Number

func (LostEventSource) String

func (x LostEventSource) String() string

func (LostEventSource) Type

type Service

type Service struct {
	Name      string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// contains filtered or unexported fields
}

func (*Service) Descriptor deprecated

func (*Service) Descriptor() ([]byte, []int)

Deprecated: Use Service.ProtoReflect.Descriptor instead.

func (*Service) GetName

func (x *Service) GetName() string

func (*Service) GetNamespace

func (x *Service) GetNamespace() string

func (*Service) MarshalJSON

func (msg *Service) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Service) ProtoMessage

func (*Service) ProtoMessage()

func (*Service) ProtoReflect

func (x *Service) ProtoReflect() protoreflect.Message

func (*Service) Reset

func (x *Service) Reset()

func (*Service) String

func (x *Service) String() string

func (*Service) UnmarshalJSON

func (msg *Service) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type TCP

type TCP struct {
	SourcePort      uint32    `protobuf:"varint,1,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"`
	DestinationPort uint32    `protobuf:"varint,2,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
	Flags           *TCPFlags `protobuf:"bytes,3,opt,name=flags,proto3" json:"flags,omitempty"`
	// contains filtered or unexported fields
}

func (*TCP) Descriptor deprecated

func (*TCP) Descriptor() ([]byte, []int)

Deprecated: Use TCP.ProtoReflect.Descriptor instead.

func (*TCP) GetDestinationPort

func (x *TCP) GetDestinationPort() uint32

func (*TCP) GetFlags

func (x *TCP) GetFlags() *TCPFlags

func (*TCP) GetSourcePort

func (x *TCP) GetSourcePort() uint32

func (*TCP) MarshalJSON

func (msg *TCP) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*TCP) ProtoMessage

func (*TCP) ProtoMessage()

func (*TCP) ProtoReflect

func (x *TCP) ProtoReflect() protoreflect.Message

func (*TCP) Reset

func (x *TCP) Reset()

func (*TCP) String

func (x *TCP) String() string

func (*TCP) UnmarshalJSON

func (msg *TCP) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type TCPFlags

type TCPFlags struct {
	FIN bool `protobuf:"varint,1,opt,name=FIN,proto3" json:"FIN,omitempty"`
	SYN bool `protobuf:"varint,2,opt,name=SYN,proto3" json:"SYN,omitempty"`
	RST bool `protobuf:"varint,3,opt,name=RST,proto3" json:"RST,omitempty"`
	PSH bool `protobuf:"varint,4,opt,name=PSH,proto3" json:"PSH,omitempty"`
	ACK bool `protobuf:"varint,5,opt,name=ACK,proto3" json:"ACK,omitempty"`
	URG bool `protobuf:"varint,6,opt,name=URG,proto3" json:"URG,omitempty"`
	ECE bool `protobuf:"varint,7,opt,name=ECE,proto3" json:"ECE,omitempty"`
	CWR bool `protobuf:"varint,8,opt,name=CWR,proto3" json:"CWR,omitempty"`
	NS  bool `protobuf:"varint,9,opt,name=NS,proto3" json:"NS,omitempty"`
	// contains filtered or unexported fields
}

func (*TCPFlags) Descriptor deprecated

func (*TCPFlags) Descriptor() ([]byte, []int)

Deprecated: Use TCPFlags.ProtoReflect.Descriptor instead.

func (*TCPFlags) GetACK

func (x *TCPFlags) GetACK() bool

func (*TCPFlags) GetCWR

func (x *TCPFlags) GetCWR() bool

func (*TCPFlags) GetECE

func (x *TCPFlags) GetECE() bool

func (*TCPFlags) GetFIN

func (x *TCPFlags) GetFIN() bool

func (*TCPFlags) GetNS

func (x *TCPFlags) GetNS() bool

func (*TCPFlags) GetPSH

func (x *TCPFlags) GetPSH() bool

func (*TCPFlags) GetRST

func (x *TCPFlags) GetRST() bool

func (*TCPFlags) GetSYN

func (x *TCPFlags) GetSYN() bool

func (*TCPFlags) GetURG

func (x *TCPFlags) GetURG() bool

func (*TCPFlags) MarshalJSON

func (msg *TCPFlags) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*TCPFlags) ProtoMessage

func (*TCPFlags) ProtoMessage()

func (*TCPFlags) ProtoReflect

func (x *TCPFlags) ProtoReflect() protoreflect.Message

func (*TCPFlags) Reset

func (x *TCPFlags) Reset()

func (*TCPFlags) String

func (x *TCPFlags) String() string

func (*TCPFlags) UnmarshalJSON

func (msg *TCPFlags) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type TraceObservationPoint

type TraceObservationPoint int32
const (
	// Cilium treats 0 as TO_LXC, but its's something we should work to remove.
	// This is intentionally set as unknown, so proto API can guarantee the
	// observation point is always going to be present on trace events.
	TraceObservationPoint_UNKNOWN_POINT TraceObservationPoint = 0
	TraceObservationPoint_TO_PROXY      TraceObservationPoint = 1
	TraceObservationPoint_TO_HOST       TraceObservationPoint = 2
	TraceObservationPoint_TO_STACK      TraceObservationPoint = 3
	TraceObservationPoint_TO_OVERLAY    TraceObservationPoint = 4
	// same as TO_LXC, which had a 0 value. This index is intentionally very
	// high so when new segments are added in bpf, there are no collisions
	TraceObservationPoint_TO_ENDPOINT   TraceObservationPoint = 101
	TraceObservationPoint_FROM_ENDPOINT TraceObservationPoint = 5
	TraceObservationPoint_FROM_PROXY    TraceObservationPoint = 6
	TraceObservationPoint_FROM_HOST     TraceObservationPoint = 7
	TraceObservationPoint_FROM_STACK    TraceObservationPoint = 8
	TraceObservationPoint_FROM_OVERLAY  TraceObservationPoint = 9
	TraceObservationPoint_FROM_NETWORK  TraceObservationPoint = 10
	TraceObservationPoint_TO_NETWORK    TraceObservationPoint = 11
)

func (TraceObservationPoint) Descriptor

func (TraceObservationPoint) Enum

func (TraceObservationPoint) EnumDescriptor deprecated

func (TraceObservationPoint) EnumDescriptor() ([]byte, []int)

Deprecated: Use TraceObservationPoint.Descriptor instead.

func (TraceObservationPoint) Number

func (TraceObservationPoint) String

func (x TraceObservationPoint) String() string

func (TraceObservationPoint) Type

type TrafficDirection

type TrafficDirection int32
const (
	TrafficDirection_TRAFFIC_DIRECTION_UNKNOWN TrafficDirection = 0
	TrafficDirection_INGRESS                   TrafficDirection = 1
	TrafficDirection_EGRESS                    TrafficDirection = 2
)

func (TrafficDirection) Descriptor

func (TrafficDirection) Enum

func (TrafficDirection) EnumDescriptor deprecated

func (TrafficDirection) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficDirection.Descriptor instead.

func (TrafficDirection) Number

func (TrafficDirection) String

func (x TrafficDirection) String() string

func (TrafficDirection) Type

type UDP

type UDP struct {
	SourcePort      uint32 `protobuf:"varint,1,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"`
	DestinationPort uint32 `protobuf:"varint,2,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
	// contains filtered or unexported fields
}

func (*UDP) Descriptor deprecated

func (*UDP) Descriptor() ([]byte, []int)

Deprecated: Use UDP.ProtoReflect.Descriptor instead.

func (*UDP) GetDestinationPort

func (x *UDP) GetDestinationPort() uint32

func (*UDP) GetSourcePort

func (x *UDP) GetSourcePort() uint32

func (*UDP) MarshalJSON

func (msg *UDP) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*UDP) ProtoMessage

func (*UDP) ProtoMessage()

func (*UDP) ProtoReflect

func (x *UDP) ProtoReflect() protoreflect.Message

func (*UDP) Reset

func (x *UDP) Reset()

func (*UDP) String

func (x *UDP) String() string

func (*UDP) UnmarshalJSON

func (msg *UDP) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Verdict

type Verdict int32
const (
	Verdict_VERDICT_UNKNOWN Verdict = 0
	Verdict_FORWARDED       Verdict = 1
	Verdict_DROPPED         Verdict = 2
	Verdict_ERROR           Verdict = 3
)

func (Verdict) Descriptor

func (Verdict) Descriptor() protoreflect.EnumDescriptor

func (Verdict) Enum

func (x Verdict) Enum() *Verdict

func (Verdict) EnumDescriptor deprecated

func (Verdict) EnumDescriptor() ([]byte, []int)

Deprecated: Use Verdict.Descriptor instead.

func (Verdict) Number

func (x Verdict) Number() protoreflect.EnumNumber

func (Verdict) String

func (x Verdict) String() string

func (Verdict) Type

func (Verdict) Type() protoreflect.EnumType

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL