Get desktop application:
View/edit binary Protocol Buffers messages
On this API, only the following payloads will be sent: - InSync - IPSetUpdate - IPSetDeltaUpdate - IPSetRemove - ActiveProfileUpdate - ActiveProfileRemove - ActivePolicyUpdate - ActivePolicyRemove - WorkloadEndpointUpdate - WorkloadEndpointRemove - ServiceAccountUpdate - ServiceAccountRemove - NamespaceUpdate - NamespaceRemove - RouteUpdate - RouteRemove - VXLANTunnelEndpointUpdate - VXLANTunnelEndpointRemove
(message has no fields)
Sequence number incremented with each message. Useful for correlating messages in logs.
InSync is sent once a complete snapshot of the datastore has been processed. The dataplane driver should use it as a signal to resynchronise the dataplane.
IPSetUpdate is sent when an IP set becomes active. It contains the complete membership of the IP set.
IPSetDeltaUpdates are sent after the first IPSetUpdate; they contain a list of IPs that should be added and removed from the IP set.
IPSet remove is sent when an IP set is no longer needed.
ActiveProfileUpdate is sent when a profile becomes active or is updated.
ActiveProfileRemove is sent when a profile becomes inactive or is deleted.
ActivePolicyUpdate is sent when a policy becomes active or is updated.
ActivePolicyRemove is sent when a policy becomes inactive or is deleted.
HostEndpointUpdate is sent when a local host endpoint is added or updated.
HostEndpointRemove is sent when a local host endpoint is removed.
WorkloadEndpointUpdate is sent when a local workload endpoint is added or updated.
WorkloadEndpointRemove is sent when a local workload endpoint is removed.
ConfigUpdate is sent at start of day or when the config changes.
HostMetadataUpdate is sent when a host IP is added or updated. I.e. the IP used for BGP peering/IPIP.
HostIPRemove is sent when a host IP is removed.
HostMetadataV4V6Update is sent when a host is added or updated.
HostIPRemove is sent when a host is removed.
IPAMPoolUpdate is sent when an IPAM pool is added/updated.
IPAMPoolRemove is sent when an IPAM pool is removed.
ServiceAccountUpdate is sent when a ServiceAccount is added/updated.
ServiceAccountRemove is sent when a ServiceAccount is removed.
NamespaceUpdate is sent when a Namespace is added/updated.
NamespaceRemove is sent when a Namespace is removed.
RouteUpdate is send when a route is added/updated.
RouteRemove is send when a route is deleted.
VXLANTunnelEndpointUpdate is send when a vtep is added/updated.
VXLANTunnelEndpointRemove is send when a route is deleted.
WireguardEndpointUpdate is sent to setup IPv4 wireguard on the host.
WireguardEndpointRemove is sent to undo IPv4 wireguard on the host.
GlobalBGPConfigUpdate is sent when global BGPConfiguration changes.
WireguardEndpointV6Update is sent to setup IPv6 wireguard on the host.
WireguardEndpointV6Remove is sent to undo IPv6 wireguard on the host.
HostMetadataV6Update is sent when a host IPv6 address is added or updated.
HostMetadataV6Remove is sent when a host IPv6 address is removed.
Report dataplane statistics to Felix.
DataplaneStats reports statistics about a flow from the dataplane.
Identity of the flow. Right now, just 5-tuple
Each message can report zero or more statistics about the flow.
RuleTrace is the sequence of rules that matched the flow. The last rule allows or denies the flow, each rule prior "passed" to the next tier or to profiles.
Whether the flow was allowed or denied
Whether the data was reported successfully.
Action represents an action taken by a policy or rule.
Used in:
,Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
(message has no fields)
Used in:
Used in:
,ProcessStatusUpdate is sent as a periodic heartbeat.
HostEndpointStatusUpdate is sent when the oper status of an endpoint changes.
HostEndpointStatusRemove is sent when an endpoint is removed to clean up its oper status entry.
WorkloadEndpointStatusUpdate is sent when the oper status of an endpoint changes.
WorkloadEndpointStatusRemove is sent when an endpoint is removed to clean up its oper status entry.
WireguardStatusUpdate is sent when the wireguard is available with the crypto primitives set up.
Used in:
Used in:
Used in:
Used in:
Used in:
, , ,Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Each member is an IP address in dotted-decimal or IPv6 format.
Each member is "<IP>,(tcp|udp):port".
Each member is a CIDR in dotted-decimal or IPv6 format.
Used in:
,Used in:
Used in:
(message has no fields)
Used in:
Used in:
,Used in:
Used in:
Used in:
Used in:
If the Policy represents a NetworkPolicy, this contains the namespace that the policy came from. Otherwise, empty.
Used in:
, ,Individual ports are sent with first == last.
Used in:
Used in:
Used in:
Used in:
, ,Used in:
,Used in:
Used in:
Used in:
RouteTYpe defines a type of route. Each is a power of 2, so that theye can be used as unique bits within a bitmap.
Used in:
CIDR_INFO gives information about a CIDR without establishing a route. For example, it is emitted for IP pools with no blocks.
Used in:
Types is a bitmap field indicating which route types apply to this route.
The name of the node holding this destination, if this route targets a calico node.
IP of the node holding this destination.
Used in:
,The list of ports is split into numeric and named ports, where named ports are represented by (IP, port) IP sets. A packet matches this rule if it matches any numeric port range *or* any listed named port IP set.
Distinguish between a match on type only and type+code. We can't use the fact that fields ar optional because Go can't distinguish 0 from "not-present".
IP sets on which we should match both IP and port.
These fields pass through the original selectors from the v3 datamodel unmodified as required for the policy sync API.
Original source service match criteria.
Original destination service match criteria.
Pass through of the v3 datamodel service account match criteria.
Pass through of the v3 datamodel HTTP match criteria.
An opaque ID/hash for the rule.
Used in:
RuleTrace indicates a rule that matched the flow as it was being evaluated.
Used in:
The rule is part of a policy identified in this field.
The rule is part of a profile identified in this field.
The flow was neither allowed nor denied by any policy or profile. By default this means the flow is denied. If this is set the rule num should be ignored since no rule matched the flow.
The numerical index of the rule that matched.
Whether the rule appears in INBOUND or OUTBOUND rules for the policy / profile.
Used in:
Used in:
,Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Statistic is a piece of summary information for a flow.
Used in:
Action further qualifies the kind. For example, an action of ALLOWED with a kind of PACKETS means this statistic is the number of allowed packets.
The numerical value of the statistic.
Whether the statistic is for inbound or outbound data flow, relative to the dataplane reporting.
Used in:
Kind indicates what this statistic is about.
Used in:
Whether the data is relative. ABSOLUTE data gives the total for the flow since it started. DELTA data gives the change since the last report for this flow.
Used in:
Used in:
,Used in:
Used in:
Used in:
Used in:
The name of the IPv4 wireguard host.
Used in:
The name of the IPv4 wireguard host.
The public key for IPv4 wireguard on this endpoint.
The IP address of the IPv4 wireguard interface.
Used in:
The name of the IPv6 wireguard host.
Used in:
The name of the IPv6 wireguard host.
The public key for IPv6 wireguard on this endpoint.
The IP address of the IPv6 wireguard interface.
Used in:
Wireguard public-key set on the interface.
The IP version of this update
Used in:
,Used in:
, , ,Used in:
Used in:
Used in:
Used in:
Used in: