report

package module
v0.0.0-...-41df6d1 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2022 License: MIT Imports: 4 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
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.

View Source
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.

View Source
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) Descriptor() ([]byte, []int)

Deprecated: Use FlowKey.ProtoReflect.Descriptor instead.

func (*FlowKey) GetDstAs

func (x *FlowKey) GetDstAs() uint64

func (*FlowKey) GetDstIp

func (m *FlowKey) GetDstIp() isFlowKey_DstIp

func (*FlowKey) GetDstIpv4

func (x *FlowKey) GetDstIpv4() uint32

func (*FlowKey) GetDstIpv6

func (x *FlowKey) GetDstIpv6() *IPv6Address

func (*FlowKey) GetDstPort

func (x *FlowKey) GetDstPort() uint32

func (*FlowKey) GetFlowId

func (x *FlowKey) GetFlowId() uint32

func (*FlowKey) GetProtocol

func (x *FlowKey) GetProtocol() FlowKey_Protocol

func (*FlowKey) GetSrcAs

func (x *FlowKey) GetSrcAs() uint64

func (*FlowKey) GetSrcIp

func (m *FlowKey) GetSrcIp() isFlowKey_SrcIp

func (*FlowKey) GetSrcIpv4

func (x *FlowKey) GetSrcIpv4() uint32

func (*FlowKey) GetSrcIpv6

func (x *FlowKey) GetSrcIpv6() *IPv6Address

func (*FlowKey) GetSrcPort

func (x *FlowKey) GetSrcPort() uint32

func (*FlowKey) ProtoMessage

func (*FlowKey) ProtoMessage()

func (*FlowKey) ProtoReflect

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

func (*FlowKey) Reset

func (x *FlowKey) Reset()

func (*FlowKey) String

func (x *FlowKey) String() string

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

func (FlowKey_Protocol) EnumDescriptor deprecated

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

Deprecated: Use FlowKey_Protocol.Descriptor instead.

func (FlowKey_Protocol) Number

func (FlowKey_Protocol) String

func (x FlowKey_Protocol) String() string

func (FlowKey_Protocol) Type

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) Descriptor() ([]byte, []int)

Deprecated: Use Hop.ProtoReflect.Descriptor instead.

func (*Hop) GetAsn

func (x *Hop) GetAsn() uint64

func (*Hop) GetMetadata

func (x *Hop) GetMetadata() map[uint32][]byte

func (*Hop) GetNodeId

func (x *Hop) GetNodeId() uint32

func (*Hop) ProtoMessage

func (*Hop) ProtoMessage()

func (*Hop) ProtoReflect

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

func (*Hop) Reset

func (x *Hop) Reset()

func (*Hop) String

func (x *Hop) String() string

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

func (x MetadataType) Enum() *MetadataType

func (MetadataType) EnumDescriptor deprecated

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

Deprecated: Use MetadataType.Descriptor instead.

func (MetadataType) Number

func (MetadataType) String

func (x MetadataType) String() string

func (MetadataType) Type

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) Descriptor() ([]byte, []int)

Deprecated: Use Report.ProtoReflect.Descriptor instead.

func (*Report) GetHops

func (x *Report) GetHops() []*Hop

func (*Report) GetPacketType

func (x *Report) GetPacketType() Report_PacketType

func (*Report) GetTruncatedPacket

func (x *Report) GetTruncatedPacket() []byte

func (*Report) ProtoMessage

func (*Report) ProtoMessage()

func (*Report) ProtoReflect

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

func (*Report) Reset

func (x *Report) Reset()

func (*Report) String

func (x *Report) String() string

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

func (Report_PacketType) EnumDescriptor deprecated

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

Deprecated: Use Report_PacketType.Descriptor instead.

func (Report_PacketType) Number

func (Report_PacketType) String

func (x Report_PacketType) String() string

func (Report_PacketType) Type

Jump to

Keyboard shortcuts

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