flowmessageenriched

package module
v0.0.0-...-61e193b Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2021 License: GPL-3.0 Imports: 4 Imported by: 13

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	FlowMessage_FlowType_name = map[int32]string{
		0: "FLOWUNKNOWN",
		1: "SFLOW_5",
		2: "NETFLOW_V5",
		3: "NETFLOW_V9",
		4: "IPFIX",
	}
	FlowMessage_FlowType_value = map[string]int32{
		"FLOWUNKNOWN": 0,
		"SFLOW_5":     1,
		"NETFLOW_V5":  2,
		"NETFLOW_V9":  3,
		"IPFIX":       4,
	}
)

Enum value maps for FlowMessage_FlowType.

View Source
var (
	FlowMessage_NormalizedType_name = map[int32]string{
		0: "No",
		1: "Yes",
	}
	FlowMessage_NormalizedType_value = map[string]int32{
		"No":  0,
		"Yes": 1,
	}
)

Enum value maps for FlowMessage_NormalizedType.

View Source
var (
	FlowMessage_RemoteAddrType_name = map[int32]string{
		0: "Neither",
		1: "Src",
		2: "Dst",
	}
	FlowMessage_RemoteAddrType_value = map[string]int32{
		"Neither": 0,
		"Src":     1,
		"Dst":     2,
	}
)

Enum value maps for FlowMessage_RemoteAddrType.

View Source
var File_flow_messages_enriched_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type FlowMessage

type FlowMessage struct {
	Type          FlowMessage_FlowType `protobuf:"varint,1,opt,name=Type,proto3,enum=flowmessageenriched.FlowMessage_FlowType" json:"Type,omitempty"`
	TimeReceived  uint64               `protobuf:"varint,2,opt,name=TimeReceived,proto3" json:"TimeReceived,omitempty"`
	SequenceNum   uint32               `protobuf:"varint,4,opt,name=SequenceNum,proto3" json:"SequenceNum,omitempty"`
	SamplingRate  uint64               `protobuf:"varint,3,opt,name=SamplingRate,proto3" json:"SamplingRate,omitempty"`
	FlowDirection uint32               `protobuf:"varint,42,opt,name=FlowDirection,proto3" json:"FlowDirection,omitempty"`
	// Sampler information
	SamplerAddress []byte `protobuf:"bytes,11,opt,name=SamplerAddress,proto3" json:"SamplerAddress,omitempty"`
	// Found inside packet
	TimeFlowStart uint64 `protobuf:"varint,38,opt,name=TimeFlowStart,proto3" json:"TimeFlowStart,omitempty"`
	TimeFlowEnd   uint64 `protobuf:"varint,5,opt,name=TimeFlowEnd,proto3" json:"TimeFlowEnd,omitempty"`
	// Size of the sampled packet
	Bytes   uint64 `protobuf:"varint,9,opt,name=Bytes,proto3" json:"Bytes,omitempty"`
	Packets uint64 `protobuf:"varint,10,opt,name=Packets,proto3" json:"Packets,omitempty"`
	// Source/destination addresses
	SrcAddr []byte `protobuf:"bytes,6,opt,name=SrcAddr,proto3" json:"SrcAddr,omitempty"`
	DstAddr []byte `protobuf:"bytes,7,opt,name=DstAddr,proto3" json:"DstAddr,omitempty"`
	// Layer 3 protocol (IPv4/IPv6/ARP/MPLS...)
	Etype uint32 `protobuf:"varint,30,opt,name=Etype,proto3" json:"Etype,omitempty"`
	// Layer 4 protocol
	Proto uint32 `protobuf:"varint,20,opt,name=Proto,proto3" json:"Proto,omitempty"`
	// Ports for UDP and TCP
	SrcPort uint32 `protobuf:"varint,21,opt,name=SrcPort,proto3" json:"SrcPort,omitempty"`
	DstPort uint32 `protobuf:"varint,22,opt,name=DstPort,proto3" json:"DstPort,omitempty"`
	// Interfaces
	InIf  uint32 `protobuf:"varint,18,opt,name=InIf,proto3" json:"InIf,omitempty"`
	OutIf uint32 `protobuf:"varint,19,opt,name=OutIf,proto3" json:"OutIf,omitempty"`
	// Ethernet information
	SrcMac uint64 `protobuf:"varint,27,opt,name=SrcMac,proto3" json:"SrcMac,omitempty"`
	DstMac uint64 `protobuf:"varint,28,opt,name=DstMac,proto3" json:"DstMac,omitempty"`
	// Vlan
	SrcVlan uint32 `protobuf:"varint,33,opt,name=SrcVlan,proto3" json:"SrcVlan,omitempty"`
	DstVlan uint32 `protobuf:"varint,34,opt,name=DstVlan,proto3" json:"DstVlan,omitempty"`
	// 802.1q VLAN in sampled packet
	VlanId uint32 `protobuf:"varint,29,opt,name=VlanId,proto3" json:"VlanId,omitempty"`
	// VRF
	IngressVrfID uint32 `protobuf:"varint,39,opt,name=IngressVrfID,proto3" json:"IngressVrfID,omitempty"`
	EgressVrfID  uint32 `protobuf:"varint,40,opt,name=EgressVrfID,proto3" json:"EgressVrfID,omitempty"`
	// IP and TCP special flags
	IPTos            uint32 `protobuf:"varint,23,opt,name=IPTos,proto3" json:"IPTos,omitempty"`
	ForwardingStatus uint32 `protobuf:"varint,24,opt,name=ForwardingStatus,proto3" json:"ForwardingStatus,omitempty"`
	IPTTL            uint32 `protobuf:"varint,25,opt,name=IPTTL,proto3" json:"IPTTL,omitempty"`
	TCPFlags         uint32 `protobuf:"varint,26,opt,name=TCPFlags,proto3" json:"TCPFlags,omitempty"`
	IcmpType         uint32 `protobuf:"varint,31,opt,name=IcmpType,proto3" json:"IcmpType,omitempty"`
	IcmpCode         uint32 `protobuf:"varint,32,opt,name=IcmpCode,proto3" json:"IcmpCode,omitempty"`
	IPv6FlowLabel    uint32 `protobuf:"varint,37,opt,name=IPv6FlowLabel,proto3" json:"IPv6FlowLabel,omitempty"`
	// Fragments (IPv4/IPv6)
	FragmentId      uint32 `protobuf:"varint,35,opt,name=FragmentId,proto3" json:"FragmentId,omitempty"`
	FragmentOffset  uint32 `protobuf:"varint,36,opt,name=FragmentOffset,proto3" json:"FragmentOffset,omitempty"`
	BiFlowDirection uint32 `protobuf:"varint,41,opt,name=BiFlowDirection,proto3" json:"BiFlowDirection,omitempty"`
	// Autonomous system information
	SrcAS     uint32 `protobuf:"varint,14,opt,name=SrcAS,proto3" json:"SrcAS,omitempty"`
	DstAS     uint32 `protobuf:"varint,15,opt,name=DstAS,proto3" json:"DstAS,omitempty"`
	NextHop   []byte `protobuf:"bytes,12,opt,name=NextHop,proto3" json:"NextHop,omitempty"`
	NextHopAS uint32 `protobuf:"varint,13,opt,name=NextHopAS,proto3" json:"NextHopAS,omitempty"`
	// Prefix size
	SrcNet uint32 `protobuf:"varint,16,opt,name=SrcNet,proto3" json:"SrcNet,omitempty"`
	DstNet uint32 `protobuf:"varint,17,opt,name=DstNet,proto3" json:"DstNet,omitempty"`
	// MPLS information
	HasMPLS       bool   `protobuf:"varint,53,opt,name=HasMPLS,proto3" json:"HasMPLS,omitempty"`
	MPLSCount     uint32 `protobuf:"varint,54,opt,name=MPLSCount,proto3" json:"MPLSCount,omitempty"`
	MPLS1TTL      uint32 `protobuf:"varint,55,opt,name=MPLS1TTL,proto3" json:"MPLS1TTL,omitempty"`           // First TTL
	MPLS1Label    uint32 `protobuf:"varint,56,opt,name=MPLS1Label,proto3" json:"MPLS1Label,omitempty"`       // First Label
	MPLS2TTL      uint32 `protobuf:"varint,57,opt,name=MPLS2TTL,proto3" json:"MPLS2TTL,omitempty"`           // Second TTL
	MPLS2Label    uint32 `protobuf:"varint,58,opt,name=MPLS2Label,proto3" json:"MPLS2Label,omitempty"`       // Second Label
	MPLS3TTL      uint32 `protobuf:"varint,59,opt,name=MPLS3TTL,proto3" json:"MPLS3TTL,omitempty"`           // Third TTL
	MPLS3Label    uint32 `protobuf:"varint,60,opt,name=MPLS3Label,proto3" json:"MPLS3Label,omitempty"`       // Third Label
	MPLSLastTTL   uint32 `protobuf:"varint,61,opt,name=MPLSLastTTL,proto3" json:"MPLSLastTTL,omitempty"`     // Last TTL
	MPLSLastLabel uint32 `protobuf:"varint,62,opt,name=MPLSLastLabel,proto3" json:"MPLSLastLabel,omitempty"` // Last Label
	// bwNetFlow enricher fields
	Cid        uint32                     `protobuf:"varint,1000,opt,name=Cid,proto3" json:"Cid,omitempty"`            // Customer ID - numerical ID, usually assigned by prefix, used in cases where any flow is directly mappable to a single customer
	CidString  string                     `protobuf:"bytes,1001,opt,name=CidString,proto3" json:"CidString,omitempty"` // deprecated
	SrcCid     uint32                     `protobuf:"varint,1012,opt,name=SrcCid,proto3" json:"SrcCid,omitempty"`      // Src Customer ID - numerical ID, usually assigned by prefix
	DstCid     uint32                     `protobuf:"varint,1013,opt,name=DstCid,proto3" json:"DstCid,omitempty"`      // Dst Customer ID - numerical ID, usually assigned by prefix
	Normalized FlowMessage_NormalizedType ``                                                                           // Normalization - whether the sampling rate is accounted for
	/* 129-byte string literal not displayed */
	// Fields for Interface Usability -- enriched using SNMP
	SrcIfName     string                     `protobuf:"bytes,1003,opt,name=SrcIfName,proto3" json:"SrcIfName,omitempty"`    // set to the name, unset by default
	SrcIfDesc     string                     `protobuf:"bytes,1004,opt,name=SrcIfDesc,proto3" json:"SrcIfDesc,omitempty"`    // set to the descrition, filtered by a regex in the enricher
	SrcIfSpeed    uint32                     `protobuf:"varint,1005,opt,name=SrcIfSpeed,proto3" json:"SrcIfSpeed,omitempty"` // iface speed
	DstIfName     string                     `protobuf:"bytes,1006,opt,name=DstIfName,proto3" json:"DstIfName,omitempty"`
	DstIfDesc     string                     `protobuf:"bytes,1007,opt,name=DstIfDesc,proto3" json:"DstIfDesc,omitempty"`
	DstIfSpeed    uint32                     `protobuf:"varint,1008,opt,name=DstIfSpeed,proto3" json:"DstIfSpeed,omitempty"`
	ProtoName     string                     `protobuf:"bytes,1009,opt,name=ProtoName,proto3" json:"ProtoName,omitempty"`         // Protocol Name -- set for some well known protocols, based on Proto
	RemoteCountry string                     `protobuf:"bytes,1010,opt,name=RemoteCountry,proto3" json:"RemoteCountry,omitempty"` // Geolocation -- set using the provided database
	SrcCountry    string                     `protobuf:"bytes,1014,opt,name=SrcCountry,proto3" json:"SrcCountry,omitempty"`       // Src Geolocation
	DstCountry    string                     `protobuf:"bytes,1015,opt,name=DstCountry,proto3" json:"DstCountry,omitempty"`       // Dst Geolocation
	RemoteAddr    FlowMessage_RemoteAddrType ``                                                                                   // RemoteAddr - which Addr field contains the remote/local address
	/* 129-byte string literal not displayed */
	Note string `protobuf:"bytes,1016,opt,name=Note,proto3" json:"Note,omitempty"` // free-form field to implement anything
	// contains filtered or unexported fields
}

func (*FlowMessage) Descriptor deprecated

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

Deprecated: Use FlowMessage.ProtoReflect.Descriptor instead.

func (*FlowMessage) GetBiFlowDirection

func (x *FlowMessage) GetBiFlowDirection() uint32

func (*FlowMessage) GetBytes

func (x *FlowMessage) GetBytes() uint64

func (*FlowMessage) GetCid

func (x *FlowMessage) GetCid() uint32

func (*FlowMessage) GetCidString

func (x *FlowMessage) GetCidString() string

func (*FlowMessage) GetDstAS

func (x *FlowMessage) GetDstAS() uint32

func (*FlowMessage) GetDstAddr

func (x *FlowMessage) GetDstAddr() []byte

func (*FlowMessage) GetDstCid

func (x *FlowMessage) GetDstCid() uint32

func (*FlowMessage) GetDstCountry

func (x *FlowMessage) GetDstCountry() string

func (*FlowMessage) GetDstIfDesc

func (x *FlowMessage) GetDstIfDesc() string

func (*FlowMessage) GetDstIfName

func (x *FlowMessage) GetDstIfName() string

func (*FlowMessage) GetDstIfSpeed

func (x *FlowMessage) GetDstIfSpeed() uint32

func (*FlowMessage) GetDstMac

func (x *FlowMessage) GetDstMac() uint64

func (*FlowMessage) GetDstNet

func (x *FlowMessage) GetDstNet() uint32

func (*FlowMessage) GetDstPort

func (x *FlowMessage) GetDstPort() uint32

func (*FlowMessage) GetDstVlan

func (x *FlowMessage) GetDstVlan() uint32

func (*FlowMessage) GetEgressVrfID

func (x *FlowMessage) GetEgressVrfID() uint32

func (*FlowMessage) GetEtype

func (x *FlowMessage) GetEtype() uint32

func (*FlowMessage) GetFlowDirection

func (x *FlowMessage) GetFlowDirection() uint32

func (*FlowMessage) GetForwardingStatus

func (x *FlowMessage) GetForwardingStatus() uint32

func (*FlowMessage) GetFragmentId

func (x *FlowMessage) GetFragmentId() uint32

func (*FlowMessage) GetFragmentOffset

func (x *FlowMessage) GetFragmentOffset() uint32

func (*FlowMessage) GetHasMPLS

func (x *FlowMessage) GetHasMPLS() bool

func (*FlowMessage) GetIPTTL

func (x *FlowMessage) GetIPTTL() uint32

func (*FlowMessage) GetIPTos

func (x *FlowMessage) GetIPTos() uint32

func (*FlowMessage) GetIPv6FlowLabel

func (x *FlowMessage) GetIPv6FlowLabel() uint32

func (*FlowMessage) GetIcmpCode

func (x *FlowMessage) GetIcmpCode() uint32

func (*FlowMessage) GetIcmpType

func (x *FlowMessage) GetIcmpType() uint32

func (*FlowMessage) GetInIf

func (x *FlowMessage) GetInIf() uint32

func (*FlowMessage) GetIngressVrfID

func (x *FlowMessage) GetIngressVrfID() uint32

func (*FlowMessage) GetMPLS1Label

func (x *FlowMessage) GetMPLS1Label() uint32

func (*FlowMessage) GetMPLS1TTL

func (x *FlowMessage) GetMPLS1TTL() uint32

func (*FlowMessage) GetMPLS2Label

func (x *FlowMessage) GetMPLS2Label() uint32

func (*FlowMessage) GetMPLS2TTL

func (x *FlowMessage) GetMPLS2TTL() uint32

func (*FlowMessage) GetMPLS3Label

func (x *FlowMessage) GetMPLS3Label() uint32

func (*FlowMessage) GetMPLS3TTL

func (x *FlowMessage) GetMPLS3TTL() uint32

func (*FlowMessage) GetMPLSCount

func (x *FlowMessage) GetMPLSCount() uint32

func (*FlowMessage) GetMPLSLastLabel

func (x *FlowMessage) GetMPLSLastLabel() uint32

func (*FlowMessage) GetMPLSLastTTL

func (x *FlowMessage) GetMPLSLastTTL() uint32

func (*FlowMessage) GetNextHop

func (x *FlowMessage) GetNextHop() []byte

func (*FlowMessage) GetNextHopAS

func (x *FlowMessage) GetNextHopAS() uint32

func (*FlowMessage) GetNormalized

func (x *FlowMessage) GetNormalized() FlowMessage_NormalizedType

func (*FlowMessage) GetNote

func (x *FlowMessage) GetNote() string

func (*FlowMessage) GetOutIf

func (x *FlowMessage) GetOutIf() uint32

func (*FlowMessage) GetPackets

func (x *FlowMessage) GetPackets() uint64

func (*FlowMessage) GetProto

func (x *FlowMessage) GetProto() uint32

func (*FlowMessage) GetProtoName

func (x *FlowMessage) GetProtoName() string

func (*FlowMessage) GetRemoteAddr

func (x *FlowMessage) GetRemoteAddr() FlowMessage_RemoteAddrType

func (*FlowMessage) GetRemoteCountry

func (x *FlowMessage) GetRemoteCountry() string

func (*FlowMessage) GetSamplerAddress

func (x *FlowMessage) GetSamplerAddress() []byte

func (*FlowMessage) GetSamplingRate

func (x *FlowMessage) GetSamplingRate() uint64

func (*FlowMessage) GetSequenceNum

func (x *FlowMessage) GetSequenceNum() uint32

func (*FlowMessage) GetSrcAS

func (x *FlowMessage) GetSrcAS() uint32

func (*FlowMessage) GetSrcAddr

func (x *FlowMessage) GetSrcAddr() []byte

func (*FlowMessage) GetSrcCid

func (x *FlowMessage) GetSrcCid() uint32

func (*FlowMessage) GetSrcCountry

func (x *FlowMessage) GetSrcCountry() string

func (*FlowMessage) GetSrcIfDesc

func (x *FlowMessage) GetSrcIfDesc() string

func (*FlowMessage) GetSrcIfName

func (x *FlowMessage) GetSrcIfName() string

func (*FlowMessage) GetSrcIfSpeed

func (x *FlowMessage) GetSrcIfSpeed() uint32

func (*FlowMessage) GetSrcMac

func (x *FlowMessage) GetSrcMac() uint64

func (*FlowMessage) GetSrcNet

func (x *FlowMessage) GetSrcNet() uint32

func (*FlowMessage) GetSrcPort

func (x *FlowMessage) GetSrcPort() uint32

func (*FlowMessage) GetSrcVlan

func (x *FlowMessage) GetSrcVlan() uint32

func (*FlowMessage) GetTCPFlags

func (x *FlowMessage) GetTCPFlags() uint32

func (*FlowMessage) GetTimeFlowEnd

func (x *FlowMessage) GetTimeFlowEnd() uint64

func (*FlowMessage) GetTimeFlowStart

func (x *FlowMessage) GetTimeFlowStart() uint64

func (*FlowMessage) GetTimeReceived

func (x *FlowMessage) GetTimeReceived() uint64

func (*FlowMessage) GetType

func (x *FlowMessage) GetType() FlowMessage_FlowType

func (*FlowMessage) GetVlanId

func (x *FlowMessage) GetVlanId() uint32

func (*FlowMessage) ProtoMessage

func (*FlowMessage) ProtoMessage()

func (*FlowMessage) ProtoReflect

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

func (*FlowMessage) Reset

func (x *FlowMessage) Reset()

func (*FlowMessage) String

func (x *FlowMessage) String() string

type FlowMessage_FlowType

type FlowMessage_FlowType int32
const (
	FlowMessage_FLOWUNKNOWN FlowMessage_FlowType = 0
	FlowMessage_SFLOW_5     FlowMessage_FlowType = 1
	FlowMessage_NETFLOW_V5  FlowMessage_FlowType = 2
	FlowMessage_NETFLOW_V9  FlowMessage_FlowType = 3
	FlowMessage_IPFIX       FlowMessage_FlowType = 4
)

func (FlowMessage_FlowType) Descriptor

func (FlowMessage_FlowType) Enum

func (FlowMessage_FlowType) EnumDescriptor deprecated

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

Deprecated: Use FlowMessage_FlowType.Descriptor instead.

func (FlowMessage_FlowType) Number

func (FlowMessage_FlowType) String

func (x FlowMessage_FlowType) String() string

func (FlowMessage_FlowType) Type

type FlowMessage_NormalizedType

type FlowMessage_NormalizedType int32
const (
	FlowMessage_No  FlowMessage_NormalizedType = 0
	FlowMessage_Yes FlowMessage_NormalizedType = 1
)

func (FlowMessage_NormalizedType) Descriptor

func (FlowMessage_NormalizedType) Enum

func (FlowMessage_NormalizedType) EnumDescriptor deprecated

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

Deprecated: Use FlowMessage_NormalizedType.Descriptor instead.

func (FlowMessage_NormalizedType) Number

func (FlowMessage_NormalizedType) String

func (FlowMessage_NormalizedType) Type

type FlowMessage_RemoteAddrType

type FlowMessage_RemoteAddrType int32
const (
	FlowMessage_Neither FlowMessage_RemoteAddrType = 0
	FlowMessage_Src     FlowMessage_RemoteAddrType = 1
	FlowMessage_Dst     FlowMessage_RemoteAddrType = 2
)

func (FlowMessage_RemoteAddrType) Descriptor

func (FlowMessage_RemoteAddrType) Enum

func (FlowMessage_RemoteAddrType) EnumDescriptor deprecated

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

Deprecated: Use FlowMessage_RemoteAddrType.Descriptor instead.

func (FlowMessage_RemoteAddrType) Number

func (FlowMessage_RemoteAddrType) String

func (FlowMessage_RemoteAddrType) Type

Jump to

Keyboard shortcuts

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