Documentation
¶
Index ¶
- Variables
- type FlowKey
- func (*FlowKey) Descriptor() ([]byte, []int)deprecated
- func (x *FlowKey) GetDstAs() uint64
- func (m *FlowKey) GetDstIp() isFlowKey_DstIp
- func (x *FlowKey) GetDstIpv4() uint32
- func (x *FlowKey) GetDstIpv6() *IPv6Address
- func (x *FlowKey) GetDstPort() uint32
- func (x *FlowKey) GetFlowId() uint32
- func (x *FlowKey) GetProtocol() FlowKey_Protocol
- func (x *FlowKey) GetSrcAs() uint64
- func (m *FlowKey) GetSrcIp() isFlowKey_SrcIp
- func (x *FlowKey) GetSrcIpv4() uint32
- func (x *FlowKey) GetSrcIpv6() *IPv6Address
- func (x *FlowKey) GetSrcPort() uint32
- func (*FlowKey) ProtoMessage()
- func (x *FlowKey) ProtoReflect() protoreflect.Message
- func (x *FlowKey) Reset()
- func (x *FlowKey) String() string
- type FlowKey_DstIpv4
- type FlowKey_DstIpv6
- type FlowKey_Protocol
- func (FlowKey_Protocol) Descriptor() protoreflect.EnumDescriptor
- func (x FlowKey_Protocol) Enum() *FlowKey_Protocol
- func (FlowKey_Protocol) EnumDescriptor() ([]byte, []int)deprecated
- func (x FlowKey_Protocol) Number() protoreflect.EnumNumber
- func (x FlowKey_Protocol) String() string
- func (FlowKey_Protocol) Type() protoreflect.EnumType
- type FlowKey_SrcIpv4
- type FlowKey_SrcIpv6
- type Hop
- type IPv6Address
- type MetadataType
- func (MetadataType) Descriptor() protoreflect.EnumDescriptor
- func (x MetadataType) Enum() *MetadataType
- func (MetadataType) EnumDescriptor() ([]byte, []int)deprecated
- func (x MetadataType) Number() protoreflect.EnumNumber
- func (x MetadataType) String() string
- func (MetadataType) Type() protoreflect.EnumType
- type Report
- func (*Report) Descriptor() ([]byte, []int)deprecated
- func (x *Report) GetHops() []*Hop
- func (x *Report) GetPacketType() Report_PacketType
- func (x *Report) GetTruncatedPacket() []byte
- func (*Report) ProtoMessage()
- func (x *Report) ProtoReflect() protoreflect.Message
- func (x *Report) Reset()
- func (x *Report) String() string
- type Report_PacketType
- func (Report_PacketType) Descriptor() protoreflect.EnumDescriptor
- func (x Report_PacketType) Enum() *Report_PacketType
- func (Report_PacketType) EnumDescriptor() ([]byte, []int)deprecated
- func (x Report_PacketType) Number() protoreflect.EnumNumber
- func (x Report_PacketType) String() string
- func (Report_PacketType) Type() protoreflect.EnumType
Constants ¶
This section is empty.
Variables ¶
var ( MetadataType_name = map[int32]string{ 0: "RESERVED", 1: "INTERFACE_LEVEL1", 2: "HOP_LATENCY", 3: "QUEUE_OCCUPANCY", 4: "INGRESS_TIMESTAMP", 5: "EGRESS_TIMESTAMP", 6: "INTERFACE_LEVEL2", 7: "EGRESS_TX_UTILIZATION", 8: "BUFFER_OCCUPANCY", 15: "QUEUE_DROP_REASON", 16: "INGRESS_RX_PKT_COUNT", 17: "INGRESS_RX_BYTES", 18: "INGRESS_RX_DROP_COUNT", 19: "EGRESS_TX_PKT_COUNT", 20: "EGRESS_TX_BYTES", 21: "EGRESS_TX_DROP_COUNT", 22: "INGRESS_RX_UTILIZATION", } MetadataType_value = map[string]int32{ "RESERVED": 0, "INTERFACE_LEVEL1": 1, "HOP_LATENCY": 2, "QUEUE_OCCUPANCY": 3, "INGRESS_TIMESTAMP": 4, "EGRESS_TIMESTAMP": 5, "INTERFACE_LEVEL2": 6, "EGRESS_TX_UTILIZATION": 7, "BUFFER_OCCUPANCY": 8, "QUEUE_DROP_REASON": 15, "INGRESS_RX_PKT_COUNT": 16, "INGRESS_RX_BYTES": 17, "INGRESS_RX_DROP_COUNT": 18, "EGRESS_TX_PKT_COUNT": 19, "EGRESS_TX_BYTES": 20, "EGRESS_TX_DROP_COUNT": 21, "INGRESS_RX_UTILIZATION": 22, } )
Enum value maps for MetadataType.
var ( Report_PacketType_name = map[int32]string{ 0: "None", 1: "Ethernet", 2: "IPv4", 3: "IPv6", 4: "SCION", } Report_PacketType_value = map[string]int32{ "None": 0, "Ethernet": 1, "IPv4": 2, "IPv6": 3, "SCION": 4, } )
Enum value maps for Report_PacketType.
var ( FlowKey_Protocol_name = map[int32]string{ 0: "None", 1: "UDP", 2: "TCP", } FlowKey_Protocol_value = map[string]int32{ "None": 0, "UDP": 1, "TCP": 2, } )
Enum value maps for FlowKey_Protocol.
var File_report_report_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type FlowKey ¶
type FlowKey struct { // Destination AS (ASN) DstAs uint64 `protobuf:"varint,1,opt,name=dst_as,json=dstAs,proto3" json:"dst_as,omitempty"` // Source AS (ASN) SrcAs uint64 `protobuf:"varint,2,opt,name=src_as,json=srcAs,proto3" json:"src_as,omitempty"` // 20-bit FlowID from the SCION header FlowId uint32 `protobuf:"varint,3,opt,name=flow_id,json=flowId,proto3" json:"flow_id,omitempty"` // Destination IP // // Types that are assignable to DstIp: // *FlowKey_DstIpv4 // *FlowKey_DstIpv6 DstIp isFlowKey_DstIp `protobuf_oneof:"dst_ip"` // Source IP // // Types that are assignable to SrcIp: // *FlowKey_SrcIpv4 // *FlowKey_SrcIpv6 SrcIp isFlowKey_SrcIp `protobuf_oneof:"src_ip"` // Destination port DstPort uint32 `protobuf:"varint,8,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"` // Source port SrcPort uint32 `protobuf:"varint,9,opt,name=src_port,json=srcPort,proto3" json:"src_port,omitempty"` // L4 protocol type Protocol FlowKey_Protocol `protobuf:"varint,10,opt,name=protocol,proto3,enum=telemetry.report.FlowKey_Protocol" json:"protocol,omitempty"` // contains filtered or unexported fields }
Parameters for identifying flows. This message is used as key type for Kafka events. By keying events on flows, reports from the same flow go to the same partition and are ordered with respect to other reports from the same flow. All members are to be considered optional.
func (*FlowKey) Descriptor
deprecated
func (*FlowKey) GetDstIpv4 ¶
func (*FlowKey) GetDstIpv6 ¶
func (x *FlowKey) GetDstIpv6() *IPv6Address
func (*FlowKey) GetDstPort ¶
func (*FlowKey) GetProtocol ¶
func (x *FlowKey) GetProtocol() FlowKey_Protocol
func (*FlowKey) GetSrcIpv4 ¶
func (*FlowKey) GetSrcIpv6 ¶
func (x *FlowKey) GetSrcIpv6() *IPv6Address
func (*FlowKey) GetSrcPort ¶
func (*FlowKey) ProtoMessage ¶
func (*FlowKey) ProtoMessage()
func (*FlowKey) ProtoReflect ¶
func (x *FlowKey) ProtoReflect() protoreflect.Message
type FlowKey_DstIpv4 ¶
type FlowKey_DstIpv4 struct {
DstIpv4 uint32 `protobuf:"fixed32,4,opt,name=dst_ipv4,json=dstIpv4,proto3,oneof"`
}
type FlowKey_DstIpv6 ¶
type FlowKey_DstIpv6 struct {
DstIpv6 *IPv6Address `protobuf:"bytes,5,opt,name=dst_ipv6,json=dstIpv6,proto3,oneof"`
}
type FlowKey_Protocol ¶
type FlowKey_Protocol int32
const ( FlowKey_None FlowKey_Protocol = 0 FlowKey_UDP FlowKey_Protocol = 1 FlowKey_TCP FlowKey_Protocol = 2 )
func (FlowKey_Protocol) Descriptor ¶
func (FlowKey_Protocol) Descriptor() protoreflect.EnumDescriptor
func (FlowKey_Protocol) Enum ¶
func (x FlowKey_Protocol) Enum() *FlowKey_Protocol
func (FlowKey_Protocol) EnumDescriptor
deprecated
func (FlowKey_Protocol) EnumDescriptor() ([]byte, []int)
Deprecated: Use FlowKey_Protocol.Descriptor instead.
func (FlowKey_Protocol) Number ¶
func (x FlowKey_Protocol) Number() protoreflect.EnumNumber
func (FlowKey_Protocol) String ¶
func (x FlowKey_Protocol) String() string
func (FlowKey_Protocol) Type ¶
func (FlowKey_Protocol) Type() protoreflect.EnumType
type FlowKey_SrcIpv4 ¶
type FlowKey_SrcIpv4 struct {
SrcIpv4 uint32 `protobuf:"fixed32,6,opt,name=src_ipv4,json=srcIpv4,proto3,oneof"`
}
type FlowKey_SrcIpv6 ¶
type FlowKey_SrcIpv6 struct {
SrcIpv6 *IPv6Address `protobuf:"bytes,7,opt,name=src_ipv6,json=srcIpv6,proto3,oneof"`
}
type Hop ¶
type Hop struct { // AS the hop belongs to identified by AS number (48 bits). The ISD number is not included. Asn uint64 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` // Node identifier. Identifies the specific switch/border router within an AS that recorded the // metadata. The value 0 is reserved. NodeId uint32 `protobuf:"varint,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Mapping from metadata type to value // Integer values are stored in big-endian byte order. Metadata map[uint32][]byte `` /* 158-byte string literal not displayed */ // contains filtered or unexported fields }
Metadata recorded by an INT node.
func (*Hop) Descriptor
deprecated
func (*Hop) GetMetadata ¶
func (*Hop) ProtoMessage ¶
func (*Hop) ProtoMessage()
func (*Hop) ProtoReflect ¶
func (x *Hop) ProtoReflect() protoreflect.Message
type IPv6Address ¶
type IPv6Address struct { High uint64 `protobuf:"fixed64,1,opt,name=high,proto3" json:"high,omitempty"` Low uint64 `protobuf:"fixed64,2,opt,name=low,proto3" json:"low,omitempty"` // contains filtered or unexported fields }
128-bit IPv6 address
func (*IPv6Address) Descriptor
deprecated
func (*IPv6Address) Descriptor() ([]byte, []int)
Deprecated: Use IPv6Address.ProtoReflect.Descriptor instead.
func (*IPv6Address) GetHigh ¶
func (x *IPv6Address) GetHigh() uint64
func (*IPv6Address) GetLow ¶
func (x *IPv6Address) GetLow() uint64
func (*IPv6Address) ProtoMessage ¶
func (*IPv6Address) ProtoMessage()
func (*IPv6Address) ProtoReflect ¶
func (x *IPv6Address) ProtoReflect() protoreflect.Message
func (*IPv6Address) Reset ¶
func (x *IPv6Address) Reset()
func (*IPv6Address) String ¶
func (x *IPv6Address) String() string
type MetadataType ¶
type MetadataType int32
Metadata types Types 0-15 are reserved for standard metadata according to the INT specification. Types >=16 are used for domain-specific metadata.
const ( // Reserved/Invalid MetadataType_RESERVED MetadataType = 0 // Level 1 Ingress Interface ID (2 bytes) + Egress Interface ID (2 bytes) MetadataType_INTERFACE_LEVEL1 MetadataType = 1 // Hop (4 bytes) MetadataType_HOP_LATENCY MetadataType = 2 // Queue ID (1 byte) + Queue occupancy (3 bytes) MetadataType_QUEUE_OCCUPANCY MetadataType = 3 // Ingress timestamp (8 bytes) MetadataType_INGRESS_TIMESTAMP MetadataType = 4 // Egress timestamp (8 bytes) MetadataType_EGRESS_TIMESTAMP MetadataType = 5 // Level 2 ingress interface ID (4 bytes) + Egress interface ID (4 bytes) MetadataType_INTERFACE_LEVEL2 MetadataType = 6 // Egress port TX utilization (4 bytes) MetadataType_EGRESS_TX_UTILIZATION MetadataType = 7 // Buffer ID (1 byte) + Buffer occupancy (3 bytes) MetadataType_BUFFER_OCCUPANCY MetadataType = 8 // Queue ID (1 byte) + Drop reason (1 byte) + Padding (2 bytes) MetadataType_QUEUE_DROP_REASON MetadataType = 15 // Total number of packets received on the ingress port since the last reset MetadataType_INGRESS_RX_PKT_COUNT MetadataType = 16 // Total number of bytes received on the ingress port since the last reset MetadataType_INGRESS_RX_BYTES MetadataType = 17 // Total number of packets dropped on the ingress port MetadataType_INGRESS_RX_DROP_COUNT MetadataType = 18 // Total number of packets sent on the egress port since the last reset MetadataType_EGRESS_TX_PKT_COUNT MetadataType = 19 // Total number of bytes sent on the egress port since the last reset MetadataType_EGRESS_TX_BYTES MetadataType = 20 // Total number of packets dropped on the egress port since the last reset MetadataType_EGRESS_TX_DROP_COUNT MetadataType = 21 // Ingress port Rx utilization MetadataType_INGRESS_RX_UTILIZATION MetadataType = 22 )
func (MetadataType) Descriptor ¶
func (MetadataType) Descriptor() protoreflect.EnumDescriptor
func (MetadataType) Enum ¶
func (x MetadataType) Enum() *MetadataType
func (MetadataType) EnumDescriptor
deprecated
func (MetadataType) EnumDescriptor() ([]byte, []int)
Deprecated: Use MetadataType.Descriptor instead.
func (MetadataType) Number ¶
func (x MetadataType) Number() protoreflect.EnumNumber
func (MetadataType) String ¶
func (x MetadataType) String() string
func (MetadataType) Type ¶
func (MetadataType) Type() protoreflect.EnumType
type Report ¶
type Report struct { // Stack of recorded metadata. Data from the INT sink comes first, data from the INT source // last. Hops []*Hop `protobuf:"bytes,1,rep,name=hops,proto3" json:"hops,omitempty"` // Type of the first header of the truncated packet in 'packet' PacketType Report_PacketType `` /* 132-byte string literal not displayed */ // Truncated packet headers. The first header is determined by 'packetType' TruncatedPacket []byte `protobuf:"bytes,3,opt,name=truncated_packet,json=truncatedPacket,proto3" json:"truncated_packet,omitempty"` // contains filtered or unexported fields }
Simplified INT report.
func (*Report) Descriptor
deprecated
func (*Report) GetPacketType ¶
func (x *Report) GetPacketType() Report_PacketType
func (*Report) GetTruncatedPacket ¶
func (*Report) ProtoMessage ¶
func (*Report) ProtoMessage()
func (*Report) ProtoReflect ¶
func (x *Report) ProtoReflect() protoreflect.Message
type Report_PacketType ¶
type Report_PacketType int32
const ( Report_None Report_PacketType = 0 Report_Ethernet Report_PacketType = 1 Report_IPv4 Report_PacketType = 2 Report_IPv6 Report_PacketType = 3 Report_SCION Report_PacketType = 4 )
func (Report_PacketType) Descriptor ¶
func (Report_PacketType) Descriptor() protoreflect.EnumDescriptor
func (Report_PacketType) Enum ¶
func (x Report_PacketType) Enum() *Report_PacketType
func (Report_PacketType) EnumDescriptor
deprecated
func (Report_PacketType) EnumDescriptor() ([]byte, []int)
Deprecated: Use Report_PacketType.Descriptor instead.
func (Report_PacketType) Number ¶
func (x Report_PacketType) Number() protoreflect.EnumNumber
func (Report_PacketType) String ¶
func (x Report_PacketType) String() string
func (Report_PacketType) Type ¶
func (Report_PacketType) Type() protoreflect.EnumType