flow.pb.go 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // versions:
  3. // protoc-gen-go v1.36.10
  4. // protoc v3.21.12
  5. // source: grpc/flow/flow.proto
  6. package flow
  7. import (
  8. protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  9. protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  10. reflect "reflect"
  11. sync "sync"
  12. unsafe "unsafe"
  13. )
  14. const (
  15. // Verify that this generated code is sufficiently up-to-date.
  16. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  17. // Verify that runtime/protoimpl is sufficiently up-to-date.
  18. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  19. )
  20. // *
  21. // Lifecycle stage of a flow event as seen by an netclient.
  22. // A flow produces:
  23. // - EVENT_START when conntrack entry is created
  24. // - EVENT_DESTROY when conntrack entry is removed
  25. type EventType int32
  26. const (
  27. EventType_EVENT_TYPE_UNSPECIFIED EventType = 0
  28. EventType_EVENT_START EventType = 1
  29. EventType_EVENT_DESTROY EventType = 2
  30. )
  31. // Enum value maps for EventType.
  32. var (
  33. EventType_name = map[int32]string{
  34. 0: "EVENT_TYPE_UNSPECIFIED",
  35. 1: "EVENT_START",
  36. 2: "EVENT_DESTROY",
  37. }
  38. EventType_value = map[string]int32{
  39. "EVENT_TYPE_UNSPECIFIED": 0,
  40. "EVENT_START": 1,
  41. "EVENT_DESTROY": 2,
  42. }
  43. )
  44. func (x EventType) Enum() *EventType {
  45. p := new(EventType)
  46. *p = x
  47. return p
  48. }
  49. func (x EventType) String() string {
  50. return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
  51. }
  52. func (EventType) Descriptor() protoreflect.EnumDescriptor {
  53. return file_grpc_flow_flow_proto_enumTypes[0].Descriptor()
  54. }
  55. func (EventType) Type() protoreflect.EnumType {
  56. return &file_grpc_flow_flow_proto_enumTypes[0]
  57. }
  58. func (x EventType) Number() protoreflect.EnumNumber {
  59. return protoreflect.EnumNumber(x)
  60. }
  61. // Deprecated: Use EventType.Descriptor instead.
  62. func (EventType) EnumDescriptor() ([]byte, []int) {
  63. return file_grpc_flow_flow_proto_rawDescGZIP(), []int{0}
  64. }
  65. // *
  66. // Identifies what kind of participant an IP belongs to.
  67. type ParticipantType int32
  68. const (
  69. ParticipantType_PARTICIPANT_UNSPECIFIED ParticipantType = 0
  70. ParticipantType_PARTICIPANT_NODE ParticipantType = 1
  71. ParticipantType_PARTICIPANT_USER ParticipantType = 2
  72. ParticipantType_PARTICIPANT_EXTCLIENT ParticipantType = 3
  73. ParticipantType_PARTICIPANT_EGRESS_ROUTE ParticipantType = 4
  74. ParticipantType_PARTICIPANT_EXTERNAL ParticipantType = 5 // anything not part of the Netmaker network
  75. )
  76. // Enum value maps for ParticipantType.
  77. var (
  78. ParticipantType_name = map[int32]string{
  79. 0: "PARTICIPANT_UNSPECIFIED",
  80. 1: "PARTICIPANT_NODE",
  81. 2: "PARTICIPANT_USER",
  82. 3: "PARTICIPANT_EXTCLIENT",
  83. 4: "PARTICIPANT_EGRESS_ROUTE",
  84. 5: "PARTICIPANT_EXTERNAL",
  85. }
  86. ParticipantType_value = map[string]int32{
  87. "PARTICIPANT_UNSPECIFIED": 0,
  88. "PARTICIPANT_NODE": 1,
  89. "PARTICIPANT_USER": 2,
  90. "PARTICIPANT_EXTCLIENT": 3,
  91. "PARTICIPANT_EGRESS_ROUTE": 4,
  92. "PARTICIPANT_EXTERNAL": 5,
  93. }
  94. )
  95. func (x ParticipantType) Enum() *ParticipantType {
  96. p := new(ParticipantType)
  97. *p = x
  98. return p
  99. }
  100. func (x ParticipantType) String() string {
  101. return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
  102. }
  103. func (ParticipantType) Descriptor() protoreflect.EnumDescriptor {
  104. return file_grpc_flow_flow_proto_enumTypes[1].Descriptor()
  105. }
  106. func (ParticipantType) Type() protoreflect.EnumType {
  107. return &file_grpc_flow_flow_proto_enumTypes[1]
  108. }
  109. func (x ParticipantType) Number() protoreflect.EnumNumber {
  110. return protoreflect.EnumNumber(x)
  111. }
  112. // Deprecated: Use ParticipantType.Descriptor instead.
  113. func (ParticipantType) EnumDescriptor() ([]byte, []int) {
  114. return file_grpc_flow_flow_proto_rawDescGZIP(), []int{1}
  115. }
  116. // *
  117. // Direction of the flow relative to the observing node.
  118. type Direction int32
  119. const (
  120. Direction_DIR_UNSPECIFIED Direction = 0
  121. Direction_DIR_INGRESS Direction = 1
  122. Direction_DIR_EGRESS Direction = 2
  123. )
  124. // Enum value maps for Direction.
  125. var (
  126. Direction_name = map[int32]string{
  127. 0: "DIR_UNSPECIFIED",
  128. 1: "DIR_INGRESS",
  129. 2: "DIR_EGRESS",
  130. }
  131. Direction_value = map[string]int32{
  132. "DIR_UNSPECIFIED": 0,
  133. "DIR_INGRESS": 1,
  134. "DIR_EGRESS": 2,
  135. }
  136. )
  137. func (x Direction) Enum() *Direction {
  138. p := new(Direction)
  139. *p = x
  140. return p
  141. }
  142. func (x Direction) String() string {
  143. return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
  144. }
  145. func (Direction) Descriptor() protoreflect.EnumDescriptor {
  146. return file_grpc_flow_flow_proto_enumTypes[2].Descriptor()
  147. }
  148. func (Direction) Type() protoreflect.EnumType {
  149. return &file_grpc_flow_flow_proto_enumTypes[2]
  150. }
  151. func (x Direction) Number() protoreflect.EnumNumber {
  152. return protoreflect.EnumNumber(x)
  153. }
  154. // Deprecated: Use Direction.Descriptor instead.
  155. func (Direction) EnumDescriptor() ([]byte, []int) {
  156. return file_grpc_flow_flow_proto_rawDescGZIP(), []int{2}
  157. }
  158. // *
  159. // Fully enriched representation of one endpoint of a flow.
  160. type FlowParticipant struct {
  161. state protoimpl.MessageState `protogen:"open.v1"`
  162. Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
  163. Type ParticipantType `protobuf:"varint,2,opt,name=type,proto3,enum=netmaker.flow.ParticipantType" json:"type,omitempty"`
  164. Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
  165. Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
  166. unknownFields protoimpl.UnknownFields
  167. sizeCache protoimpl.SizeCache
  168. }
  169. func (x *FlowParticipant) Reset() {
  170. *x = FlowParticipant{}
  171. mi := &file_grpc_flow_flow_proto_msgTypes[0]
  172. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  173. ms.StoreMessageInfo(mi)
  174. }
  175. func (x *FlowParticipant) String() string {
  176. return protoimpl.X.MessageStringOf(x)
  177. }
  178. func (*FlowParticipant) ProtoMessage() {}
  179. func (x *FlowParticipant) ProtoReflect() protoreflect.Message {
  180. mi := &file_grpc_flow_flow_proto_msgTypes[0]
  181. if x != nil {
  182. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  183. if ms.LoadMessageInfo() == nil {
  184. ms.StoreMessageInfo(mi)
  185. }
  186. return ms
  187. }
  188. return mi.MessageOf(x)
  189. }
  190. // Deprecated: Use FlowParticipant.ProtoReflect.Descriptor instead.
  191. func (*FlowParticipant) Descriptor() ([]byte, []int) {
  192. return file_grpc_flow_flow_proto_rawDescGZIP(), []int{0}
  193. }
  194. func (x *FlowParticipant) GetIp() string {
  195. if x != nil {
  196. return x.Ip
  197. }
  198. return ""
  199. }
  200. func (x *FlowParticipant) GetType() ParticipantType {
  201. if x != nil {
  202. return x.Type
  203. }
  204. return ParticipantType_PARTICIPANT_UNSPECIFIED
  205. }
  206. func (x *FlowParticipant) GetId() string {
  207. if x != nil {
  208. return x.Id
  209. }
  210. return ""
  211. }
  212. func (x *FlowParticipant) GetName() string {
  213. if x != nil {
  214. return x.Name
  215. }
  216. return ""
  217. }
  218. // *
  219. // Flow event generated by netclient.
  220. type FlowEvent struct {
  221. state protoimpl.MessageState `protogen:"open.v1"`
  222. // Flow lifecycle event type (START or DESTROY)
  223. Type EventType `protobuf:"varint,1,opt,name=type,proto3,enum=netmaker.flow.EventType" json:"type,omitempty"`
  224. // Stable identity
  225. FlowId string `protobuf:"bytes,2,opt,name=flow_id,json=flowId,proto3" json:"flow_id,omitempty"` // unique per flow
  226. HostId string `protobuf:"bytes,3,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"` // node reporting this event
  227. HostName string `protobuf:"bytes,4,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // name of the node reporting this event
  228. NetworkId string `protobuf:"bytes,5,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` // network this flow belongs to
  229. // L3/L4 metadata
  230. Protocol uint32 `protobuf:"varint,6,opt,name=protocol,proto3" json:"protocol,omitempty"`
  231. SrcPort uint32 `protobuf:"varint,7,opt,name=src_port,json=srcPort,proto3" json:"src_port,omitempty"`
  232. DstPort uint32 `protobuf:"varint,8,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"`
  233. IcmpType uint32 `protobuf:"varint,9,opt,name=icmp_type,json=icmpType,proto3" json:"icmp_type,omitempty"`
  234. IcmpCode uint32 `protobuf:"varint,10,opt,name=icmp_code,json=icmpCode,proto3" json:"icmp_code,omitempty"`
  235. Direction Direction `protobuf:"varint,11,opt,name=direction,proto3,enum=netmaker.flow.Direction" json:"direction,omitempty"`
  236. // Participants — enriched by client
  237. Src *FlowParticipant `protobuf:"bytes,12,opt,name=src,proto3" json:"src,omitempty"`
  238. Dst *FlowParticipant `protobuf:"bytes,13,opt,name=dst,proto3" json:"dst,omitempty"`
  239. // Timestamps (milliseconds since epoch)
  240. StartTsMs int64 `protobuf:"varint,14,opt,name=start_ts_ms,json=startTsMs,proto3" json:"start_ts_ms,omitempty"`
  241. EndTsMs int64 `protobuf:"varint,15,opt,name=end_ts_ms,json=endTsMs,proto3" json:"end_ts_ms,omitempty"`
  242. // Traffic counters (only valid for destroy events)
  243. BytesSent uint64 `protobuf:"varint,16,opt,name=bytes_sent,json=bytesSent,proto3" json:"bytes_sent,omitempty"`
  244. BytesRecv uint64 `protobuf:"varint,17,opt,name=bytes_recv,json=bytesRecv,proto3" json:"bytes_recv,omitempty"`
  245. PacketsSent uint64 `protobuf:"varint,18,opt,name=packets_sent,json=packetsSent,proto3" json:"packets_sent,omitempty"`
  246. PacketsRecv uint64 `protobuf:"varint,19,opt,name=packets_recv,json=packetsRecv,proto3" json:"packets_recv,omitempty"`
  247. // Netfilter conntrack status flags (bitmask)
  248. Status uint32 `protobuf:"varint,20,opt,name=status,proto3" json:"status,omitempty"`
  249. // *
  250. // Version used by ClickHouse for merging.
  251. // Must be strictly increasing for START → DESTROY.
  252. // Usually equal to the netclient event timestamp (ms).
  253. Version int64 `protobuf:"varint,21,opt,name=version,proto3" json:"version,omitempty"`
  254. unknownFields protoimpl.UnknownFields
  255. sizeCache protoimpl.SizeCache
  256. }
  257. func (x *FlowEvent) Reset() {
  258. *x = FlowEvent{}
  259. mi := &file_grpc_flow_flow_proto_msgTypes[1]
  260. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  261. ms.StoreMessageInfo(mi)
  262. }
  263. func (x *FlowEvent) String() string {
  264. return protoimpl.X.MessageStringOf(x)
  265. }
  266. func (*FlowEvent) ProtoMessage() {}
  267. func (x *FlowEvent) ProtoReflect() protoreflect.Message {
  268. mi := &file_grpc_flow_flow_proto_msgTypes[1]
  269. if x != nil {
  270. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  271. if ms.LoadMessageInfo() == nil {
  272. ms.StoreMessageInfo(mi)
  273. }
  274. return ms
  275. }
  276. return mi.MessageOf(x)
  277. }
  278. // Deprecated: Use FlowEvent.ProtoReflect.Descriptor instead.
  279. func (*FlowEvent) Descriptor() ([]byte, []int) {
  280. return file_grpc_flow_flow_proto_rawDescGZIP(), []int{1}
  281. }
  282. func (x *FlowEvent) GetType() EventType {
  283. if x != nil {
  284. return x.Type
  285. }
  286. return EventType_EVENT_TYPE_UNSPECIFIED
  287. }
  288. func (x *FlowEvent) GetFlowId() string {
  289. if x != nil {
  290. return x.FlowId
  291. }
  292. return ""
  293. }
  294. func (x *FlowEvent) GetHostId() string {
  295. if x != nil {
  296. return x.HostId
  297. }
  298. return ""
  299. }
  300. func (x *FlowEvent) GetHostName() string {
  301. if x != nil {
  302. return x.HostName
  303. }
  304. return ""
  305. }
  306. func (x *FlowEvent) GetNetworkId() string {
  307. if x != nil {
  308. return x.NetworkId
  309. }
  310. return ""
  311. }
  312. func (x *FlowEvent) GetProtocol() uint32 {
  313. if x != nil {
  314. return x.Protocol
  315. }
  316. return 0
  317. }
  318. func (x *FlowEvent) GetSrcPort() uint32 {
  319. if x != nil {
  320. return x.SrcPort
  321. }
  322. return 0
  323. }
  324. func (x *FlowEvent) GetDstPort() uint32 {
  325. if x != nil {
  326. return x.DstPort
  327. }
  328. return 0
  329. }
  330. func (x *FlowEvent) GetIcmpType() uint32 {
  331. if x != nil {
  332. return x.IcmpType
  333. }
  334. return 0
  335. }
  336. func (x *FlowEvent) GetIcmpCode() uint32 {
  337. if x != nil {
  338. return x.IcmpCode
  339. }
  340. return 0
  341. }
  342. func (x *FlowEvent) GetDirection() Direction {
  343. if x != nil {
  344. return x.Direction
  345. }
  346. return Direction_DIR_UNSPECIFIED
  347. }
  348. func (x *FlowEvent) GetSrc() *FlowParticipant {
  349. if x != nil {
  350. return x.Src
  351. }
  352. return nil
  353. }
  354. func (x *FlowEvent) GetDst() *FlowParticipant {
  355. if x != nil {
  356. return x.Dst
  357. }
  358. return nil
  359. }
  360. func (x *FlowEvent) GetStartTsMs() int64 {
  361. if x != nil {
  362. return x.StartTsMs
  363. }
  364. return 0
  365. }
  366. func (x *FlowEvent) GetEndTsMs() int64 {
  367. if x != nil {
  368. return x.EndTsMs
  369. }
  370. return 0
  371. }
  372. func (x *FlowEvent) GetBytesSent() uint64 {
  373. if x != nil {
  374. return x.BytesSent
  375. }
  376. return 0
  377. }
  378. func (x *FlowEvent) GetBytesRecv() uint64 {
  379. if x != nil {
  380. return x.BytesRecv
  381. }
  382. return 0
  383. }
  384. func (x *FlowEvent) GetPacketsSent() uint64 {
  385. if x != nil {
  386. return x.PacketsSent
  387. }
  388. return 0
  389. }
  390. func (x *FlowEvent) GetPacketsRecv() uint64 {
  391. if x != nil {
  392. return x.PacketsRecv
  393. }
  394. return 0
  395. }
  396. func (x *FlowEvent) GetStatus() uint32 {
  397. if x != nil {
  398. return x.Status
  399. }
  400. return 0
  401. }
  402. func (x *FlowEvent) GetVersion() int64 {
  403. if x != nil {
  404. return x.Version
  405. }
  406. return 0
  407. }
  408. // *
  409. // Envelope sent by netclients containing multiple FlowEvents.
  410. type FlowEnvelope struct {
  411. state protoimpl.MessageState `protogen:"open.v1"`
  412. Events []*FlowEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
  413. unknownFields protoimpl.UnknownFields
  414. sizeCache protoimpl.SizeCache
  415. }
  416. func (x *FlowEnvelope) Reset() {
  417. *x = FlowEnvelope{}
  418. mi := &file_grpc_flow_flow_proto_msgTypes[2]
  419. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  420. ms.StoreMessageInfo(mi)
  421. }
  422. func (x *FlowEnvelope) String() string {
  423. return protoimpl.X.MessageStringOf(x)
  424. }
  425. func (*FlowEnvelope) ProtoMessage() {}
  426. func (x *FlowEnvelope) ProtoReflect() protoreflect.Message {
  427. mi := &file_grpc_flow_flow_proto_msgTypes[2]
  428. if x != nil {
  429. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  430. if ms.LoadMessageInfo() == nil {
  431. ms.StoreMessageInfo(mi)
  432. }
  433. return ms
  434. }
  435. return mi.MessageOf(x)
  436. }
  437. // Deprecated: Use FlowEnvelope.ProtoReflect.Descriptor instead.
  438. func (*FlowEnvelope) Descriptor() ([]byte, []int) {
  439. return file_grpc_flow_flow_proto_rawDescGZIP(), []int{2}
  440. }
  441. func (x *FlowEnvelope) GetEvents() []*FlowEvent {
  442. if x != nil {
  443. return x.Events
  444. }
  445. return nil
  446. }
  447. // *
  448. // Response from server acknowledging receipt of a batch.
  449. type FlowResponse struct {
  450. state protoimpl.MessageState `protogen:"open.v1"`
  451. Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` // true if batch was accepted
  452. Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // optional error information
  453. unknownFields protoimpl.UnknownFields
  454. sizeCache protoimpl.SizeCache
  455. }
  456. func (x *FlowResponse) Reset() {
  457. *x = FlowResponse{}
  458. mi := &file_grpc_flow_flow_proto_msgTypes[3]
  459. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  460. ms.StoreMessageInfo(mi)
  461. }
  462. func (x *FlowResponse) String() string {
  463. return protoimpl.X.MessageStringOf(x)
  464. }
  465. func (*FlowResponse) ProtoMessage() {}
  466. func (x *FlowResponse) ProtoReflect() protoreflect.Message {
  467. mi := &file_grpc_flow_flow_proto_msgTypes[3]
  468. if x != nil {
  469. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  470. if ms.LoadMessageInfo() == nil {
  471. ms.StoreMessageInfo(mi)
  472. }
  473. return ms
  474. }
  475. return mi.MessageOf(x)
  476. }
  477. // Deprecated: Use FlowResponse.ProtoReflect.Descriptor instead.
  478. func (*FlowResponse) Descriptor() ([]byte, []int) {
  479. return file_grpc_flow_flow_proto_rawDescGZIP(), []int{3}
  480. }
  481. func (x *FlowResponse) GetSuccess() bool {
  482. if x != nil {
  483. return x.Success
  484. }
  485. return false
  486. }
  487. func (x *FlowResponse) GetError() string {
  488. if x != nil {
  489. return x.Error
  490. }
  491. return ""
  492. }
  493. var File_grpc_flow_flow_proto protoreflect.FileDescriptor
  494. const file_grpc_flow_flow_proto_rawDesc = "" +
  495. "\n" +
  496. "\x14grpc/flow/flow.proto\x12\rnetmaker.flow\"y\n" +
  497. "\x0fFlowParticipant\x12\x0e\n" +
  498. "\x02ip\x18\x01 \x01(\tR\x02ip\x122\n" +
  499. "\x04type\x18\x02 \x01(\x0e2\x1e.netmaker.flow.ParticipantTypeR\x04type\x12\x0e\n" +
  500. "\x02id\x18\x03 \x01(\tR\x02id\x12\x12\n" +
  501. "\x04name\x18\x04 \x01(\tR\x04name\"\xc1\x05\n" +
  502. "\tFlowEvent\x12,\n" +
  503. "\x04type\x18\x01 \x01(\x0e2\x18.netmaker.flow.EventTypeR\x04type\x12\x17\n" +
  504. "\aflow_id\x18\x02 \x01(\tR\x06flowId\x12\x17\n" +
  505. "\ahost_id\x18\x03 \x01(\tR\x06hostId\x12\x1b\n" +
  506. "\thost_name\x18\x04 \x01(\tR\bhostName\x12\x1d\n" +
  507. "\n" +
  508. "network_id\x18\x05 \x01(\tR\tnetworkId\x12\x1a\n" +
  509. "\bprotocol\x18\x06 \x01(\rR\bprotocol\x12\x19\n" +
  510. "\bsrc_port\x18\a \x01(\rR\asrcPort\x12\x19\n" +
  511. "\bdst_port\x18\b \x01(\rR\adstPort\x12\x1b\n" +
  512. "\ticmp_type\x18\t \x01(\rR\bicmpType\x12\x1b\n" +
  513. "\ticmp_code\x18\n" +
  514. " \x01(\rR\bicmpCode\x126\n" +
  515. "\tdirection\x18\v \x01(\x0e2\x18.netmaker.flow.DirectionR\tdirection\x120\n" +
  516. "\x03src\x18\f \x01(\v2\x1e.netmaker.flow.FlowParticipantR\x03src\x120\n" +
  517. "\x03dst\x18\r \x01(\v2\x1e.netmaker.flow.FlowParticipantR\x03dst\x12\x1e\n" +
  518. "\vstart_ts_ms\x18\x0e \x01(\x03R\tstartTsMs\x12\x1a\n" +
  519. "\tend_ts_ms\x18\x0f \x01(\x03R\aendTsMs\x12\x1d\n" +
  520. "\n" +
  521. "bytes_sent\x18\x10 \x01(\x04R\tbytesSent\x12\x1d\n" +
  522. "\n" +
  523. "bytes_recv\x18\x11 \x01(\x04R\tbytesRecv\x12!\n" +
  524. "\fpackets_sent\x18\x12 \x01(\x04R\vpacketsSent\x12!\n" +
  525. "\fpackets_recv\x18\x13 \x01(\x04R\vpacketsRecv\x12\x16\n" +
  526. "\x06status\x18\x14 \x01(\rR\x06status\x12\x18\n" +
  527. "\aversion\x18\x15 \x01(\x03R\aversion\"@\n" +
  528. "\fFlowEnvelope\x120\n" +
  529. "\x06events\x18\x01 \x03(\v2\x18.netmaker.flow.FlowEventR\x06events\">\n" +
  530. "\fFlowResponse\x12\x18\n" +
  531. "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x14\n" +
  532. "\x05error\x18\x02 \x01(\tR\x05error*K\n" +
  533. "\tEventType\x12\x1a\n" +
  534. "\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n" +
  535. "\vEVENT_START\x10\x01\x12\x11\n" +
  536. "\rEVENT_DESTROY\x10\x02*\xad\x01\n" +
  537. "\x0fParticipantType\x12\x1b\n" +
  538. "\x17PARTICIPANT_UNSPECIFIED\x10\x00\x12\x14\n" +
  539. "\x10PARTICIPANT_NODE\x10\x01\x12\x14\n" +
  540. "\x10PARTICIPANT_USER\x10\x02\x12\x19\n" +
  541. "\x15PARTICIPANT_EXTCLIENT\x10\x03\x12\x1c\n" +
  542. "\x18PARTICIPANT_EGRESS_ROUTE\x10\x04\x12\x18\n" +
  543. "\x14PARTICIPANT_EXTERNAL\x10\x05*A\n" +
  544. "\tDirection\x12\x13\n" +
  545. "\x0fDIR_UNSPECIFIED\x10\x00\x12\x0f\n" +
  546. "\vDIR_INGRESS\x10\x01\x12\x0e\n" +
  547. "\n" +
  548. "DIR_EGRESS\x10\x022Z\n" +
  549. "\vFlowService\x12K\n" +
  550. "\vStreamFlows\x12\x1b.netmaker.flow.FlowEnvelope\x1a\x1b.netmaker.flow.FlowResponse(\x010\x01B'Z%github.com/gravitl/netmaker/grpc/flowb\x06proto3"
  551. var (
  552. file_grpc_flow_flow_proto_rawDescOnce sync.Once
  553. file_grpc_flow_flow_proto_rawDescData []byte
  554. )
  555. func file_grpc_flow_flow_proto_rawDescGZIP() []byte {
  556. file_grpc_flow_flow_proto_rawDescOnce.Do(func() {
  557. file_grpc_flow_flow_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_grpc_flow_flow_proto_rawDesc), len(file_grpc_flow_flow_proto_rawDesc)))
  558. })
  559. return file_grpc_flow_flow_proto_rawDescData
  560. }
  561. var file_grpc_flow_flow_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  562. var file_grpc_flow_flow_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
  563. var file_grpc_flow_flow_proto_goTypes = []any{
  564. (EventType)(0), // 0: netmaker.flow.EventType
  565. (ParticipantType)(0), // 1: netmaker.flow.ParticipantType
  566. (Direction)(0), // 2: netmaker.flow.Direction
  567. (*FlowParticipant)(nil), // 3: netmaker.flow.FlowParticipant
  568. (*FlowEvent)(nil), // 4: netmaker.flow.FlowEvent
  569. (*FlowEnvelope)(nil), // 5: netmaker.flow.FlowEnvelope
  570. (*FlowResponse)(nil), // 6: netmaker.flow.FlowResponse
  571. }
  572. var file_grpc_flow_flow_proto_depIdxs = []int32{
  573. 1, // 0: netmaker.flow.FlowParticipant.type:type_name -> netmaker.flow.ParticipantType
  574. 0, // 1: netmaker.flow.FlowEvent.type:type_name -> netmaker.flow.EventType
  575. 2, // 2: netmaker.flow.FlowEvent.direction:type_name -> netmaker.flow.Direction
  576. 3, // 3: netmaker.flow.FlowEvent.src:type_name -> netmaker.flow.FlowParticipant
  577. 3, // 4: netmaker.flow.FlowEvent.dst:type_name -> netmaker.flow.FlowParticipant
  578. 4, // 5: netmaker.flow.FlowEnvelope.events:type_name -> netmaker.flow.FlowEvent
  579. 5, // 6: netmaker.flow.FlowService.StreamFlows:input_type -> netmaker.flow.FlowEnvelope
  580. 6, // 7: netmaker.flow.FlowService.StreamFlows:output_type -> netmaker.flow.FlowResponse
  581. 7, // [7:8] is the sub-list for method output_type
  582. 6, // [6:7] is the sub-list for method input_type
  583. 6, // [6:6] is the sub-list for extension type_name
  584. 6, // [6:6] is the sub-list for extension extendee
  585. 0, // [0:6] is the sub-list for field type_name
  586. }
  587. func init() { file_grpc_flow_flow_proto_init() }
  588. func file_grpc_flow_flow_proto_init() {
  589. if File_grpc_flow_flow_proto != nil {
  590. return
  591. }
  592. type x struct{}
  593. out := protoimpl.TypeBuilder{
  594. File: protoimpl.DescBuilder{
  595. GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  596. RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_flow_flow_proto_rawDesc), len(file_grpc_flow_flow_proto_rawDesc)),
  597. NumEnums: 3,
  598. NumMessages: 4,
  599. NumExtensions: 0,
  600. NumServices: 1,
  601. },
  602. GoTypes: file_grpc_flow_flow_proto_goTypes,
  603. DependencyIndexes: file_grpc_flow_flow_proto_depIdxs,
  604. EnumInfos: file_grpc_flow_flow_proto_enumTypes,
  605. MessageInfos: file_grpc_flow_flow_proto_msgTypes,
  606. }.Build()
  607. File_grpc_flow_flow_proto = out.File
  608. file_grpc_flow_flow_proto_goTypes = nil
  609. file_grpc_flow_flow_proto_depIdxs = nil
  610. }