mirror of
https://github.com/openobserve/goflow2.git
synced 2025-10-23 07:11:57 +00:00
init
This commit is contained in:
103
pb/flow.proto
Normal file
103
pb/flow.proto
Normal file
@@ -0,0 +1,103 @@
|
||||
syntax = "proto3";
|
||||
package flowpb;
|
||||
|
||||
message FlowMessage {
|
||||
|
||||
enum FlowType {
|
||||
FLOWUNKNOWN = 0;
|
||||
SFLOW_5 = 1;
|
||||
NETFLOW_V5 = 2;
|
||||
NETFLOW_V9 = 3;
|
||||
IPFIX = 4;
|
||||
}
|
||||
FlowType Type = 1;
|
||||
|
||||
uint64 TimeReceived = 2;
|
||||
uint32 SequenceNum = 4;
|
||||
uint64 SamplingRate = 3;
|
||||
|
||||
uint32 FlowDirection = 42;
|
||||
|
||||
// Sampler information
|
||||
bytes SamplerAddress = 11;
|
||||
|
||||
// Found inside packet
|
||||
uint64 TimeFlowStart = 38;
|
||||
uint64 TimeFlowEnd = 5;
|
||||
|
||||
// Size of the sampled packet
|
||||
uint64 Bytes = 9;
|
||||
uint64 Packets = 10;
|
||||
|
||||
// Source/destination addresses
|
||||
bytes SrcAddr = 6;
|
||||
bytes DstAddr = 7;
|
||||
|
||||
// Layer 3 protocol (IPv4/IPv6/ARP/MPLS...)
|
||||
uint32 Etype = 30;
|
||||
|
||||
// Layer 4 protocol
|
||||
uint32 Proto = 20;
|
||||
|
||||
// Ports for UDP and TCP
|
||||
uint32 SrcPort = 21;
|
||||
uint32 DstPort = 22;
|
||||
|
||||
// Interfaces
|
||||
uint32 InIf = 18;
|
||||
uint32 OutIf = 19;
|
||||
|
||||
// Ethernet information
|
||||
uint64 SrcMac = 27;
|
||||
uint64 DstMac = 28;
|
||||
|
||||
// Vlan
|
||||
uint32 SrcVlan = 33;
|
||||
uint32 DstVlan = 34;
|
||||
// 802.1q VLAN in sampled packet
|
||||
uint32 VlanId = 29;
|
||||
|
||||
// VRF
|
||||
uint32 IngressVrfID = 39;
|
||||
uint32 EgressVrfID = 40;
|
||||
|
||||
// IP and TCP special flags
|
||||
uint32 IPTos = 23;
|
||||
uint32 ForwardingStatus = 24;
|
||||
uint32 IPTTL = 25;
|
||||
uint32 TCPFlags = 26;
|
||||
uint32 IcmpType = 31;
|
||||
uint32 IcmpCode = 32;
|
||||
uint32 IPv6FlowLabel = 37;
|
||||
// Fragments (IPv4/IPv6)
|
||||
uint32 FragmentId = 35;
|
||||
uint32 FragmentOffset = 36;
|
||||
uint32 BiFlowDirection = 41;
|
||||
|
||||
// Autonomous system information
|
||||
uint32 SrcAS = 14;
|
||||
uint32 DstAS = 15;
|
||||
|
||||
bytes NextHop = 12;
|
||||
uint32 NextHopAS = 13;
|
||||
|
||||
// Prefix size
|
||||
uint32 SrcNet = 16;
|
||||
uint32 DstNet = 17;
|
||||
|
||||
// MPLS information
|
||||
bool HasMPLS = 53;
|
||||
uint32 MPLSCount = 54;
|
||||
uint32 MPLS1TTL = 55; // First TTL
|
||||
uint32 MPLS1Label = 56; // First Label
|
||||
uint32 MPLS2TTL = 57; // Second TTL
|
||||
uint32 MPLS2Label = 58; // Second Label
|
||||
uint32 MPLS3TTL = 59; // Third TTL
|
||||
uint32 MPLS3Label = 60; // Third Label
|
||||
uint32 MPLSLastTTL = 61; // Last TTL
|
||||
uint32 MPLSLastLabel = 62; // Last Label
|
||||
|
||||
// Custom fields: start after ID 1000:
|
||||
// uint32 MyCustomField = 1000;
|
||||
|
||||
}
|
Reference in New Issue
Block a user