flow

package
v1.15.4 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2024 License: Apache-2.0 Imports: 8 Imported by: 62

README

Protocol Documentation

Table of Contents

Top

flow/flow.proto

AgentEvent
Field Type Label Description
type AgentEventType
unknown AgentEventUnknown
agent_start TimeNotification
policy_update PolicyUpdateNotification used for POLICY_UPDATED and POLICY_DELETED
endpoint_regenerate EndpointRegenNotification used for ENDPOINT_REGENERATE_SUCCESS and ENDPOINT_REGENERATE_FAILURE
endpoint_update EndpointUpdateNotification used for ENDPOINT_CREATED and ENDPOINT_DELETED
ipcache_update IPCacheNotification used for IPCACHE_UPSERTED and IPCACHE_DELETED
service_upsert ServiceUpsertNotification
service_delete ServiceDeleteNotification

AgentEventUnknown
Field Type Label Description
type string
notification string

CiliumEventType

CiliumEventType from which the flow originated.

Field Type Label Description
type int32 type of event the flow originated from, i.e. github.com/cilium/cilium/pkg/monitor/api.MessageType*
sub_type int32 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* - github.com/cilium/cilium/pkg/monitor/api.DbgCapture*

DNS

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

Field Type Label Description
query string DNS name that's being looked up: e.g. "isovalent.com."
ips string repeated List of IP addresses in the DNS response.
ttl uint32 TTL in the DNS response.
cnames string repeated List of CNames in the DNS response.
observation_source string Corresponds to DNSDataSource defined in: https://github.com/cilium/cilium/blob/04f3889d627774f79e56d14ddbc165b3169e2d01/pkg/proxy/accesslog/record.go#L253
rcode uint32 Return code of the DNS request defined in: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6
qtypes string repeated String representation of qtypes defined in: https://tools.ietf.org/html/rfc1035#section-3.2.3
rrtypes string repeated String representation of rrtypes defined in: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4

DebugEvent
Field Type Label Description
type DebugEventType
source Endpoint
hash google.protobuf.UInt32Value
arg1 google.protobuf.UInt32Value
arg2 google.protobuf.UInt32Value
arg3 google.protobuf.UInt32Value
message string
cpu google.protobuf.Int32Value

Endpoint
Field Type Label Description
ID uint32
identity uint32
namespace string
labels string repeated labels in foo=bar format.
pod_name string
workloads Workload repeated

EndpointRegenNotification
Field Type Label Description
id uint64
labels string repeated
error string

EndpointUpdateNotification
Field Type Label Description
id uint64
labels string repeated
error string
pod_name string
namespace string

Ethernet
Field Type Label Description
source string
destination string

EventTypeFilter

EventTypeFilter is a filter describing a particular event type.

Field Type Label Description
type int32 type is the primary flow type as defined by: github.com/cilium/cilium/pkg/monitor/api.MessageType*
match_sub_type bool 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.
sub_type int32 sub_type is the secondary type, e.g. - github.com/cilium/cilium/pkg/monitor/api.Trace*

Flow
Field Type Label Description
time google.protobuf.Timestamp
uuid string uuid is a universally unique identifier for this flow.
verdict Verdict
drop_reason uint32 Deprecated. only applicable to Verdict = DROPPED. deprecated in favor of drop_reason_desc.
auth_type AuthType auth_type is the authentication type specified for the flow in Cilium Network Policy. Only set on policy verdict events.
ethernet Ethernet l2
IP IP l3
l4 Layer4 l4
source Endpoint
destination Endpoint
Type FlowType
node_name string NodeName is the name of the node from which this Flow was captured.
source_names string repeated all names the source IP can have.
destination_names string repeated all names the destination IP can have.
l7 Layer7 L7 information. This field is set if and only if FlowType is L7.
reply bool Deprecated. 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.
event_type CiliumEventType EventType of the originating Cilium event
source_service Service source_service contains the service name of the source
destination_service Service destination_service contains the service name of the destination
traffic_direction TrafficDirection traffic_direction of the connection, e.g. ingress or egress
policy_match_type uint32 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
trace_observation_point TraceObservationPoint Only applicable to cilium trace notifications, blank for other types.
drop_reason_desc DropReason only applicable to Verdict = DROPPED.
is_reply google.protobuf.BoolValue 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).
debug_capture_point DebugCapturePoint Only applicable to cilium debug capture events, blank for other types
interface NetworkInterface interface is the network interface on which this flow was observed
proxy_port uint32 proxy_port indicates the port of the proxy to which the flow was forwarded
trace_context TraceContext trace_context contains information about a trace related to the flow, if any.
sock_xlate_point SocketTranslationPoint sock_xlate_point is the socket translation point. Only applicable to TraceSock notifications, blank for other types
socket_cookie uint64 socket_cookie is the Linux kernel socket cookie for this flow. Only applicable to TraceSock notifications, zero for other types
cgroup_id uint64 cgroup_id of the process which emitted this event. Only applicable to TraceSock notifications, zero for other types
Summary string Deprecated. 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.
extensions google.protobuf.Any extensions can be used to add arbitrary additional metadata to flows. This can be used to extend functionality for other Hubble compatible APIs, or experiment with new functionality without needing to change the public API.
egress_allowed_by Policy repeated The CiliumNetworkPolicies allowing the egress of the flow.
ingress_allowed_by Policy repeated The CiliumNetworkPolicies allowing the ingress of the flow.

FlowFilter

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.

Field Type Label Description
uuid string repeated uuid filters by a list of flow uuids.
source_ip string repeated source_ip filters by a list of source ips. Each of the source ips can be specified as an exact match (e.g. "1.1.1.1") or as a CIDR range (e.g. "1.1.1.0/24").
source_pod string repeated 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 omitted to only filter by namespace (e.g. "kube-system/") or the namespace can be omitted to filter for pods in any namespace (e.g. "/xwing")
source_fqdn string repeated source_fqdn filters by a list of source fully qualified domain names
source_label string repeated source_labels filters on a list of source label selectors. Selectors support the full Kubernetes label selector syntax.
source_service string repeated source_service filters on a list of source service names. This field supports the same syntax as the source_pod field.
source_workload Workload repeated source_workload filters by a list of source workload.
destination_ip string repeated destination_ip filters by a list of destination ips. Each of the destination ips can be specified as an exact match (e.g. "1.1.1.1") or as a CIDR range (e.g. "1.1.1.0/24").
destination_pod string repeated destination_pod filters by a list of destination pod names
destination_fqdn string repeated destination_fqdn filters by a list of destination fully qualified domain names
destination_label string repeated destination_label filters on a list of destination label selectors
destination_service string repeated destination_service filters on a list of destination service names
destination_workload Workload repeated destination_workload filters by a list of destination workload.
traffic_direction TrafficDirection repeated traffic_direction filters flow by direction of the connection, e.g. ingress or egress.
verdict Verdict repeated only return Flows that were classified with a particular verdict.
event_type EventTypeFilter repeated event_type is the list of event types to filter on
http_status_code string repeated http_status_code is a list of string prefixes (e.g. "4+", "404", "5+") to filter on the HTTP status code
protocol string repeated protocol filters flows by L4 or L7 protocol, e.g. (e.g. "tcp", "http")
source_port string repeated source_port filters flows by L4 source port
destination_port string repeated destination_port filters flows by L4 destination port
reply bool repeated reply filters flows based on the direction of the flow.
dns_query string repeated dns_query filters L7 DNS flows by query patterns (RE2 regex), e.g. 'kube.*local'.
source_identity uint32 repeated source_identity filters by the security identity of the source endpoint.
destination_identity uint32 repeated destination_identity filters by the security identity of the destination endpoint.
http_method string repeated 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.
http_path string repeated http_path is a list of regular expressions to filter on the HTTP path.
http_url string repeated http_url is a list of regular expressions to filter on the HTTP URL.
http_header HTTPHeader repeated http_header is a list of key:value pairs to filter on the HTTP headers.
tcp_flags TCPFlags repeated tcp_flags filters flows based on TCP header flags
node_name string repeated node_name is a list of patterns to filter on the node name, e.g. "k8s*", "test-cluster/*.domain.com", "cluster-name/" etc.
ip_version IPVersion repeated filter based on IP version (ipv4 or ipv6)
trace_id string repeated trace_id filters flows by trace ID

HTTP

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

Field Type Label Description
code uint32
method string
url string
protocol string
headers HTTPHeader repeated

HTTPHeader
Field Type Label Description
key string
value string

ICMPv4
Field Type Label Description
type uint32
code uint32

ICMPv6
Field Type Label Description
type uint32
code uint32

IP
Field Type Label Description
source string
destination string
ipVersion IPVersion
encrypted bool This field indicates whether the TraceReasonEncryptMask is set or not. https://github.com/cilium/cilium/blob/ba0ed147bd5bb342f67b1794c2ad13c6e99d5236/pkg/monitor/datapath_trace.go#L27

IPCacheNotification
Field Type Label Description
cidr string
identity uint32
old_identity google.protobuf.UInt32Value
host_ip string
old_host_ip string
encrypt_key uint32
namespace string
pod_name string

Kafka

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

Field Type Label Description
error_code int32
api_version int32
api_key string
correlation_id int32
topic string

Layer4
Field Type Label Description
TCP TCP
UDP UDP
ICMPv4 ICMPv4 ICMP is technically not L4, but mutually exclusive with the above
ICMPv6 ICMPv6
SCTP SCTP

Layer7

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

Field Type Label Description
type L7FlowType
latency_ns uint64 Latency of the response
dns DNS
http HTTP
kafka Kafka

LostEvent

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

Field Type Label Description
source LostEventSource source is the location where events got lost.
num_events_lost uint64 num_events_lost is the number of events that haven been lost at source.
cpu google.protobuf.Int32Value cpu on which the event was lost if the source of lost events is PERF_EVENT_RING_BUFFER.

NetworkInterface
Field Type Label Description
index uint32
name string

Policy
Field Type Label Description
name string
namespace string
labels string repeated
revision uint64

PolicyUpdateNotification
Field Type Label Description
labels string repeated
revision uint64
rule_count int64

SCTP
Field Type Label Description
source_port uint32
destination_port uint32

Service
Field Type Label Description
name string
namespace string

ServiceDeleteNotification
Field Type Label Description
id uint32

ServiceUpsertNotification
Field Type Label Description
id uint32
frontend_address ServiceUpsertNotificationAddr
backend_addresses ServiceUpsertNotificationAddr repeated
type string
traffic_policy string Deprecated.
name string
namespace string
ext_traffic_policy string
int_traffic_policy string

ServiceUpsertNotificationAddr
Field Type Label Description
ip string
port uint32

TCP
Field Type Label Description
source_port uint32
destination_port uint32
flags TCPFlags

TCPFlags
Field Type Label Description
FIN bool
SYN bool
RST bool
PSH bool
ACK bool
URG bool
ECE bool
CWR bool
NS bool

TimeNotification
Field Type Label Description
time google.protobuf.Timestamp

TraceContext

TraceContext contains trace context propagation data, i.e. information about a distributed trace. For more information about trace context, check the W3C Trace Context specification.

Field Type Label Description
parent TraceParent parent identifies the incoming request in a tracing system.

TraceParent

TraceParent identifies the incoming request in a tracing system.

Field Type Label Description
trace_id string trace_id is a unique value that identifies a trace. It is a byte array represented as a hex string.

UDP
Field Type Label Description
source_port uint32
destination_port uint32

Workload
Field Type Label Description
name string
kind string

AgentEventType

AgentEventType is the type of agent event. These values are shared with type AgentNotification in pkg/monitor/api/types.go.

Name Number Description
AGENT_EVENT_UNKNOWN 0
AGENT_STARTED 2
POLICY_UPDATED 3
POLICY_DELETED 4
ENDPOINT_REGENERATE_SUCCESS 5
ENDPOINT_REGENERATE_FAILURE 6
ENDPOINT_CREATED 7
ENDPOINT_DELETED 8
IPCACHE_UPSERTED 9
IPCACHE_DELETED 10
SERVICE_UPSERTED 11
SERVICE_DELETED 12

AuthType

These types correspond to definitions in pkg/policy/l4.go.

Name Number Description
DISABLED 0
SPIRE 1
TEST_ALWAYS_FAIL 2

DebugCapturePoint

These values are shared with pkg/monitor/api/datapath_debug.go and bpf/lib/dbg.h.

Name Number Description
DBG_CAPTURE_POINT_UNKNOWN 0
DBG_CAPTURE_DELIVERY 4
DBG_CAPTURE_FROM_LB 5
DBG_CAPTURE_AFTER_V46 6
DBG_CAPTURE_AFTER_V64 7
DBG_CAPTURE_PROXY_PRE 8
DBG_CAPTURE_PROXY_POST 9
DBG_CAPTURE_SNAT_PRE 10
DBG_CAPTURE_SNAT_POST 11

DebugEventType

These values are shared with pkg/monitor/api/datapath_debug.go and bpf/lib/dbg.h.

Name Number Description
DBG_EVENT_UNKNOWN 0
DBG_GENERIC 1
DBG_LOCAL_DELIVERY 2
DBG_ENCAP 3
DBG_LXC_FOUND 4
DBG_POLICY_DENIED 5
DBG_CT_LOOKUP 6
DBG_CT_LOOKUP_REV 7
DBG_CT_MATCH 8
DBG_CT_CREATED 9
DBG_CT_CREATED2 10
DBG_ICMP6_HANDLE 11
DBG_ICMP6_REQUEST 12
DBG_ICMP6_NS 13
DBG_ICMP6_TIME_EXCEEDED 14
DBG_CT_VERDICT 15
DBG_DECAP 16
DBG_PORT_MAP 17
DBG_ERROR_RET 18
DBG_TO_HOST 19
DBG_TO_STACK 20
DBG_PKT_HASH 21
DBG_LB6_LOOKUP_FRONTEND 22
DBG_LB6_LOOKUP_FRONTEND_FAIL 23
DBG_LB6_LOOKUP_BACKEND_SLOT 24
DBG_LB6_LOOKUP_BACKEND_SLOT_SUCCESS 25
DBG_LB6_LOOKUP_BACKEND_SLOT_V2_FAIL 26
DBG_LB6_LOOKUP_BACKEND_FAIL 27
DBG_LB6_REVERSE_NAT_LOOKUP 28
DBG_LB6_REVERSE_NAT 29
DBG_LB4_LOOKUP_FRONTEND 30
DBG_LB4_LOOKUP_FRONTEND_FAIL 31
DBG_LB4_LOOKUP_BACKEND_SLOT 32
DBG_LB4_LOOKUP_BACKEND_SLOT_SUCCESS 33
DBG_LB4_LOOKUP_BACKEND_SLOT_V2_FAIL 34
DBG_LB4_LOOKUP_BACKEND_FAIL 35
DBG_LB4_REVERSE_NAT_LOOKUP 36
DBG_LB4_REVERSE_NAT 37
DBG_LB4_LOOPBACK_SNAT 38
DBG_LB4_LOOPBACK_SNAT_REV 39
DBG_CT_LOOKUP4 40
DBG_RR_BACKEND_SLOT_SEL 41
DBG_REV_PROXY_LOOKUP 42
DBG_REV_PROXY_FOUND 43
DBG_REV_PROXY_UPDATE 44
DBG_L4_POLICY 45
DBG_NETDEV_IN_CLUSTER 46
DBG_NETDEV_ENCAP4 47
DBG_CT_LOOKUP4_1 48
DBG_CT_LOOKUP4_2 49
DBG_CT_CREATED4 50
DBG_CT_LOOKUP6_1 51
DBG_CT_LOOKUP6_2 52
DBG_CT_CREATED6 53
DBG_SKIP_PROXY 54
DBG_L4_CREATE 55
DBG_IP_ID_MAP_FAILED4 56
DBG_IP_ID_MAP_FAILED6 57
DBG_IP_ID_MAP_SUCCEED4 58
DBG_IP_ID_MAP_SUCCEED6 59
DBG_LB_STALE_CT 60
DBG_INHERIT_IDENTITY 61
DBG_SK_LOOKUP4 62
DBG_SK_LOOKUP6 63
DBG_SK_ASSIGN 64
DBG_L7_LB 65
DBG_SKIP_POLICY 66

DropReason

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.

Name Number Description
DROP_REASON_UNKNOWN 0 non-drop reasons
INVALID_SOURCE_MAC 130 drop reasons
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
POLICY_DENY 181
VLAN_FILTERED 182
INVALID_VNI 183
INVALID_TC_BUFFER 184
NO_SID 185
MISSING_SRV6_STATE 186
NAT46 187
NAT64 188
AUTH_REQUIRED 189
CT_NO_MAP_FOUND 190
SNAT_NO_MAP_FOUND 191
INVALID_CLUSTER_ID 192
UNSUPPORTED_PROTOCOL_FOR_DSR_ENCAP 193
NO_EGRESS_GATEWAY 194
UNENCRYPTED_TRAFFIC 195
TTL_EXCEEDED 196
NO_NODE_ID 197
DROP_RATE_LIMITED 198
IGMP_HANDLED 199
IGMP_SUBSCRIBED 200
MULTICAST_HANDLED 201
DROP_HOST_NOT_READY 202 A BPF program wants to tail call into bpf_host, but the host datapath hasn't been loaded yet.

EventType

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

Name Number Description
UNKNOWN 0
EventSample 9 EventSample is equivalent to PERF_RECORD_SAMPLE.
RecordLost 2 RecordLost is equivalent to PERF_RECORD_LOST.

FlowType
Name Number Description
UNKNOWN_TYPE 0
L3_L4 1 not sure about the underscore here, but L34 also reads strange
L7 2
SOCK 3

IPVersion
Name Number Description
IP_NOT_USED 0
IPv4 1
IPv6 2

L7FlowType

This enum corresponds to Cilium's L7 accesslog FlowType:

Name Number Description
UNKNOWN_L7_TYPE 0
REQUEST 1
RESPONSE 2
SAMPLE 3

LostEventSource
Name Number Description
UNKNOWN_LOST_EVENT_SOURCE 0
PERF_EVENT_RING_BUFFER 1 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.
OBSERVER_EVENTS_QUEUE 2 OBSERVER_EVENTS_QUEUE indicates that events were dropped because the Hubble events queue was full, indicating that the Hubble observer did not keep up.
HUBBLE_RING_BUFFER 3 HUBBLE_RING_BUFFER indicates that the event was dropped because it could not be read from Hubble's ring buffer in time before being overwritten.

SocketTranslationPoint

This mirrors enum xlate_point in bpf/lib/trace_sock.h

Name Number Description
SOCK_XLATE_POINT_UNKNOWN 0
SOCK_XLATE_POINT_PRE_DIRECTION_FWD 1 Pre service translation
SOCK_XLATE_POINT_POST_DIRECTION_FWD 2 Post service translation
SOCK_XLATE_POINT_PRE_DIRECTION_REV 3 Pre reverse service translation
SOCK_XLATE_POINT_POST_DIRECTION_REV 4 Post reverse service translation

TraceObservationPoint
Name Number Description
UNKNOWN_POINT 0 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.
TO_PROXY 1 TO_PROXY indicates network packets are transmitted towards the l7 proxy.
TO_HOST 2 TO_HOST indicates network packets are transmitted towards the host namespace.
TO_STACK 3 TO_STACK indicates network packets are transmitted towards the Linux kernel network stack on host machine.
TO_OVERLAY 4 TO_OVERLAY indicates network packets are transmitted towards the tunnel device.
TO_ENDPOINT 101 TO_ENDPOINT indicates network packets are transmitted towards endpoints (containers).
FROM_ENDPOINT 5 FROM_ENDPOINT indicates network packets were received from endpoints (containers).
FROM_PROXY 6 FROM_PROXY indicates network packets were received from the l7 proxy.
FROM_HOST 7 FROM_HOST indicates network packets were received from the host namespace.
FROM_STACK 8 FROM_STACK indicates network packets were received from the Linux kernel network stack on host machine.
FROM_OVERLAY 9 FROM_OVERLAY indicates network packets were received from the tunnel device.
FROM_NETWORK 10 FROM_NETWORK indicates network packets were received from native devices.
TO_NETWORK 11 TO_NETWORK indicates network packets are transmitted towards native devices.

TrafficDirection
Name Number Description
TRAFFIC_DIRECTION_UNKNOWN 0
INGRESS 1
EGRESS 2

Verdict
Name Number Description
VERDICT_UNKNOWN 0 UNKNOWN is used if there is no verdict for this flow event
FORWARDED 1 FORWARDED is used for flow events where the trace point has forwarded this packet or connection to the next processing entity.
DROPPED 2 DROPPED is used for flow events where the connection or packet has been dropped (e.g. due to a malformed packet, it being rejected by a network policy etc). The exact drop reason may be found in drop_reason_desc.
ERROR 3 ERROR is used for flow events where an error occurred during processing
AUDIT 4 AUDIT is used on policy verdict events in policy audit mode, to denominate flows that would have been dropped by policy if audit mode was turned off
REDIRECTED 5 REDIRECTED is used for flow events which have been redirected to the proxy
TRACED 6 TRACED is used for flow events which have been observed at a trace point, but no particular verdict has been reached yet
TRANSLATED 7 TRANSLATED is used for flow events where an address has been translated

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)

Documentation

Index

Constants

This section is empty.

Variables

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

Enum value maps for FlowType.

View Source
var (
	AuthType_name = map[int32]string{
		0: "DISABLED",
		1: "SPIRE",
		2: "TEST_ALWAYS_FAIL",
	}
	AuthType_value = map[string]int32{
		"DISABLED":         0,
		"SPIRE":            1,
		"TEST_ALWAYS_FAIL": 2,
	}
)

Enum value maps for AuthType.

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",
		4: "AUDIT",
		5: "REDIRECTED",
		6: "TRACED",
		7: "TRANSLATED",
	}
	Verdict_value = map[string]int32{
		"VERDICT_UNKNOWN": 0,
		"FORWARDED":       1,
		"DROPPED":         2,
		"ERROR":           3,
		"AUDIT":           4,
		"REDIRECTED":      5,
		"TRACED":          6,
		"TRANSLATED":      7,
	}
)

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",
		181: "POLICY_DENY",
		182: "VLAN_FILTERED",
		183: "INVALID_VNI",
		184: "INVALID_TC_BUFFER",
		185: "NO_SID",
		186: "MISSING_SRV6_STATE",
		187: "NAT46",
		188: "NAT64",
		189: "AUTH_REQUIRED",
		190: "CT_NO_MAP_FOUND",
		191: "SNAT_NO_MAP_FOUND",
		192: "INVALID_CLUSTER_ID",
		193: "UNSUPPORTED_PROTOCOL_FOR_DSR_ENCAP",
		194: "NO_EGRESS_GATEWAY",
		195: "UNENCRYPTED_TRAFFIC",
		196: "TTL_EXCEEDED",
		197: "NO_NODE_ID",
		198: "DROP_RATE_LIMITED",
		199: "IGMP_HANDLED",
		200: "IGMP_SUBSCRIBED",
		201: "MULTICAST_HANDLED",
		202: "DROP_HOST_NOT_READY",
	}
	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,
		"POLICY_DENY":                                           181,
		"VLAN_FILTERED":                                         182,
		"INVALID_VNI":                                           183,
		"INVALID_TC_BUFFER":                                     184,
		"NO_SID":                                                185,
		"MISSING_SRV6_STATE":                                    186,
		"NAT46":                                                 187,
		"NAT64":                                                 188,
		"AUTH_REQUIRED":                                         189,
		"CT_NO_MAP_FOUND":                                       190,
		"SNAT_NO_MAP_FOUND":                                     191,
		"INVALID_CLUSTER_ID":                                    192,
		"UNSUPPORTED_PROTOCOL_FOR_DSR_ENCAP":                    193,
		"NO_EGRESS_GATEWAY":                                     194,
		"UNENCRYPTED_TRAFFIC":                                   195,
		"TTL_EXCEEDED":                                          196,
		"NO_NODE_ID":                                            197,
		"DROP_RATE_LIMITED":                                     198,
		"IGMP_HANDLED":                                          199,
		"IGMP_SUBSCRIBED":                                       200,
		"MULTICAST_HANDLED":                                     201,
		"DROP_HOST_NOT_READY":                                   202,
	}
)

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 (
	DebugCapturePoint_name = map[int32]string{
		0:  "DBG_CAPTURE_POINT_UNKNOWN",
		4:  "DBG_CAPTURE_DELIVERY",
		5:  "DBG_CAPTURE_FROM_LB",
		6:  "DBG_CAPTURE_AFTER_V46",
		7:  "DBG_CAPTURE_AFTER_V64",
		8:  "DBG_CAPTURE_PROXY_PRE",
		9:  "DBG_CAPTURE_PROXY_POST",
		10: "DBG_CAPTURE_SNAT_PRE",
		11: "DBG_CAPTURE_SNAT_POST",
	}
	DebugCapturePoint_value = map[string]int32{
		"DBG_CAPTURE_POINT_UNKNOWN": 0,
		"DBG_CAPTURE_DELIVERY":      4,
		"DBG_CAPTURE_FROM_LB":       5,
		"DBG_CAPTURE_AFTER_V46":     6,
		"DBG_CAPTURE_AFTER_V64":     7,
		"DBG_CAPTURE_PROXY_PRE":     8,
		"DBG_CAPTURE_PROXY_POST":    9,
		"DBG_CAPTURE_SNAT_PRE":      10,
		"DBG_CAPTURE_SNAT_POST":     11,
	}
)

Enum value maps for DebugCapturePoint.

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",
		3: "HUBBLE_RING_BUFFER",
	}
	LostEventSource_value = map[string]int32{
		"UNKNOWN_LOST_EVENT_SOURCE": 0,
		"PERF_EVENT_RING_BUFFER":    1,
		"OBSERVER_EVENTS_QUEUE":     2,
		"HUBBLE_RING_BUFFER":        3,
	}
)

Enum value maps for LostEventSource.

View Source
var (
	AgentEventType_name = map[int32]string{
		0:  "AGENT_EVENT_UNKNOWN",
		2:  "AGENT_STARTED",
		3:  "POLICY_UPDATED",
		4:  "POLICY_DELETED",
		5:  "ENDPOINT_REGENERATE_SUCCESS",
		6:  "ENDPOINT_REGENERATE_FAILURE",
		7:  "ENDPOINT_CREATED",
		8:  "ENDPOINT_DELETED",
		9:  "IPCACHE_UPSERTED",
		10: "IPCACHE_DELETED",
		11: "SERVICE_UPSERTED",
		12: "SERVICE_DELETED",
	}
	AgentEventType_value = map[string]int32{
		"AGENT_EVENT_UNKNOWN":         0,
		"AGENT_STARTED":               2,
		"POLICY_UPDATED":              3,
		"POLICY_DELETED":              4,
		"ENDPOINT_REGENERATE_SUCCESS": 5,
		"ENDPOINT_REGENERATE_FAILURE": 6,
		"ENDPOINT_CREATED":            7,
		"ENDPOINT_DELETED":            8,
		"IPCACHE_UPSERTED":            9,
		"IPCACHE_DELETED":             10,
		"SERVICE_UPSERTED":            11,
		"SERVICE_DELETED":             12,
	}
)

Enum value maps for AgentEventType.

View Source
var (
	SocketTranslationPoint_name = map[int32]string{
		0: "SOCK_XLATE_POINT_UNKNOWN",
		1: "SOCK_XLATE_POINT_PRE_DIRECTION_FWD",
		2: "SOCK_XLATE_POINT_POST_DIRECTION_FWD",
		3: "SOCK_XLATE_POINT_PRE_DIRECTION_REV",
		4: "SOCK_XLATE_POINT_POST_DIRECTION_REV",
	}
	SocketTranslationPoint_value = map[string]int32{
		"SOCK_XLATE_POINT_UNKNOWN":            0,
		"SOCK_XLATE_POINT_PRE_DIRECTION_FWD":  1,
		"SOCK_XLATE_POINT_POST_DIRECTION_FWD": 2,
		"SOCK_XLATE_POINT_PRE_DIRECTION_REV":  3,
		"SOCK_XLATE_POINT_POST_DIRECTION_REV": 4,
	}
)

Enum value maps for SocketTranslationPoint.

View Source
var (
	DebugEventType_name = map[int32]string{
		0:  "DBG_EVENT_UNKNOWN",
		1:  "DBG_GENERIC",
		2:  "DBG_LOCAL_DELIVERY",
		3:  "DBG_ENCAP",
		4:  "DBG_LXC_FOUND",
		5:  "DBG_POLICY_DENIED",
		6:  "DBG_CT_LOOKUP",
		7:  "DBG_CT_LOOKUP_REV",
		8:  "DBG_CT_MATCH",
		9:  "DBG_CT_CREATED",
		10: "DBG_CT_CREATED2",
		11: "DBG_ICMP6_HANDLE",
		12: "DBG_ICMP6_REQUEST",
		13: "DBG_ICMP6_NS",
		14: "DBG_ICMP6_TIME_EXCEEDED",
		15: "DBG_CT_VERDICT",
		16: "DBG_DECAP",
		17: "DBG_PORT_MAP",
		18: "DBG_ERROR_RET",
		19: "DBG_TO_HOST",
		20: "DBG_TO_STACK",
		21: "DBG_PKT_HASH",
		22: "DBG_LB6_LOOKUP_FRONTEND",
		23: "DBG_LB6_LOOKUP_FRONTEND_FAIL",
		24: "DBG_LB6_LOOKUP_BACKEND_SLOT",
		25: "DBG_LB6_LOOKUP_BACKEND_SLOT_SUCCESS",
		26: "DBG_LB6_LOOKUP_BACKEND_SLOT_V2_FAIL",
		27: "DBG_LB6_LOOKUP_BACKEND_FAIL",
		28: "DBG_LB6_REVERSE_NAT_LOOKUP",
		29: "DBG_LB6_REVERSE_NAT",
		30: "DBG_LB4_LOOKUP_FRONTEND",
		31: "DBG_LB4_LOOKUP_FRONTEND_FAIL",
		32: "DBG_LB4_LOOKUP_BACKEND_SLOT",
		33: "DBG_LB4_LOOKUP_BACKEND_SLOT_SUCCESS",
		34: "DBG_LB4_LOOKUP_BACKEND_SLOT_V2_FAIL",
		35: "DBG_LB4_LOOKUP_BACKEND_FAIL",
		36: "DBG_LB4_REVERSE_NAT_LOOKUP",
		37: "DBG_LB4_REVERSE_NAT",
		38: "DBG_LB4_LOOPBACK_SNAT",
		39: "DBG_LB4_LOOPBACK_SNAT_REV",
		40: "DBG_CT_LOOKUP4",
		41: "DBG_RR_BACKEND_SLOT_SEL",
		42: "DBG_REV_PROXY_LOOKUP",
		43: "DBG_REV_PROXY_FOUND",
		44: "DBG_REV_PROXY_UPDATE",
		45: "DBG_L4_POLICY",
		46: "DBG_NETDEV_IN_CLUSTER",
		47: "DBG_NETDEV_ENCAP4",
		48: "DBG_CT_LOOKUP4_1",
		49: "DBG_CT_LOOKUP4_2",
		50: "DBG_CT_CREATED4",
		51: "DBG_CT_LOOKUP6_1",
		52: "DBG_CT_LOOKUP6_2",
		53: "DBG_CT_CREATED6",
		54: "DBG_SKIP_PROXY",
		55: "DBG_L4_CREATE",
		56: "DBG_IP_ID_MAP_FAILED4",
		57: "DBG_IP_ID_MAP_FAILED6",
		58: "DBG_IP_ID_MAP_SUCCEED4",
		59: "DBG_IP_ID_MAP_SUCCEED6",
		60: "DBG_LB_STALE_CT",
		61: "DBG_INHERIT_IDENTITY",
		62: "DBG_SK_LOOKUP4",
		63: "DBG_SK_LOOKUP6",
		64: "DBG_SK_ASSIGN",
		65: "DBG_L7_LB",
		66: "DBG_SKIP_POLICY",
	}
	DebugEventType_value = map[string]int32{
		"DBG_EVENT_UNKNOWN":                   0,
		"DBG_GENERIC":                         1,
		"DBG_LOCAL_DELIVERY":                  2,
		"DBG_ENCAP":                           3,
		"DBG_LXC_FOUND":                       4,
		"DBG_POLICY_DENIED":                   5,
		"DBG_CT_LOOKUP":                       6,
		"DBG_CT_LOOKUP_REV":                   7,
		"DBG_CT_MATCH":                        8,
		"DBG_CT_CREATED":                      9,
		"DBG_CT_CREATED2":                     10,
		"DBG_ICMP6_HANDLE":                    11,
		"DBG_ICMP6_REQUEST":                   12,
		"DBG_ICMP6_NS":                        13,
		"DBG_ICMP6_TIME_EXCEEDED":             14,
		"DBG_CT_VERDICT":                      15,
		"DBG_DECAP":                           16,
		"DBG_PORT_MAP":                        17,
		"DBG_ERROR_RET":                       18,
		"DBG_TO_HOST":                         19,
		"DBG_TO_STACK":                        20,
		"DBG_PKT_HASH":                        21,
		"DBG_LB6_LOOKUP_FRONTEND":             22,
		"DBG_LB6_LOOKUP_FRONTEND_FAIL":        23,
		"DBG_LB6_LOOKUP_BACKEND_SLOT":         24,
		"DBG_LB6_LOOKUP_BACKEND_SLOT_SUCCESS": 25,
		"DBG_LB6_LOOKUP_BACKEND_SLOT_V2_FAIL": 26,
		"DBG_LB6_LOOKUP_BACKEND_FAIL":         27,
		"DBG_LB6_REVERSE_NAT_LOOKUP":          28,
		"DBG_LB6_REVERSE_NAT":                 29,
		"DBG_LB4_LOOKUP_FRONTEND":             30,
		"DBG_LB4_LOOKUP_FRONTEND_FAIL":        31,
		"DBG_LB4_LOOKUP_BACKEND_SLOT":         32,
		"DBG_LB4_LOOKUP_BACKEND_SLOT_SUCCESS": 33,
		"DBG_LB4_LOOKUP_BACKEND_SLOT_V2_FAIL": 34,
		"DBG_LB4_LOOKUP_BACKEND_FAIL":         35,
		"DBG_LB4_REVERSE_NAT_LOOKUP":          36,
		"DBG_LB4_REVERSE_NAT":                 37,
		"DBG_LB4_LOOPBACK_SNAT":               38,
		"DBG_LB4_LOOPBACK_SNAT_REV":           39,
		"DBG_CT_LOOKUP4":                      40,
		"DBG_RR_BACKEND_SLOT_SEL":             41,
		"DBG_REV_PROXY_LOOKUP":                42,
		"DBG_REV_PROXY_FOUND":                 43,
		"DBG_REV_PROXY_UPDATE":                44,
		"DBG_L4_POLICY":                       45,
		"DBG_NETDEV_IN_CLUSTER":               46,
		"DBG_NETDEV_ENCAP4":                   47,
		"DBG_CT_LOOKUP4_1":                    48,
		"DBG_CT_LOOKUP4_2":                    49,
		"DBG_CT_CREATED4":                     50,
		"DBG_CT_LOOKUP6_1":                    51,
		"DBG_CT_LOOKUP6_2":                    52,
		"DBG_CT_CREATED6":                     53,
		"DBG_SKIP_PROXY":                      54,
		"DBG_L4_CREATE":                       55,
		"DBG_IP_ID_MAP_FAILED4":               56,
		"DBG_IP_ID_MAP_FAILED6":               57,
		"DBG_IP_ID_MAP_SUCCEED4":              58,
		"DBG_IP_ID_MAP_SUCCEED6":              59,
		"DBG_LB_STALE_CT":                     60,
		"DBG_INHERIT_IDENTITY":                61,
		"DBG_SK_LOOKUP4":                      62,
		"DBG_SK_LOOKUP6":                      63,
		"DBG_SK_ASSIGN":                       64,
		"DBG_L7_LB":                           65,
		"DBG_SKIP_POLICY":                     66,
	}
)

Enum value maps for DebugEventType.

View Source
var File_flow_flow_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AgentEvent

type AgentEvent struct {
	Type AgentEventType `protobuf:"varint,1,opt,name=type,proto3,enum=flow.AgentEventType" json:"type,omitempty"`
	// Types that are assignable to Notification:
	//
	//	*AgentEvent_Unknown
	//	*AgentEvent_AgentStart
	//	*AgentEvent_PolicyUpdate
	//	*AgentEvent_EndpointRegenerate
	//	*AgentEvent_EndpointUpdate
	//	*AgentEvent_IpcacheUpdate
	//	*AgentEvent_ServiceUpsert
	//	*AgentEvent_ServiceDelete
	Notification isAgentEvent_Notification `protobuf_oneof:"notification"`
	// contains filtered or unexported fields
}

func (*AgentEvent) Descriptor deprecated

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

Deprecated: Use AgentEvent.ProtoReflect.Descriptor instead.

func (*AgentEvent) GetAgentStart

func (x *AgentEvent) GetAgentStart() *TimeNotification

func (*AgentEvent) GetEndpointRegenerate

func (x *AgentEvent) GetEndpointRegenerate() *EndpointRegenNotification

func (*AgentEvent) GetEndpointUpdate

func (x *AgentEvent) GetEndpointUpdate() *EndpointUpdateNotification

func (*AgentEvent) GetIpcacheUpdate

func (x *AgentEvent) GetIpcacheUpdate() *IPCacheNotification

func (*AgentEvent) GetNotification

func (m *AgentEvent) GetNotification() isAgentEvent_Notification

func (*AgentEvent) GetPolicyUpdate

func (x *AgentEvent) GetPolicyUpdate() *PolicyUpdateNotification

func (*AgentEvent) GetServiceDelete

func (x *AgentEvent) GetServiceDelete() *ServiceDeleteNotification

func (*AgentEvent) GetServiceUpsert

func (x *AgentEvent) GetServiceUpsert() *ServiceUpsertNotification

func (*AgentEvent) GetType

func (x *AgentEvent) GetType() AgentEventType

func (*AgentEvent) GetUnknown

func (x *AgentEvent) GetUnknown() *AgentEventUnknown

func (*AgentEvent) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*AgentEvent) ProtoMessage

func (*AgentEvent) ProtoMessage()

func (*AgentEvent) ProtoReflect

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

func (*AgentEvent) Reset

func (x *AgentEvent) Reset()

func (*AgentEvent) String

func (x *AgentEvent) String() string

func (*AgentEvent) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type AgentEventType

type AgentEventType int32

AgentEventType is the type of agent event. These values are shared with type AgentNotification in pkg/monitor/api/types.go.

const (
	AgentEventType_AGENT_EVENT_UNKNOWN         AgentEventType = 0
	AgentEventType_AGENT_STARTED               AgentEventType = 2
	AgentEventType_POLICY_UPDATED              AgentEventType = 3
	AgentEventType_POLICY_DELETED              AgentEventType = 4
	AgentEventType_ENDPOINT_REGENERATE_SUCCESS AgentEventType = 5
	AgentEventType_ENDPOINT_REGENERATE_FAILURE AgentEventType = 6
	AgentEventType_ENDPOINT_CREATED            AgentEventType = 7
	AgentEventType_ENDPOINT_DELETED            AgentEventType = 8
	AgentEventType_IPCACHE_UPSERTED            AgentEventType = 9
	AgentEventType_IPCACHE_DELETED             AgentEventType = 10
	AgentEventType_SERVICE_UPSERTED            AgentEventType = 11
	AgentEventType_SERVICE_DELETED             AgentEventType = 12
)

func (AgentEventType) Descriptor

func (AgentEventType) Enum

func (x AgentEventType) Enum() *AgentEventType

func (AgentEventType) EnumDescriptor deprecated

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

Deprecated: Use AgentEventType.Descriptor instead.

func (AgentEventType) Number

func (AgentEventType) String

func (x AgentEventType) String() string

func (AgentEventType) Type

type AgentEventUnknown

type AgentEventUnknown struct {
	Type         string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Notification string `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"`
	// contains filtered or unexported fields
}

func (*AgentEventUnknown) Descriptor deprecated

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

Deprecated: Use AgentEventUnknown.ProtoReflect.Descriptor instead.

func (*AgentEventUnknown) GetNotification

func (x *AgentEventUnknown) GetNotification() string

func (*AgentEventUnknown) GetType

func (x *AgentEventUnknown) GetType() string

func (*AgentEventUnknown) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*AgentEventUnknown) ProtoMessage

func (*AgentEventUnknown) ProtoMessage()

func (*AgentEventUnknown) ProtoReflect

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

func (*AgentEventUnknown) Reset

func (x *AgentEventUnknown) Reset()

func (*AgentEventUnknown) String

func (x *AgentEventUnknown) String() string

func (*AgentEventUnknown) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type AgentEvent_AgentStart

type AgentEvent_AgentStart struct {
	AgentStart *TimeNotification `protobuf:"bytes,101,opt,name=agent_start,json=agentStart,proto3,oneof"`
}

type AgentEvent_EndpointRegenerate

type AgentEvent_EndpointRegenerate struct {
	// used for ENDPOINT_REGENERATE_SUCCESS and ENDPOINT_REGENERATE_FAILURE
	EndpointRegenerate *EndpointRegenNotification `protobuf:"bytes,103,opt,name=endpoint_regenerate,json=endpointRegenerate,proto3,oneof"`
}

type AgentEvent_EndpointUpdate

type AgentEvent_EndpointUpdate struct {
	// used for ENDPOINT_CREATED and ENDPOINT_DELETED
	EndpointUpdate *EndpointUpdateNotification `protobuf:"bytes,104,opt,name=endpoint_update,json=endpointUpdate,proto3,oneof"`
}

type AgentEvent_IpcacheUpdate

type AgentEvent_IpcacheUpdate struct {
	// used for IPCACHE_UPSERTED and IPCACHE_DELETED
	IpcacheUpdate *IPCacheNotification `protobuf:"bytes,105,opt,name=ipcache_update,json=ipcacheUpdate,proto3,oneof"`
}

type AgentEvent_PolicyUpdate

type AgentEvent_PolicyUpdate struct {
	// used for POLICY_UPDATED and POLICY_DELETED
	PolicyUpdate *PolicyUpdateNotification `protobuf:"bytes,102,opt,name=policy_update,json=policyUpdate,proto3,oneof"`
}

type AgentEvent_ServiceDelete

type AgentEvent_ServiceDelete struct {
	ServiceDelete *ServiceDeleteNotification `protobuf:"bytes,107,opt,name=service_delete,json=serviceDelete,proto3,oneof"`
}

type AgentEvent_ServiceUpsert

type AgentEvent_ServiceUpsert struct {
	ServiceUpsert *ServiceUpsertNotification `protobuf:"bytes,106,opt,name=service_upsert,json=serviceUpsert,proto3,oneof"`
}

type AgentEvent_Unknown

type AgentEvent_Unknown struct {
	Unknown *AgentEventUnknown `protobuf:"bytes,100,opt,name=unknown,proto3,oneof"`
}

type AuthType

type AuthType int32

These types correspond to definitions in pkg/policy/l4.go.

const (
	AuthType_DISABLED         AuthType = 0
	AuthType_SPIRE            AuthType = 1
	AuthType_TEST_ALWAYS_FAIL AuthType = 2
)

func (AuthType) Descriptor

func (AuthType) Descriptor() protoreflect.EnumDescriptor

func (AuthType) Enum

func (x AuthType) Enum() *AuthType

func (AuthType) EnumDescriptor deprecated

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

Deprecated: Use AuthType.Descriptor instead.

func (AuthType) Number

func (x AuthType) Number() protoreflect.EnumNumber

func (AuthType) String

func (x AuthType) String() string

func (AuthType) Type

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*
	// - github.com/cilium/cilium/pkg/monitor/api.DbgCapture*
	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 DebugCapturePoint

type DebugCapturePoint int32

These values are shared with pkg/monitor/api/datapath_debug.go and bpf/lib/dbg.h.

const (
	DebugCapturePoint_DBG_CAPTURE_POINT_UNKNOWN DebugCapturePoint = 0
	DebugCapturePoint_DBG_CAPTURE_DELIVERY      DebugCapturePoint = 4
	DebugCapturePoint_DBG_CAPTURE_FROM_LB       DebugCapturePoint = 5
	DebugCapturePoint_DBG_CAPTURE_AFTER_V46     DebugCapturePoint = 6
	DebugCapturePoint_DBG_CAPTURE_AFTER_V64     DebugCapturePoint = 7
	DebugCapturePoint_DBG_CAPTURE_PROXY_PRE     DebugCapturePoint = 8
	DebugCapturePoint_DBG_CAPTURE_PROXY_POST    DebugCapturePoint = 9
	DebugCapturePoint_DBG_CAPTURE_SNAT_PRE      DebugCapturePoint = 10
	DebugCapturePoint_DBG_CAPTURE_SNAT_POST     DebugCapturePoint = 11
)

func (DebugCapturePoint) Descriptor

func (DebugCapturePoint) Enum

func (DebugCapturePoint) EnumDescriptor deprecated

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

Deprecated: Use DebugCapturePoint.Descriptor instead.

func (DebugCapturePoint) Number

func (DebugCapturePoint) String

func (x DebugCapturePoint) String() string

func (DebugCapturePoint) Type

type DebugEvent

type DebugEvent struct {
	Type    DebugEventType          `protobuf:"varint,1,opt,name=type,proto3,enum=flow.DebugEventType" json:"type,omitempty"`
	Source  *Endpoint               `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
	Hash    *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
	Arg1    *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=arg1,proto3" json:"arg1,omitempty"`
	Arg2    *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=arg2,proto3" json:"arg2,omitempty"`
	Arg3    *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=arg3,proto3" json:"arg3,omitempty"`
	Message string                  `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"`
	Cpu     *wrapperspb.Int32Value  `protobuf:"bytes,8,opt,name=cpu,proto3" json:"cpu,omitempty"`
	// contains filtered or unexported fields
}

func (*DebugEvent) Descriptor deprecated

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

Deprecated: Use DebugEvent.ProtoReflect.Descriptor instead.

func (*DebugEvent) GetArg1

func (x *DebugEvent) GetArg1() *wrapperspb.UInt32Value

func (*DebugEvent) GetArg2

func (x *DebugEvent) GetArg2() *wrapperspb.UInt32Value

func (*DebugEvent) GetArg3

func (x *DebugEvent) GetArg3() *wrapperspb.UInt32Value

func (*DebugEvent) GetCpu

func (x *DebugEvent) GetCpu() *wrapperspb.Int32Value

func (*DebugEvent) GetHash

func (x *DebugEvent) GetHash() *wrapperspb.UInt32Value

func (*DebugEvent) GetMessage

func (x *DebugEvent) GetMessage() string

func (*DebugEvent) GetSource

func (x *DebugEvent) GetSource() *Endpoint

func (*DebugEvent) GetType

func (x *DebugEvent) GetType() DebugEventType

func (*DebugEvent) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*DebugEvent) ProtoMessage

func (*DebugEvent) ProtoMessage()

func (*DebugEvent) ProtoReflect

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

func (*DebugEvent) Reset

func (x *DebugEvent) Reset()

func (*DebugEvent) String

func (x *DebugEvent) String() string

func (*DebugEvent) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type DebugEventType

type DebugEventType int32

These values are shared with pkg/monitor/api/datapath_debug.go and bpf/lib/dbg.h.

const (
	DebugEventType_DBG_EVENT_UNKNOWN                   DebugEventType = 0
	DebugEventType_DBG_GENERIC                         DebugEventType = 1
	DebugEventType_DBG_LOCAL_DELIVERY                  DebugEventType = 2
	DebugEventType_DBG_ENCAP                           DebugEventType = 3
	DebugEventType_DBG_LXC_FOUND                       DebugEventType = 4
	DebugEventType_DBG_POLICY_DENIED                   DebugEventType = 5
	DebugEventType_DBG_CT_LOOKUP                       DebugEventType = 6
	DebugEventType_DBG_CT_LOOKUP_REV                   DebugEventType = 7
	DebugEventType_DBG_CT_MATCH                        DebugEventType = 8
	DebugEventType_DBG_CT_CREATED                      DebugEventType = 9
	DebugEventType_DBG_CT_CREATED2                     DebugEventType = 10
	DebugEventType_DBG_ICMP6_HANDLE                    DebugEventType = 11
	DebugEventType_DBG_ICMP6_REQUEST                   DebugEventType = 12
	DebugEventType_DBG_ICMP6_NS                        DebugEventType = 13
	DebugEventType_DBG_ICMP6_TIME_EXCEEDED             DebugEventType = 14
	DebugEventType_DBG_CT_VERDICT                      DebugEventType = 15
	DebugEventType_DBG_DECAP                           DebugEventType = 16
	DebugEventType_DBG_PORT_MAP                        DebugEventType = 17
	DebugEventType_DBG_ERROR_RET                       DebugEventType = 18
	DebugEventType_DBG_TO_HOST                         DebugEventType = 19
	DebugEventType_DBG_TO_STACK                        DebugEventType = 20
	DebugEventType_DBG_PKT_HASH                        DebugEventType = 21
	DebugEventType_DBG_LB6_LOOKUP_FRONTEND             DebugEventType = 22
	DebugEventType_DBG_LB6_LOOKUP_FRONTEND_FAIL        DebugEventType = 23
	DebugEventType_DBG_LB6_LOOKUP_BACKEND_SLOT         DebugEventType = 24
	DebugEventType_DBG_LB6_LOOKUP_BACKEND_SLOT_SUCCESS DebugEventType = 25
	DebugEventType_DBG_LB6_LOOKUP_BACKEND_SLOT_V2_FAIL DebugEventType = 26
	DebugEventType_DBG_LB6_LOOKUP_BACKEND_FAIL         DebugEventType = 27
	DebugEventType_DBG_LB6_REVERSE_NAT_LOOKUP          DebugEventType = 28
	DebugEventType_DBG_LB6_REVERSE_NAT                 DebugEventType = 29
	DebugEventType_DBG_LB4_LOOKUP_FRONTEND             DebugEventType = 30
	DebugEventType_DBG_LB4_LOOKUP_FRONTEND_FAIL        DebugEventType = 31
	DebugEventType_DBG_LB4_LOOKUP_BACKEND_SLOT         DebugEventType = 32
	DebugEventType_DBG_LB4_LOOKUP_BACKEND_SLOT_SUCCESS DebugEventType = 33
	DebugEventType_DBG_LB4_LOOKUP_BACKEND_SLOT_V2_FAIL DebugEventType = 34
	DebugEventType_DBG_LB4_LOOKUP_BACKEND_FAIL         DebugEventType = 35
	DebugEventType_DBG_LB4_REVERSE_NAT_LOOKUP          DebugEventType = 36
	DebugEventType_DBG_LB4_REVERSE_NAT                 DebugEventType = 37
	DebugEventType_DBG_LB4_LOOPBACK_SNAT               DebugEventType = 38
	DebugEventType_DBG_LB4_LOOPBACK_SNAT_REV           DebugEventType = 39
	DebugEventType_DBG_CT_LOOKUP4                      DebugEventType = 40
	DebugEventType_DBG_RR_BACKEND_SLOT_SEL             DebugEventType = 41
	DebugEventType_DBG_REV_PROXY_LOOKUP                DebugEventType = 42
	DebugEventType_DBG_REV_PROXY_FOUND                 DebugEventType = 43
	DebugEventType_DBG_REV_PROXY_UPDATE                DebugEventType = 44
	DebugEventType_DBG_L4_POLICY                       DebugEventType = 45
	DebugEventType_DBG_NETDEV_IN_CLUSTER               DebugEventType = 46
	DebugEventType_DBG_NETDEV_ENCAP4                   DebugEventType = 47
	DebugEventType_DBG_CT_LOOKUP4_1                    DebugEventType = 48
	DebugEventType_DBG_CT_LOOKUP4_2                    DebugEventType = 49
	DebugEventType_DBG_CT_CREATED4                     DebugEventType = 50
	DebugEventType_DBG_CT_LOOKUP6_1                    DebugEventType = 51
	DebugEventType_DBG_CT_LOOKUP6_2                    DebugEventType = 52
	DebugEventType_DBG_CT_CREATED6                     DebugEventType = 53
	DebugEventType_DBG_SKIP_PROXY                      DebugEventType = 54
	DebugEventType_DBG_L4_CREATE                       DebugEventType = 55
	DebugEventType_DBG_IP_ID_MAP_FAILED4               DebugEventType = 56
	DebugEventType_DBG_IP_ID_MAP_FAILED6               DebugEventType = 57
	DebugEventType_DBG_IP_ID_MAP_SUCCEED4              DebugEventType = 58
	DebugEventType_DBG_IP_ID_MAP_SUCCEED6              DebugEventType = 59
	DebugEventType_DBG_LB_STALE_CT                     DebugEventType = 60
	DebugEventType_DBG_INHERIT_IDENTITY                DebugEventType = 61
	DebugEventType_DBG_SK_LOOKUP4                      DebugEventType = 62
	DebugEventType_DBG_SK_LOOKUP6                      DebugEventType = 63
	DebugEventType_DBG_SK_ASSIGN                       DebugEventType = 64
	DebugEventType_DBG_L7_LB                           DebugEventType = 65
	DebugEventType_DBG_SKIP_POLICY                     DebugEventType = 66
)

func (DebugEventType) Descriptor

func (DebugEventType) Enum

func (x DebugEventType) Enum() *DebugEventType

func (DebugEventType) EnumDescriptor deprecated

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

Deprecated: Use DebugEventType.Descriptor instead.

func (DebugEventType) Number

func (DebugEventType) String

func (x DebugEventType) String() string

func (DebugEventType) Type

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
	DropReason_POLICY_DENY                                           DropReason = 181
	DropReason_VLAN_FILTERED                                         DropReason = 182
	DropReason_INVALID_VNI                                           DropReason = 183
	DropReason_INVALID_TC_BUFFER                                     DropReason = 184
	DropReason_NO_SID                                                DropReason = 185
	DropReason_MISSING_SRV6_STATE                                    DropReason = 186
	DropReason_NAT46                                                 DropReason = 187
	DropReason_NAT64                                                 DropReason = 188
	DropReason_AUTH_REQUIRED                                         DropReason = 189
	DropReason_CT_NO_MAP_FOUND                                       DropReason = 190
	DropReason_SNAT_NO_MAP_FOUND                                     DropReason = 191
	DropReason_INVALID_CLUSTER_ID                                    DropReason = 192
	DropReason_UNSUPPORTED_PROTOCOL_FOR_DSR_ENCAP                    DropReason = 193
	DropReason_NO_EGRESS_GATEWAY                                     DropReason = 194
	DropReason_UNENCRYPTED_TRAFFIC                                   DropReason = 195
	DropReason_TTL_EXCEEDED                                          DropReason = 196
	DropReason_NO_NODE_ID                                            DropReason = 197
	DropReason_DROP_RATE_LIMITED                                     DropReason = 198
	DropReason_IGMP_HANDLED                                          DropReason = 199
	DropReason_IGMP_SUBSCRIBED                                       DropReason = 200
	DropReason_MULTICAST_HANDLED                                     DropReason = 201
	// A BPF program wants to tail call into bpf_host, but the host datapath
	// hasn't been loaded yet.
	DropReason_DROP_HOST_NOT_READY DropReason = 202
)

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"`
	Workloads []*Workload `protobuf:"bytes,6,rep,name=workloads,proto3" json:"workloads,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) GetWorkloads

func (x *Endpoint) GetWorkloads() []*Workload

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 EndpointRegenNotification

type EndpointRegenNotification struct {
	Id     uint64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Labels []string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"`
	Error  string   `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*EndpointRegenNotification) Descriptor deprecated

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

Deprecated: Use EndpointRegenNotification.ProtoReflect.Descriptor instead.

func (*EndpointRegenNotification) GetError

func (x *EndpointRegenNotification) GetError() string

func (*EndpointRegenNotification) GetId

func (x *EndpointRegenNotification) GetId() uint64

func (*EndpointRegenNotification) GetLabels

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

func (*EndpointRegenNotification) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*EndpointRegenNotification) ProtoMessage

func (*EndpointRegenNotification) ProtoMessage()

func (*EndpointRegenNotification) ProtoReflect

func (*EndpointRegenNotification) Reset

func (x *EndpointRegenNotification) Reset()

func (*EndpointRegenNotification) String

func (x *EndpointRegenNotification) String() string

func (*EndpointRegenNotification) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type EndpointUpdateNotification

type EndpointUpdateNotification struct {
	Id        uint64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Labels    []string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"`
	Error     string   `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	PodName   string   `protobuf:"bytes,4,opt,name=pod_name,json=podName,proto3" json:"pod_name,omitempty"`
	Namespace string   `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// contains filtered or unexported fields
}

func (*EndpointUpdateNotification) Descriptor deprecated

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

Deprecated: Use EndpointUpdateNotification.ProtoReflect.Descriptor instead.

func (*EndpointUpdateNotification) GetError

func (x *EndpointUpdateNotification) GetError() string

func (*EndpointUpdateNotification) GetId

func (*EndpointUpdateNotification) GetLabels

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

func (*EndpointUpdateNotification) GetNamespace

func (x *EndpointUpdateNotification) GetNamespace() string

func (*EndpointUpdateNotification) GetPodName

func (x *EndpointUpdateNotification) GetPodName() string

func (*EndpointUpdateNotification) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*EndpointUpdateNotification) ProtoMessage

func (*EndpointUpdateNotification) ProtoMessage()

func (*EndpointUpdateNotification) ProtoReflect

func (*EndpointUpdateNotification) Reset

func (x *EndpointUpdateNotification) Reset()

func (*EndpointUpdateNotification) String

func (x *EndpointUpdateNotification) String() string

func (*EndpointUpdateNotification) UnmarshalJSON

func (msg *EndpointUpdateNotification) 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 *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
	// uuid is a universally unique identifier for this flow.
	Uuid    string  `protobuf:"bytes,34,opt,name=uuid,proto3" json:"uuid,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: Marked as deprecated in flow/flow.proto.
	DropReason uint32 `protobuf:"varint,3,opt,name=drop_reason,json=dropReason,proto3" json:"drop_reason,omitempty"`
	// auth_type is the authentication type specified for the flow in Cilium Network Policy.
	// Only set on policy verdict events.
	AuthType AuthType `protobuf:"varint,35,opt,name=auth_type,json=authType,proto3,enum=flow.AuthType" json:"auth_type,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: Marked as deprecated in flow/flow.proto.
	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 *wrapperspb.BoolValue `protobuf:"bytes,26,opt,name=is_reply,json=isReply,proto3" json:"is_reply,omitempty"`
	// Only applicable to cilium debug capture events, blank for other types
	DebugCapturePoint DebugCapturePoint `` /* 144-byte string literal not displayed */
	// interface is the network interface on which this flow was observed
	Interface *NetworkInterface `protobuf:"bytes,28,opt,name=interface,proto3" json:"interface,omitempty"`
	// proxy_port indicates the port of the proxy to which the flow was forwarded
	ProxyPort uint32 `protobuf:"varint,29,opt,name=proxy_port,json=proxyPort,proto3" json:"proxy_port,omitempty"`
	// trace_context contains information about a trace related to the flow, if
	// any.
	TraceContext *TraceContext `protobuf:"bytes,30,opt,name=trace_context,json=traceContext,proto3" json:"trace_context,omitempty"`
	// sock_xlate_point is the socket translation point.
	// Only applicable to TraceSock notifications, blank for other types
	SockXlatePoint SocketTranslationPoint `` /* 140-byte string literal not displayed */
	// socket_cookie is the Linux kernel socket cookie for this flow.
	// Only applicable to TraceSock notifications, zero for other types
	SocketCookie uint64 `protobuf:"varint,32,opt,name=socket_cookie,json=socketCookie,proto3" json:"socket_cookie,omitempty"`
	// cgroup_id of the process which emitted this event.
	// Only applicable to TraceSock notifications, zero for other types
	CgroupId uint64 `protobuf:"varint,33,opt,name=cgroup_id,json=cgroupId,proto3" json:"cgroup_id,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: Marked as deprecated in flow/flow.proto.
	Summary string `protobuf:"bytes,100000,opt,name=Summary,proto3" json:"Summary,omitempty"`
	// extensions can be used to add arbitrary additional metadata to flows.
	// This can be used to extend functionality for other Hubble compatible
	// APIs, or experiment with new functionality without needing to change the public API.
	Extensions *anypb.Any `protobuf:"bytes,150000,opt,name=extensions,proto3" json:"extensions,omitempty"`
	// The CiliumNetworkPolicies allowing the egress of the flow.
	EgressAllowedBy []*Policy `protobuf:"bytes,21001,rep,name=egress_allowed_by,json=egressAllowedBy,proto3" json:"egress_allowed_by,omitempty"`
	// The CiliumNetworkPolicies allowing the ingress of the flow.
	IngressAllowedBy []*Policy `protobuf:"bytes,21002,rep,name=ingress_allowed_by,json=ingressAllowedBy,proto3" json:"ingress_allowed_by,omitempty"`
	// contains filtered or unexported fields
}

func (*Flow) Descriptor deprecated

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

Deprecated: Use Flow.ProtoReflect.Descriptor instead.

func (*Flow) GetAuthType

func (x *Flow) GetAuthType() AuthType

func (*Flow) GetCgroupId

func (x *Flow) GetCgroupId() uint64

func (*Flow) GetDebugCapturePoint

func (x *Flow) GetDebugCapturePoint() DebugCapturePoint

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: Marked as deprecated in flow/flow.proto.

func (*Flow) GetDropReasonDesc

func (x *Flow) GetDropReasonDesc() DropReason

func (*Flow) GetEgressAllowedBy added in v1.15.0

func (x *Flow) GetEgressAllowedBy() []*Policy

func (*Flow) GetEthernet

func (x *Flow) GetEthernet() *Ethernet

func (*Flow) GetEventType

func (x *Flow) GetEventType() *CiliumEventType

func (*Flow) GetExtensions

func (x *Flow) GetExtensions() *anypb.Any

func (*Flow) GetIP

func (x *Flow) GetIP() *IP

func (*Flow) GetIngressAllowedBy added in v1.15.0

func (x *Flow) GetIngressAllowedBy() []*Policy

func (*Flow) GetInterface

func (x *Flow) GetInterface() *NetworkInterface

func (*Flow) GetIsReply

func (x *Flow) GetIsReply() *wrapperspb.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) GetProxyPort

func (x *Flow) GetProxyPort() uint32

func (*Flow) GetReply deprecated

func (x *Flow) GetReply() bool

Deprecated: Marked as deprecated in flow/flow.proto.

func (*Flow) GetSockXlatePoint

func (x *Flow) GetSockXlatePoint() SocketTranslationPoint

func (*Flow) GetSocketCookie

func (x *Flow) GetSocketCookie() uint64

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: Marked as deprecated in flow/flow.proto.

func (*Flow) GetTime

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

func (*Flow) GetTraceContext

func (x *Flow) GetTraceContext() *TraceContext

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) GetUuid

func (x *Flow) GetUuid() string

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 {

	// uuid filters by a list of flow uuids.
	Uuid []string `protobuf:"bytes,29,rep,name=uuid,proto3" json:"uuid,omitempty"`
	// source_ip filters by a list of source ips. Each of the source ips can be
	// specified as an exact match (e.g. "1.1.1.1") or as a CIDR range (e.g.
	// "1.1.1.0/24").
	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 omitted to only filter by namespace
	// (e.g. "kube-system/") or the namespace can be omitted to filter for
	// pods in any namespace (e.g. "/xwing")
	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"`
	// source_workload filters by a list of source workload.
	SourceWorkload []*Workload `protobuf:"bytes,26,rep,name=source_workload,json=sourceWorkload,proto3" json:"source_workload,omitempty"`
	// destination_ip filters by a list of destination ips. Each of the
	// destination ips can be specified as an exact match (e.g. "1.1.1.1") or
	// as a CIDR range (e.g. "1.1.1.0/24").
	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"`
	// destination_workload filters by a list of destination workload.
	DestinationWorkload []*Workload `protobuf:"bytes,27,rep,name=destination_workload,json=destinationWorkload,proto3" json:"destination_workload,omitempty"`
	// traffic_direction filters flow by direction of the connection, e.g.
	// ingress or egress.
	TrafficDirection []TrafficDirection `` /* 145-byte string literal not displayed */
	// 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"`
	// http_url is a list of regular expressions to filter on the HTTP URL.
	HttpUrl []string `protobuf:"bytes,31,rep,name=http_url,json=httpUrl,proto3" json:"http_url,omitempty"`
	// http_header is a list of key:value pairs to filter on the HTTP headers.
	HttpHeader []*HTTPHeader `protobuf:"bytes,32,rep,name=http_header,json=httpHeader,proto3" json:"http_header,omitempty"`
	// tcp_flags filters flows based on TCP header flags
	TcpFlags []*TCPFlags `protobuf:"bytes,23,rep,name=tcp_flags,json=tcpFlags,proto3" json:"tcp_flags,omitempty"`
	// node_name is a list of patterns to filter on the node name, e.g. "k8s*",
	// "test-cluster/*.domain.com", "cluster-name/" etc.
	NodeName []string `protobuf:"bytes,24,rep,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	// filter based on IP version (ipv4 or ipv6)
	IpVersion []IPVersion `protobuf:"varint,25,rep,packed,name=ip_version,json=ipVersion,proto3,enum=flow.IPVersion" json:"ip_version,omitempty"`
	// trace_id filters flows by trace ID
	TraceId []string `protobuf:"bytes,28,rep,name=trace_id,json=traceId,proto3" json:"trace_id,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) GetDestinationWorkload

func (x *FlowFilter) GetDestinationWorkload() []*Workload

func (*FlowFilter) GetDnsQuery

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

func (*FlowFilter) GetEventType

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

func (*FlowFilter) GetHttpHeader added in v1.15.0

func (x *FlowFilter) GetHttpHeader() []*HTTPHeader

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) GetHttpUrl added in v1.15.0

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

func (*FlowFilter) GetIpVersion

func (x *FlowFilter) GetIpVersion() []IPVersion

func (*FlowFilter) GetNodeName

func (x *FlowFilter) GetNodeName() []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) GetSourceWorkload

func (x *FlowFilter) GetSourceWorkload() []*Workload

func (*FlowFilter) GetTcpFlags

func (x *FlowFilter) GetTcpFlags() []*TCPFlags

func (*FlowFilter) GetTraceId

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

func (*FlowFilter) GetTrafficDirection

func (x *FlowFilter) GetTrafficDirection() []TrafficDirection

func (*FlowFilter) GetUuid

func (x *FlowFilter) GetUuid() []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
	FlowType_SOCK         FlowType = 3
)

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](https://github.com/cilium/cilium/blob/728c79e427438ab6f8d9375b62fccd6fed4ace3a/pkg/proxy/accesslog/record.go#L206) type.

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 IPCacheNotification

type IPCacheNotification struct {
	Cidr        string                  `protobuf:"bytes,1,opt,name=cidr,proto3" json:"cidr,omitempty"`
	Identity    uint32                  `protobuf:"varint,2,opt,name=identity,proto3" json:"identity,omitempty"`
	OldIdentity *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=old_identity,json=oldIdentity,proto3" json:"old_identity,omitempty"`
	HostIp      string                  `protobuf:"bytes,4,opt,name=host_ip,json=hostIp,proto3" json:"host_ip,omitempty"`
	OldHostIp   string                  `protobuf:"bytes,5,opt,name=old_host_ip,json=oldHostIp,proto3" json:"old_host_ip,omitempty"`
	EncryptKey  uint32                  `protobuf:"varint,6,opt,name=encrypt_key,json=encryptKey,proto3" json:"encrypt_key,omitempty"`
	Namespace   string                  `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"`
	PodName     string                  `protobuf:"bytes,8,opt,name=pod_name,json=podName,proto3" json:"pod_name,omitempty"`
	// contains filtered or unexported fields
}

func (*IPCacheNotification) Descriptor deprecated

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

Deprecated: Use IPCacheNotification.ProtoReflect.Descriptor instead.

func (*IPCacheNotification) GetCidr

func (x *IPCacheNotification) GetCidr() string

func (*IPCacheNotification) GetEncryptKey

func (x *IPCacheNotification) GetEncryptKey() uint32

func (*IPCacheNotification) GetHostIp

func (x *IPCacheNotification) GetHostIp() string

func (*IPCacheNotification) GetIdentity

func (x *IPCacheNotification) GetIdentity() uint32

func (*IPCacheNotification) GetNamespace

func (x *IPCacheNotification) GetNamespace() string

func (*IPCacheNotification) GetOldHostIp

func (x *IPCacheNotification) GetOldHostIp() string

func (*IPCacheNotification) GetOldIdentity

func (x *IPCacheNotification) GetOldIdentity() *wrapperspb.UInt32Value

func (*IPCacheNotification) GetPodName

func (x *IPCacheNotification) GetPodName() string

func (*IPCacheNotification) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*IPCacheNotification) ProtoMessage

func (*IPCacheNotification) ProtoMessage()

func (*IPCacheNotification) ProtoReflect

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

func (*IPCacheNotification) Reset

func (x *IPCacheNotification) Reset()

func (*IPCacheNotification) String

func (x *IPCacheNotification) String() string

func (*IPCacheNotification) UnmarshalJSON

func (msg *IPCacheNotification) 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](https://github.com/cilium/cilium/blob/728c79e427438ab6f8d9375b62fccd6fed4ace3a/pkg/proxy/accesslog/record.go#L229) type.

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
	//	*Layer4_SCTP
	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) GetSCTP

func (x *Layer4) GetSCTP() *SCTP

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_SCTP

type Layer4_SCTP struct {
	SCTP *SCTP `protobuf:"bytes,5,opt,name=SCTP,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 *wrapperspb.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() *wrapperspb.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
	// HUBBLE_RING_BUFFER indicates that the event was dropped because it could
	// not be read from Hubble's ring buffer in time before being overwritten.
	LostEventSource_HUBBLE_RING_BUFFER LostEventSource = 3
)

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 NetworkInterface

type NetworkInterface struct {
	Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	Name  string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*NetworkInterface) Descriptor deprecated

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

Deprecated: Use NetworkInterface.ProtoReflect.Descriptor instead.

func (*NetworkInterface) GetIndex

func (x *NetworkInterface) GetIndex() uint32

func (*NetworkInterface) GetName

func (x *NetworkInterface) GetName() string

func (*NetworkInterface) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*NetworkInterface) ProtoMessage

func (*NetworkInterface) ProtoMessage()

func (*NetworkInterface) ProtoReflect

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

func (*NetworkInterface) Reset

func (x *NetworkInterface) Reset()

func (*NetworkInterface) String

func (x *NetworkInterface) String() string

func (*NetworkInterface) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type Policy added in v1.15.0

type Policy 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"`
	Labels    []string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty"`
	Revision  uint64   `protobuf:"varint,4,opt,name=revision,proto3" json:"revision,omitempty"`
	// contains filtered or unexported fields
}

func (*Policy) Descriptor deprecated added in v1.15.0

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

Deprecated: Use Policy.ProtoReflect.Descriptor instead.

func (*Policy) GetLabels added in v1.15.0

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

func (*Policy) GetName added in v1.15.0

func (x *Policy) GetName() string

func (*Policy) GetNamespace added in v1.15.0

func (x *Policy) GetNamespace() string

func (*Policy) GetRevision added in v1.15.0

func (x *Policy) GetRevision() uint64

func (*Policy) MarshalJSON added in v1.15.0

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

MarshalJSON implements json.Marshaler

func (*Policy) ProtoMessage added in v1.15.0

func (*Policy) ProtoMessage()

func (*Policy) ProtoReflect added in v1.15.0

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

func (*Policy) Reset added in v1.15.0

func (x *Policy) Reset()

func (*Policy) String added in v1.15.0

func (x *Policy) String() string

func (*Policy) UnmarshalJSON added in v1.15.0

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

UnmarshalJSON implements json.Unmarshaler

type PolicyUpdateNotification

type PolicyUpdateNotification struct {
	Labels    []string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty"`
	Revision  uint64   `protobuf:"varint,2,opt,name=revision,proto3" json:"revision,omitempty"`
	RuleCount int64    `protobuf:"varint,3,opt,name=rule_count,json=ruleCount,proto3" json:"rule_count,omitempty"`
	// contains filtered or unexported fields
}

func (*PolicyUpdateNotification) Descriptor deprecated

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

Deprecated: Use PolicyUpdateNotification.ProtoReflect.Descriptor instead.

func (*PolicyUpdateNotification) GetLabels

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

func (*PolicyUpdateNotification) GetRevision

func (x *PolicyUpdateNotification) GetRevision() uint64

func (*PolicyUpdateNotification) GetRuleCount

func (x *PolicyUpdateNotification) GetRuleCount() int64

func (*PolicyUpdateNotification) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*PolicyUpdateNotification) ProtoMessage

func (*PolicyUpdateNotification) ProtoMessage()

func (*PolicyUpdateNotification) ProtoReflect

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

func (*PolicyUpdateNotification) Reset

func (x *PolicyUpdateNotification) Reset()

func (*PolicyUpdateNotification) String

func (x *PolicyUpdateNotification) String() string

func (*PolicyUpdateNotification) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type SCTP

type SCTP 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 (*SCTP) Descriptor deprecated

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

Deprecated: Use SCTP.ProtoReflect.Descriptor instead.

func (*SCTP) GetDestinationPort

func (x *SCTP) GetDestinationPort() uint32

func (*SCTP) GetSourcePort

func (x *SCTP) GetSourcePort() uint32

func (*SCTP) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*SCTP) ProtoMessage

func (*SCTP) ProtoMessage()

func (*SCTP) ProtoReflect

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

func (*SCTP) Reset

func (x *SCTP) Reset()

func (*SCTP) String

func (x *SCTP) String() string

func (*SCTP) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

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 ServiceDeleteNotification

type ServiceDeleteNotification struct {
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceDeleteNotification) Descriptor deprecated

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

Deprecated: Use ServiceDeleteNotification.ProtoReflect.Descriptor instead.

func (*ServiceDeleteNotification) GetId

func (x *ServiceDeleteNotification) GetId() uint32

func (*ServiceDeleteNotification) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*ServiceDeleteNotification) ProtoMessage

func (*ServiceDeleteNotification) ProtoMessage()

func (*ServiceDeleteNotification) ProtoReflect

func (*ServiceDeleteNotification) Reset

func (x *ServiceDeleteNotification) Reset()

func (*ServiceDeleteNotification) String

func (x *ServiceDeleteNotification) String() string

func (*ServiceDeleteNotification) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type ServiceUpsertNotification

type ServiceUpsertNotification struct {
	Id               uint32                           `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	FrontendAddress  *ServiceUpsertNotificationAddr   `protobuf:"bytes,2,opt,name=frontend_address,json=frontendAddress,proto3" json:"frontend_address,omitempty"`
	BackendAddresses []*ServiceUpsertNotificationAddr `protobuf:"bytes,3,rep,name=backend_addresses,json=backendAddresses,proto3" json:"backend_addresses,omitempty"`
	Type             string                           `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
	// Deprecated: Marked as deprecated in flow/flow.proto.
	TrafficPolicy    string `protobuf:"bytes,5,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"`
	Name             string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	Namespace        string `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"`
	ExtTrafficPolicy string `protobuf:"bytes,8,opt,name=ext_traffic_policy,json=extTrafficPolicy,proto3" json:"ext_traffic_policy,omitempty"`
	IntTrafficPolicy string `protobuf:"bytes,9,opt,name=int_traffic_policy,json=intTrafficPolicy,proto3" json:"int_traffic_policy,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceUpsertNotification) Descriptor deprecated

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

Deprecated: Use ServiceUpsertNotification.ProtoReflect.Descriptor instead.

func (*ServiceUpsertNotification) GetBackendAddresses

func (x *ServiceUpsertNotification) GetBackendAddresses() []*ServiceUpsertNotificationAddr

func (*ServiceUpsertNotification) GetExtTrafficPolicy

func (x *ServiceUpsertNotification) GetExtTrafficPolicy() string

func (*ServiceUpsertNotification) GetFrontendAddress

func (*ServiceUpsertNotification) GetId

func (x *ServiceUpsertNotification) GetId() uint32

func (*ServiceUpsertNotification) GetIntTrafficPolicy

func (x *ServiceUpsertNotification) GetIntTrafficPolicy() string

func (*ServiceUpsertNotification) GetName

func (x *ServiceUpsertNotification) GetName() string

func (*ServiceUpsertNotification) GetNamespace

func (x *ServiceUpsertNotification) GetNamespace() string

func (*ServiceUpsertNotification) GetTrafficPolicy deprecated

func (x *ServiceUpsertNotification) GetTrafficPolicy() string

Deprecated: Marked as deprecated in flow/flow.proto.

func (*ServiceUpsertNotification) GetType

func (x *ServiceUpsertNotification) GetType() string

func (*ServiceUpsertNotification) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*ServiceUpsertNotification) ProtoMessage

func (*ServiceUpsertNotification) ProtoMessage()

func (*ServiceUpsertNotification) ProtoReflect

func (*ServiceUpsertNotification) Reset

func (x *ServiceUpsertNotification) Reset()

func (*ServiceUpsertNotification) String

func (x *ServiceUpsertNotification) String() string

func (*ServiceUpsertNotification) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type ServiceUpsertNotificationAddr

type ServiceUpsertNotificationAddr struct {
	Ip   string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceUpsertNotificationAddr) Descriptor deprecated

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

Deprecated: Use ServiceUpsertNotificationAddr.ProtoReflect.Descriptor instead.

func (*ServiceUpsertNotificationAddr) GetIp

func (*ServiceUpsertNotificationAddr) GetPort

func (*ServiceUpsertNotificationAddr) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*ServiceUpsertNotificationAddr) ProtoMessage

func (*ServiceUpsertNotificationAddr) ProtoMessage()

func (*ServiceUpsertNotificationAddr) ProtoReflect

func (*ServiceUpsertNotificationAddr) Reset

func (x *ServiceUpsertNotificationAddr) Reset()

func (*ServiceUpsertNotificationAddr) String

func (*ServiceUpsertNotificationAddr) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type SocketTranslationPoint

type SocketTranslationPoint int32

This mirrors enum xlate_point in bpf/lib/trace_sock.h

const (
	SocketTranslationPoint_SOCK_XLATE_POINT_UNKNOWN            SocketTranslationPoint = 0
	SocketTranslationPoint_SOCK_XLATE_POINT_PRE_DIRECTION_FWD  SocketTranslationPoint = 1 // Pre service translation
	SocketTranslationPoint_SOCK_XLATE_POINT_POST_DIRECTION_FWD SocketTranslationPoint = 2 // Post service translation
	SocketTranslationPoint_SOCK_XLATE_POINT_PRE_DIRECTION_REV  SocketTranslationPoint = 3 // Pre reverse service translation
	SocketTranslationPoint_SOCK_XLATE_POINT_POST_DIRECTION_REV SocketTranslationPoint = 4 // Post reverse service translation
)

func (SocketTranslationPoint) Descriptor

func (SocketTranslationPoint) Enum

func (SocketTranslationPoint) EnumDescriptor deprecated

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

Deprecated: Use SocketTranslationPoint.Descriptor instead.

func (SocketTranslationPoint) Number

func (SocketTranslationPoint) String

func (x SocketTranslationPoint) String() string

func (SocketTranslationPoint) Type

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 TimeNotification

type TimeNotification struct {
	Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
	// contains filtered or unexported fields
}

func (*TimeNotification) Descriptor deprecated

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

Deprecated: Use TimeNotification.ProtoReflect.Descriptor instead.

func (*TimeNotification) GetTime

func (x *TimeNotification) GetTime() *timestamppb.Timestamp

func (*TimeNotification) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*TimeNotification) ProtoMessage

func (*TimeNotification) ProtoMessage()

func (*TimeNotification) ProtoReflect

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

func (*TimeNotification) Reset

func (x *TimeNotification) Reset()

func (*TimeNotification) String

func (x *TimeNotification) String() string

func (*TimeNotification) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type TraceContext

type TraceContext struct {

	// parent identifies the incoming request in a tracing system.
	Parent *TraceParent `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// contains filtered or unexported fields
}

TraceContext contains trace context propagation data, i.e. information about a distributed trace. For more information about trace context, check the [W3C Trace Context specification](https://www.w3.org/TR/trace-context/).

func (*TraceContext) Descriptor deprecated

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

Deprecated: Use TraceContext.ProtoReflect.Descriptor instead.

func (*TraceContext) GetParent

func (x *TraceContext) GetParent() *TraceParent

func (*TraceContext) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*TraceContext) ProtoMessage

func (*TraceContext) ProtoMessage()

func (*TraceContext) ProtoReflect

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

func (*TraceContext) Reset

func (x *TraceContext) Reset()

func (*TraceContext) String

func (x *TraceContext) String() string

func (*TraceContext) UnmarshalJSON

func (msg *TraceContext) 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
	// TO_PROXY indicates network packets are transmitted towards the l7 proxy.
	TraceObservationPoint_TO_PROXY TraceObservationPoint = 1
	// TO_HOST indicates network packets are transmitted towards the host
	// namespace.
	TraceObservationPoint_TO_HOST TraceObservationPoint = 2
	// TO_STACK indicates network packets are transmitted towards the Linux
	// kernel network stack on host machine.
	TraceObservationPoint_TO_STACK TraceObservationPoint = 3
	// TO_OVERLAY indicates network packets are transmitted towards the tunnel
	// device.
	TraceObservationPoint_TO_OVERLAY TraceObservationPoint = 4
	// TO_ENDPOINT indicates network packets are transmitted towards endpoints
	// (containers).
	TraceObservationPoint_TO_ENDPOINT TraceObservationPoint = 101
	// FROM_ENDPOINT indicates network packets were received from endpoints
	// (containers).
	TraceObservationPoint_FROM_ENDPOINT TraceObservationPoint = 5
	// FROM_PROXY indicates network packets were received from the l7 proxy.
	TraceObservationPoint_FROM_PROXY TraceObservationPoint = 6
	// FROM_HOST indicates network packets were received from the host
	// namespace.
	TraceObservationPoint_FROM_HOST TraceObservationPoint = 7
	// FROM_STACK indicates network packets were received from the Linux kernel
	// network stack on host machine.
	TraceObservationPoint_FROM_STACK TraceObservationPoint = 8
	// FROM_OVERLAY indicates network packets were received from the tunnel
	// device.
	TraceObservationPoint_FROM_OVERLAY TraceObservationPoint = 9
	// FROM_NETWORK indicates network packets were received from native
	// devices.
	TraceObservationPoint_FROM_NETWORK TraceObservationPoint = 10
	// TO_NETWORK indicates network packets are transmitted towards native
	// devices.
	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 TraceParent

type TraceParent struct {

	// trace_id is a unique value that identifies a trace. It is a byte array
	// represented as a hex string.
	TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
	// contains filtered or unexported fields
}

TraceParent identifies the incoming request in a tracing system.

func (*TraceParent) Descriptor deprecated

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

Deprecated: Use TraceParent.ProtoReflect.Descriptor instead.

func (*TraceParent) GetTraceId

func (x *TraceParent) GetTraceId() string

func (*TraceParent) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*TraceParent) ProtoMessage

func (*TraceParent) ProtoMessage()

func (*TraceParent) ProtoReflect

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

func (*TraceParent) Reset

func (x *TraceParent) Reset()

func (*TraceParent) String

func (x *TraceParent) String() string

func (*TraceParent) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

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 (
	// UNKNOWN is used if there is no verdict for this flow event
	Verdict_VERDICT_UNKNOWN Verdict = 0
	// FORWARDED is used for flow events where the trace point has forwarded
	// this packet or connection to the next processing entity.
	Verdict_FORWARDED Verdict = 1
	// DROPPED is used for flow events where the connection or packet has
	// been dropped (e.g. due to a malformed packet, it being rejected by a
	// network policy etc). The exact drop reason may be found in drop_reason_desc.
	Verdict_DROPPED Verdict = 2
	// ERROR is used for flow events where an error occurred during processing
	Verdict_ERROR Verdict = 3
	// AUDIT is used on policy verdict events in policy audit mode, to
	// denominate flows that would have been dropped by policy if audit mode
	// was turned off
	Verdict_AUDIT Verdict = 4
	// REDIRECTED is used for flow events which have been redirected to the proxy
	Verdict_REDIRECTED Verdict = 5
	// TRACED is used for flow events which have been observed at a trace point,
	// but no particular verdict has been reached yet
	Verdict_TRACED Verdict = 6
	// TRANSLATED is used for flow events where an address has been translated
	Verdict_TRANSLATED Verdict = 7
)

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

type Workload

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

func (*Workload) Descriptor deprecated

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

Deprecated: Use Workload.ProtoReflect.Descriptor instead.

func (*Workload) GetKind

func (x *Workload) GetKind() string

func (*Workload) GetName

func (x *Workload) GetName() string

func (*Workload) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*Workload) ProtoMessage

func (*Workload) ProtoMessage()

func (*Workload) ProtoReflect

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

func (*Workload) Reset

func (x *Workload) Reset()

func (*Workload) String

func (x *Workload) String() string

func (*Workload) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

Jump to

Keyboard shortcuts

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