blob: 4c107e923da16a5f460daacb58eafa3f6cf9f215 [file] [log] [blame]
Abhay Kumar03713392025-12-30 05:20:58 +00001// Copyright (c) 2008 The Board of Trustees of The Leland Stanford
2// Junior University
3// Copyright 2011-2024 Open Networking Foundation (ONF) and the ONF Contributors
4//
5// We are making the OpenFlow specification and associated documentation
6// (Software) available for public use and benefit with the expectation
7// that others will use, modify and enhance the Software and contribute
8// those enhancements back to the community. However, since we would
9// like to make the Software available for broadest use, with as few
10// restrictions as possible permission is hereby granted, free of
11// charge, to any person obtaining a copy of this Software to deal in
12// the Software under the copyrights without restriction, including
13// without limitation the rights to use, copy, modify, merge, publish,
14// distribute, sublicense, and/or sell copies of the Software, and to
15// permit persons to whom the Software is furnished to do so, subject to
16// the following conditions:
17//
18// The above copyright notice and this permission notice shall be
19// included in all copies or substantial portions of the Software.
20//
21// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
25// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
26// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
27// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28// SOFTWARE.
29//
30// The name and trademarks of copyright holder(s) may NOT be used in
31// advertising or publicity pertaining to the Software or any
32// derivatives without specific, written prior permission.
33
34// OpenFlow: protocol between controller and datapath.
35
36//
37// This is a relatively straightforward rendering of OpenFlow message
38// definitions into protocol buffer messages. We preserved the snake
39// case syntax, and made the following changes:
40// - all pad fields dropped
41// - for each enum value above 0x7fffffff the MSB is dropped. For example,
42// 0xffffffff is now 0x7fffffff.
43// - '<type> thing[...]' is replaced with 'repeated <type> thing'
44// - 'char thing[...]' is replaced with 'string thing'
45// - 'uint8_t data[...]' is replaced with 'bytes data'
46// - the following systematic changes are done to various integer types:
47// uint8_t -> uint32
48// uint16_t -> uint32
49// uint32_t -> uint32
50// uint64_t -> uint64
51// - removed most length, len, size fields where these values can be determined
52// from the explicitly encoded length of "repeated" protobuf fields.
53// - explicit use of enum types whereever it is unambigous (and not used as
54// bitmask/flags value.
55//
56
William Kurkian1b363f42019-03-12 15:28:12 -040057// Code generated by protoc-gen-go. DO NOT EDIT.
Abhay Kumar03713392025-12-30 05:20:58 +000058// versions:
59// protoc-gen-go v1.36.11
60// protoc v4.25.8
William Kurkian1b363f42019-03-12 15:28:12 -040061// source: voltha_protos/openflow_13.proto
62
William Kurkianad745652019-03-20 08:45:51 -040063package openflow_13
William Kurkian1b363f42019-03-12 15:28:12 -040064
William Kurkianad745652019-03-20 08:45:51 -040065import (
William Kurkianad745652019-03-20 08:45:51 -040066 _ "google.golang.org/genproto/googleapis/api/annotations"
Abhay Kumar03713392025-12-30 05:20:58 +000067 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
68 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
69 reflect "reflect"
70 sync "sync"
71 unsafe "unsafe"
William Kurkianad745652019-03-20 08:45:51 -040072)
William Kurkian1b363f42019-03-12 15:28:12 -040073
Abhay Kumar03713392025-12-30 05:20:58 +000074const (
75 // Verify that this generated code is sufficiently up-to-date.
76 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
77 // Verify that runtime/protoimpl is sufficiently up-to-date.
78 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
79)
William Kurkian1b363f42019-03-12 15:28:12 -040080
William Kurkian1b363f42019-03-12 15:28:12 -040081// Port numbering. Ports are numbered starting from 1.
82type OfpPortNo int32
83
84const (
85 OfpPortNo_OFPP_INVALID OfpPortNo = 0
86 // Maximum number of physical and logical switch ports.
87 OfpPortNo_OFPP_MAX OfpPortNo = 2147483392
88 // Reserved OpenFlow Port (fake output "ports").
89 OfpPortNo_OFPP_IN_PORT OfpPortNo = 2147483640
90 OfpPortNo_OFPP_TABLE OfpPortNo = 2147483641
Abhay Kumar03713392025-12-30 05:20:58 +000091 OfpPortNo_OFPP_NORMAL OfpPortNo = 2147483642 // Forward using non-OpenFlow pipeline.
92 OfpPortNo_OFPP_FLOOD OfpPortNo = 2147483643 // Flood using non-OpenFlow pipeline.
93 OfpPortNo_OFPP_ALL OfpPortNo = 2147483644 // All standard ports except input port.
94 OfpPortNo_OFPP_CONTROLLER OfpPortNo = 2147483645 // Send to controller.
95 OfpPortNo_OFPP_LOCAL OfpPortNo = 2147483646 // Local openflow "port".
William Kurkian1b363f42019-03-12 15:28:12 -040096 OfpPortNo_OFPP_ANY OfpPortNo = 2147483647
97)
98
Abhay Kumar03713392025-12-30 05:20:58 +000099// Enum value maps for OfpPortNo.
100var (
101 OfpPortNo_name = map[int32]string{
102 0: "OFPP_INVALID",
103 2147483392: "OFPP_MAX",
104 2147483640: "OFPP_IN_PORT",
105 2147483641: "OFPP_TABLE",
106 2147483642: "OFPP_NORMAL",
107 2147483643: "OFPP_FLOOD",
108 2147483644: "OFPP_ALL",
109 2147483645: "OFPP_CONTROLLER",
110 2147483646: "OFPP_LOCAL",
111 2147483647: "OFPP_ANY",
112 }
113 OfpPortNo_value = map[string]int32{
114 "OFPP_INVALID": 0,
115 "OFPP_MAX": 2147483392,
116 "OFPP_IN_PORT": 2147483640,
117 "OFPP_TABLE": 2147483641,
118 "OFPP_NORMAL": 2147483642,
119 "OFPP_FLOOD": 2147483643,
120 "OFPP_ALL": 2147483644,
121 "OFPP_CONTROLLER": 2147483645,
122 "OFPP_LOCAL": 2147483646,
123 "OFPP_ANY": 2147483647,
124 }
125)
William Kurkianad745652019-03-20 08:45:51 -0400126
Abhay Kumar03713392025-12-30 05:20:58 +0000127func (x OfpPortNo) Enum() *OfpPortNo {
128 p := new(OfpPortNo)
129 *p = x
130 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400131}
132
133func (x OfpPortNo) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000134 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400135}
William Kurkianad745652019-03-20 08:45:51 -0400136
Abhay Kumar03713392025-12-30 05:20:58 +0000137func (OfpPortNo) Descriptor() protoreflect.EnumDescriptor {
138 return file_voltha_protos_openflow_13_proto_enumTypes[0].Descriptor()
139}
140
141func (OfpPortNo) Type() protoreflect.EnumType {
142 return &file_voltha_protos_openflow_13_proto_enumTypes[0]
143}
144
145func (x OfpPortNo) Number() protoreflect.EnumNumber {
146 return protoreflect.EnumNumber(x)
147}
148
149// Deprecated: Use OfpPortNo.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400150func (OfpPortNo) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000151 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{0}
William Kurkian1b363f42019-03-12 15:28:12 -0400152}
153
154type OfpType int32
155
156const (
157 // Immutable messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000158 OfpType_OFPT_HELLO OfpType = 0 // Symmetric message
159 OfpType_OFPT_ERROR OfpType = 1 // Symmetric message
160 OfpType_OFPT_ECHO_REQUEST OfpType = 2 // Symmetric message
161 OfpType_OFPT_ECHO_REPLY OfpType = 3 // Symmetric message
162 OfpType_OFPT_EXPERIMENTER OfpType = 4 // Symmetric message
William Kurkian1b363f42019-03-12 15:28:12 -0400163 // Switch configuration messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000164 OfpType_OFPT_FEATURES_REQUEST OfpType = 5 // Controller/switch message
165 OfpType_OFPT_FEATURES_REPLY OfpType = 6 // Controller/switch message
166 OfpType_OFPT_GET_CONFIG_REQUEST OfpType = 7 // Controller/switch message
167 OfpType_OFPT_GET_CONFIG_REPLY OfpType = 8 // Controller/switch message
168 OfpType_OFPT_SET_CONFIG OfpType = 9 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400169 // Asynchronous messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000170 OfpType_OFPT_PACKET_IN OfpType = 10 // Async message
171 OfpType_OFPT_FLOW_REMOVED OfpType = 11 // Async message
172 OfpType_OFPT_PORT_STATUS OfpType = 12 // Async message
William Kurkian1b363f42019-03-12 15:28:12 -0400173 // Controller command messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000174 OfpType_OFPT_PACKET_OUT OfpType = 13 // Controller/switch message
175 OfpType_OFPT_FLOW_MOD OfpType = 14 // Controller/switch message
176 OfpType_OFPT_GROUP_MOD OfpType = 15 // Controller/switch message
177 OfpType_OFPT_PORT_MOD OfpType = 16 // Controller/switch message
178 OfpType_OFPT_TABLE_MOD OfpType = 17 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400179 // Multipart messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000180 OfpType_OFPT_MULTIPART_REQUEST OfpType = 18 // Controller/switch message
181 OfpType_OFPT_MULTIPART_REPLY OfpType = 19 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400182 // Barrier messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000183 OfpType_OFPT_BARRIER_REQUEST OfpType = 20 // Controller/switch message
184 OfpType_OFPT_BARRIER_REPLY OfpType = 21 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400185 // Queue Configuration messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000186 OfpType_OFPT_QUEUE_GET_CONFIG_REQUEST OfpType = 22 // Controller/switch message
187 OfpType_OFPT_QUEUE_GET_CONFIG_REPLY OfpType = 23 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400188 // Controller role change request messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000189 OfpType_OFPT_ROLE_REQUEST OfpType = 24 // Controller/switch message
190 OfpType_OFPT_ROLE_REPLY OfpType = 25 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400191 // Asynchronous message configuration.
Abhay Kumar03713392025-12-30 05:20:58 +0000192 OfpType_OFPT_GET_ASYNC_REQUEST OfpType = 26 // Controller/switch message
193 OfpType_OFPT_GET_ASYNC_REPLY OfpType = 27 // Controller/switch message
194 OfpType_OFPT_SET_ASYNC OfpType = 28 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400195 // Meters and rate limiters configuration messages.
Abhay Kumar03713392025-12-30 05:20:58 +0000196 OfpType_OFPT_METER_MOD OfpType = 29 // Controller/switch message
William Kurkian1b363f42019-03-12 15:28:12 -0400197)
198
Abhay Kumar03713392025-12-30 05:20:58 +0000199// Enum value maps for OfpType.
200var (
201 OfpType_name = map[int32]string{
202 0: "OFPT_HELLO",
203 1: "OFPT_ERROR",
204 2: "OFPT_ECHO_REQUEST",
205 3: "OFPT_ECHO_REPLY",
206 4: "OFPT_EXPERIMENTER",
207 5: "OFPT_FEATURES_REQUEST",
208 6: "OFPT_FEATURES_REPLY",
209 7: "OFPT_GET_CONFIG_REQUEST",
210 8: "OFPT_GET_CONFIG_REPLY",
211 9: "OFPT_SET_CONFIG",
212 10: "OFPT_PACKET_IN",
213 11: "OFPT_FLOW_REMOVED",
214 12: "OFPT_PORT_STATUS",
215 13: "OFPT_PACKET_OUT",
216 14: "OFPT_FLOW_MOD",
217 15: "OFPT_GROUP_MOD",
218 16: "OFPT_PORT_MOD",
219 17: "OFPT_TABLE_MOD",
220 18: "OFPT_MULTIPART_REQUEST",
221 19: "OFPT_MULTIPART_REPLY",
222 20: "OFPT_BARRIER_REQUEST",
223 21: "OFPT_BARRIER_REPLY",
224 22: "OFPT_QUEUE_GET_CONFIG_REQUEST",
225 23: "OFPT_QUEUE_GET_CONFIG_REPLY",
226 24: "OFPT_ROLE_REQUEST",
227 25: "OFPT_ROLE_REPLY",
228 26: "OFPT_GET_ASYNC_REQUEST",
229 27: "OFPT_GET_ASYNC_REPLY",
230 28: "OFPT_SET_ASYNC",
231 29: "OFPT_METER_MOD",
232 }
233 OfpType_value = map[string]int32{
234 "OFPT_HELLO": 0,
235 "OFPT_ERROR": 1,
236 "OFPT_ECHO_REQUEST": 2,
237 "OFPT_ECHO_REPLY": 3,
238 "OFPT_EXPERIMENTER": 4,
239 "OFPT_FEATURES_REQUEST": 5,
240 "OFPT_FEATURES_REPLY": 6,
241 "OFPT_GET_CONFIG_REQUEST": 7,
242 "OFPT_GET_CONFIG_REPLY": 8,
243 "OFPT_SET_CONFIG": 9,
244 "OFPT_PACKET_IN": 10,
245 "OFPT_FLOW_REMOVED": 11,
246 "OFPT_PORT_STATUS": 12,
247 "OFPT_PACKET_OUT": 13,
248 "OFPT_FLOW_MOD": 14,
249 "OFPT_GROUP_MOD": 15,
250 "OFPT_PORT_MOD": 16,
251 "OFPT_TABLE_MOD": 17,
252 "OFPT_MULTIPART_REQUEST": 18,
253 "OFPT_MULTIPART_REPLY": 19,
254 "OFPT_BARRIER_REQUEST": 20,
255 "OFPT_BARRIER_REPLY": 21,
256 "OFPT_QUEUE_GET_CONFIG_REQUEST": 22,
257 "OFPT_QUEUE_GET_CONFIG_REPLY": 23,
258 "OFPT_ROLE_REQUEST": 24,
259 "OFPT_ROLE_REPLY": 25,
260 "OFPT_GET_ASYNC_REQUEST": 26,
261 "OFPT_GET_ASYNC_REPLY": 27,
262 "OFPT_SET_ASYNC": 28,
263 "OFPT_METER_MOD": 29,
264 }
265)
William Kurkianad745652019-03-20 08:45:51 -0400266
Abhay Kumar03713392025-12-30 05:20:58 +0000267func (x OfpType) Enum() *OfpType {
268 p := new(OfpType)
269 *p = x
270 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400271}
272
273func (x OfpType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000274 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400275}
William Kurkianad745652019-03-20 08:45:51 -0400276
Abhay Kumar03713392025-12-30 05:20:58 +0000277func (OfpType) Descriptor() protoreflect.EnumDescriptor {
278 return file_voltha_protos_openflow_13_proto_enumTypes[1].Descriptor()
279}
280
281func (OfpType) Type() protoreflect.EnumType {
282 return &file_voltha_protos_openflow_13_proto_enumTypes[1]
283}
284
285func (x OfpType) Number() protoreflect.EnumNumber {
286 return protoreflect.EnumNumber(x)
287}
288
289// Deprecated: Use OfpType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400290func (OfpType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000291 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{1}
William Kurkian1b363f42019-03-12 15:28:12 -0400292}
293
294// Hello elements types.
295type OfpHelloElemType int32
296
297const (
298 OfpHelloElemType_OFPHET_INVALID OfpHelloElemType = 0
Abhay Kumar03713392025-12-30 05:20:58 +0000299 OfpHelloElemType_OFPHET_VERSIONBITMAP OfpHelloElemType = 1 // Bitmap of version supported.
William Kurkian1b363f42019-03-12 15:28:12 -0400300)
301
Abhay Kumar03713392025-12-30 05:20:58 +0000302// Enum value maps for OfpHelloElemType.
303var (
304 OfpHelloElemType_name = map[int32]string{
305 0: "OFPHET_INVALID",
306 1: "OFPHET_VERSIONBITMAP",
307 }
308 OfpHelloElemType_value = map[string]int32{
309 "OFPHET_INVALID": 0,
310 "OFPHET_VERSIONBITMAP": 1,
311 }
312)
William Kurkianad745652019-03-20 08:45:51 -0400313
Abhay Kumar03713392025-12-30 05:20:58 +0000314func (x OfpHelloElemType) Enum() *OfpHelloElemType {
315 p := new(OfpHelloElemType)
316 *p = x
317 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400318}
319
320func (x OfpHelloElemType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000321 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400322}
William Kurkianad745652019-03-20 08:45:51 -0400323
Abhay Kumar03713392025-12-30 05:20:58 +0000324func (OfpHelloElemType) Descriptor() protoreflect.EnumDescriptor {
325 return file_voltha_protos_openflow_13_proto_enumTypes[2].Descriptor()
326}
327
328func (OfpHelloElemType) Type() protoreflect.EnumType {
329 return &file_voltha_protos_openflow_13_proto_enumTypes[2]
330}
331
332func (x OfpHelloElemType) Number() protoreflect.EnumNumber {
333 return protoreflect.EnumNumber(x)
334}
335
336// Deprecated: Use OfpHelloElemType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400337func (OfpHelloElemType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000338 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{2}
William Kurkian1b363f42019-03-12 15:28:12 -0400339}
340
341type OfpConfigFlags int32
342
343const (
344 // Handling of IP fragments.
Abhay Kumar03713392025-12-30 05:20:58 +0000345 OfpConfigFlags_OFPC_FRAG_NORMAL OfpConfigFlags = 0 // No special handling for fragments.
346 OfpConfigFlags_OFPC_FRAG_DROP OfpConfigFlags = 1 // Drop fragments.
347 OfpConfigFlags_OFPC_FRAG_REASM OfpConfigFlags = 2 // Reassemble (only if OFPC_IP_REASM set).
348 OfpConfigFlags_OFPC_FRAG_MASK OfpConfigFlags = 3 // Bitmask of flags dealing with frag.
William Kurkian1b363f42019-03-12 15:28:12 -0400349)
350
Abhay Kumar03713392025-12-30 05:20:58 +0000351// Enum value maps for OfpConfigFlags.
352var (
353 OfpConfigFlags_name = map[int32]string{
354 0: "OFPC_FRAG_NORMAL",
355 1: "OFPC_FRAG_DROP",
356 2: "OFPC_FRAG_REASM",
357 3: "OFPC_FRAG_MASK",
358 }
359 OfpConfigFlags_value = map[string]int32{
360 "OFPC_FRAG_NORMAL": 0,
361 "OFPC_FRAG_DROP": 1,
362 "OFPC_FRAG_REASM": 2,
363 "OFPC_FRAG_MASK": 3,
364 }
365)
William Kurkianad745652019-03-20 08:45:51 -0400366
Abhay Kumar03713392025-12-30 05:20:58 +0000367func (x OfpConfigFlags) Enum() *OfpConfigFlags {
368 p := new(OfpConfigFlags)
369 *p = x
370 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400371}
372
373func (x OfpConfigFlags) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000374 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400375}
William Kurkianad745652019-03-20 08:45:51 -0400376
Abhay Kumar03713392025-12-30 05:20:58 +0000377func (OfpConfigFlags) Descriptor() protoreflect.EnumDescriptor {
378 return file_voltha_protos_openflow_13_proto_enumTypes[3].Descriptor()
379}
380
381func (OfpConfigFlags) Type() protoreflect.EnumType {
382 return &file_voltha_protos_openflow_13_proto_enumTypes[3]
383}
384
385func (x OfpConfigFlags) Number() protoreflect.EnumNumber {
386 return protoreflect.EnumNumber(x)
387}
388
389// Deprecated: Use OfpConfigFlags.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400390func (OfpConfigFlags) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000391 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{3}
William Kurkian1b363f42019-03-12 15:28:12 -0400392}
393
394// Flags to configure the table. Reserved for future use.
395type OfpTableConfig int32
396
397const (
398 OfpTableConfig_OFPTC_INVALID OfpTableConfig = 0
Abhay Kumar03713392025-12-30 05:20:58 +0000399 OfpTableConfig_OFPTC_DEPRECATED_MASK OfpTableConfig = 3 // Deprecated bits
William Kurkian1b363f42019-03-12 15:28:12 -0400400)
401
Abhay Kumar03713392025-12-30 05:20:58 +0000402// Enum value maps for OfpTableConfig.
403var (
404 OfpTableConfig_name = map[int32]string{
405 0: "OFPTC_INVALID",
406 3: "OFPTC_DEPRECATED_MASK",
407 }
408 OfpTableConfig_value = map[string]int32{
409 "OFPTC_INVALID": 0,
410 "OFPTC_DEPRECATED_MASK": 3,
411 }
412)
William Kurkianad745652019-03-20 08:45:51 -0400413
Abhay Kumar03713392025-12-30 05:20:58 +0000414func (x OfpTableConfig) Enum() *OfpTableConfig {
415 p := new(OfpTableConfig)
416 *p = x
417 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400418}
419
420func (x OfpTableConfig) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000421 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400422}
William Kurkianad745652019-03-20 08:45:51 -0400423
Abhay Kumar03713392025-12-30 05:20:58 +0000424func (OfpTableConfig) Descriptor() protoreflect.EnumDescriptor {
425 return file_voltha_protos_openflow_13_proto_enumTypes[4].Descriptor()
426}
427
428func (OfpTableConfig) Type() protoreflect.EnumType {
429 return &file_voltha_protos_openflow_13_proto_enumTypes[4]
430}
431
432func (x OfpTableConfig) Number() protoreflect.EnumNumber {
433 return protoreflect.EnumNumber(x)
434}
435
436// Deprecated: Use OfpTableConfig.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400437func (OfpTableConfig) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000438 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{4}
William Kurkian1b363f42019-03-12 15:28:12 -0400439}
440
441// Table numbering. Tables can use any number up to OFPT_MAX.
442type OfpTable int32
443
444const (
445 OfpTable_OFPTT_INVALID OfpTable = 0
446 // Last usable table number.
447 OfpTable_OFPTT_MAX OfpTable = 254
448 // Fake tables.
449 OfpTable_OFPTT_ALL OfpTable = 255
450)
451
Abhay Kumar03713392025-12-30 05:20:58 +0000452// Enum value maps for OfpTable.
453var (
454 OfpTable_name = map[int32]string{
455 0: "OFPTT_INVALID",
456 254: "OFPTT_MAX",
457 255: "OFPTT_ALL",
458 }
459 OfpTable_value = map[string]int32{
460 "OFPTT_INVALID": 0,
461 "OFPTT_MAX": 254,
462 "OFPTT_ALL": 255,
463 }
464)
William Kurkianad745652019-03-20 08:45:51 -0400465
Abhay Kumar03713392025-12-30 05:20:58 +0000466func (x OfpTable) Enum() *OfpTable {
467 p := new(OfpTable)
468 *p = x
469 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400470}
471
472func (x OfpTable) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000473 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400474}
William Kurkianad745652019-03-20 08:45:51 -0400475
Abhay Kumar03713392025-12-30 05:20:58 +0000476func (OfpTable) Descriptor() protoreflect.EnumDescriptor {
477 return file_voltha_protos_openflow_13_proto_enumTypes[5].Descriptor()
478}
479
480func (OfpTable) Type() protoreflect.EnumType {
481 return &file_voltha_protos_openflow_13_proto_enumTypes[5]
482}
483
484func (x OfpTable) Number() protoreflect.EnumNumber {
485 return protoreflect.EnumNumber(x)
486}
487
488// Deprecated: Use OfpTable.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400489func (OfpTable) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000490 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{5}
William Kurkian1b363f42019-03-12 15:28:12 -0400491}
492
493// Capabilities supported by the datapath.
494type OfpCapabilities int32
495
496const (
497 OfpCapabilities_OFPC_INVALID OfpCapabilities = 0
Abhay Kumar03713392025-12-30 05:20:58 +0000498 OfpCapabilities_OFPC_FLOW_STATS OfpCapabilities = 1 // Flow statistics.
499 OfpCapabilities_OFPC_TABLE_STATS OfpCapabilities = 2 // Table statistics.
500 OfpCapabilities_OFPC_PORT_STATS OfpCapabilities = 4 // Port statistics.
501 OfpCapabilities_OFPC_GROUP_STATS OfpCapabilities = 8 // Group statistics.
502 OfpCapabilities_OFPC_IP_REASM OfpCapabilities = 32 // Can reassemble IP fragments.
503 OfpCapabilities_OFPC_QUEUE_STATS OfpCapabilities = 64 // Queue statistics.
504 OfpCapabilities_OFPC_PORT_BLOCKED OfpCapabilities = 256 // Switch will block looping ports.
William Kurkian1b363f42019-03-12 15:28:12 -0400505)
506
Abhay Kumar03713392025-12-30 05:20:58 +0000507// Enum value maps for OfpCapabilities.
508var (
509 OfpCapabilities_name = map[int32]string{
510 0: "OFPC_INVALID",
511 1: "OFPC_FLOW_STATS",
512 2: "OFPC_TABLE_STATS",
513 4: "OFPC_PORT_STATS",
514 8: "OFPC_GROUP_STATS",
515 32: "OFPC_IP_REASM",
516 64: "OFPC_QUEUE_STATS",
517 256: "OFPC_PORT_BLOCKED",
518 }
519 OfpCapabilities_value = map[string]int32{
520 "OFPC_INVALID": 0,
521 "OFPC_FLOW_STATS": 1,
522 "OFPC_TABLE_STATS": 2,
523 "OFPC_PORT_STATS": 4,
524 "OFPC_GROUP_STATS": 8,
525 "OFPC_IP_REASM": 32,
526 "OFPC_QUEUE_STATS": 64,
527 "OFPC_PORT_BLOCKED": 256,
528 }
529)
William Kurkianad745652019-03-20 08:45:51 -0400530
Abhay Kumar03713392025-12-30 05:20:58 +0000531func (x OfpCapabilities) Enum() *OfpCapabilities {
532 p := new(OfpCapabilities)
533 *p = x
534 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400535}
536
537func (x OfpCapabilities) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000538 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400539}
William Kurkianad745652019-03-20 08:45:51 -0400540
Abhay Kumar03713392025-12-30 05:20:58 +0000541func (OfpCapabilities) Descriptor() protoreflect.EnumDescriptor {
542 return file_voltha_protos_openflow_13_proto_enumTypes[6].Descriptor()
543}
544
545func (OfpCapabilities) Type() protoreflect.EnumType {
546 return &file_voltha_protos_openflow_13_proto_enumTypes[6]
547}
548
549func (x OfpCapabilities) Number() protoreflect.EnumNumber {
550 return protoreflect.EnumNumber(x)
551}
552
553// Deprecated: Use OfpCapabilities.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400554func (OfpCapabilities) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000555 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{6}
William Kurkian1b363f42019-03-12 15:28:12 -0400556}
557
558// Flags to indicate behavior of the physical port. These flags are
559// used in ofp_port to describe the current configuration. They are
560// used in the ofp_port_mod message to configure the port's behavior.
561type OfpPortConfig int32
562
563const (
564 OfpPortConfig_OFPPC_INVALID OfpPortConfig = 0
Abhay Kumar03713392025-12-30 05:20:58 +0000565 OfpPortConfig_OFPPC_PORT_DOWN OfpPortConfig = 1 // Port is administratively down.
566 OfpPortConfig_OFPPC_NO_RECV OfpPortConfig = 4 // Drop all packets received by port.
567 OfpPortConfig_OFPPC_NO_FWD OfpPortConfig = 32 // Drop packets forwarded to port.
568 OfpPortConfig_OFPPC_NO_PACKET_IN OfpPortConfig = 64 // Do not send packet-in msgs for port.
William Kurkian1b363f42019-03-12 15:28:12 -0400569)
570
Abhay Kumar03713392025-12-30 05:20:58 +0000571// Enum value maps for OfpPortConfig.
572var (
573 OfpPortConfig_name = map[int32]string{
574 0: "OFPPC_INVALID",
575 1: "OFPPC_PORT_DOWN",
576 4: "OFPPC_NO_RECV",
577 32: "OFPPC_NO_FWD",
578 64: "OFPPC_NO_PACKET_IN",
579 }
580 OfpPortConfig_value = map[string]int32{
581 "OFPPC_INVALID": 0,
582 "OFPPC_PORT_DOWN": 1,
583 "OFPPC_NO_RECV": 4,
584 "OFPPC_NO_FWD": 32,
585 "OFPPC_NO_PACKET_IN": 64,
586 }
587)
William Kurkianad745652019-03-20 08:45:51 -0400588
Abhay Kumar03713392025-12-30 05:20:58 +0000589func (x OfpPortConfig) Enum() *OfpPortConfig {
590 p := new(OfpPortConfig)
591 *p = x
592 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400593}
594
595func (x OfpPortConfig) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000596 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400597}
William Kurkianad745652019-03-20 08:45:51 -0400598
Abhay Kumar03713392025-12-30 05:20:58 +0000599func (OfpPortConfig) Descriptor() protoreflect.EnumDescriptor {
600 return file_voltha_protos_openflow_13_proto_enumTypes[7].Descriptor()
601}
602
603func (OfpPortConfig) Type() protoreflect.EnumType {
604 return &file_voltha_protos_openflow_13_proto_enumTypes[7]
605}
606
607func (x OfpPortConfig) Number() protoreflect.EnumNumber {
608 return protoreflect.EnumNumber(x)
609}
610
611// Deprecated: Use OfpPortConfig.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400612func (OfpPortConfig) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000613 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{7}
William Kurkian1b363f42019-03-12 15:28:12 -0400614}
615
616// Current state of the physical port. These are not configurable from
617// the controller.
618type OfpPortState int32
619
620const (
621 OfpPortState_OFPPS_INVALID OfpPortState = 0
Abhay Kumar03713392025-12-30 05:20:58 +0000622 OfpPortState_OFPPS_LINK_DOWN OfpPortState = 1 // No physical link present.
623 OfpPortState_OFPPS_BLOCKED OfpPortState = 2 // Port is blocked
624 OfpPortState_OFPPS_LIVE OfpPortState = 4 // Live for Fast Failover Group.
William Kurkian1b363f42019-03-12 15:28:12 -0400625)
626
Abhay Kumar03713392025-12-30 05:20:58 +0000627// Enum value maps for OfpPortState.
628var (
629 OfpPortState_name = map[int32]string{
630 0: "OFPPS_INVALID",
631 1: "OFPPS_LINK_DOWN",
632 2: "OFPPS_BLOCKED",
633 4: "OFPPS_LIVE",
634 }
635 OfpPortState_value = map[string]int32{
636 "OFPPS_INVALID": 0,
637 "OFPPS_LINK_DOWN": 1,
638 "OFPPS_BLOCKED": 2,
639 "OFPPS_LIVE": 4,
640 }
641)
William Kurkianad745652019-03-20 08:45:51 -0400642
Abhay Kumar03713392025-12-30 05:20:58 +0000643func (x OfpPortState) Enum() *OfpPortState {
644 p := new(OfpPortState)
645 *p = x
646 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400647}
648
649func (x OfpPortState) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000650 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400651}
William Kurkianad745652019-03-20 08:45:51 -0400652
Abhay Kumar03713392025-12-30 05:20:58 +0000653func (OfpPortState) Descriptor() protoreflect.EnumDescriptor {
654 return file_voltha_protos_openflow_13_proto_enumTypes[8].Descriptor()
655}
656
657func (OfpPortState) Type() protoreflect.EnumType {
658 return &file_voltha_protos_openflow_13_proto_enumTypes[8]
659}
660
661func (x OfpPortState) Number() protoreflect.EnumNumber {
662 return protoreflect.EnumNumber(x)
663}
664
665// Deprecated: Use OfpPortState.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400666func (OfpPortState) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000667 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{8}
William Kurkian1b363f42019-03-12 15:28:12 -0400668}
669
670// Features of ports available in a datapath.
671type OfpPortFeatures int32
672
673const (
674 OfpPortFeatures_OFPPF_INVALID OfpPortFeatures = 0
Abhay Kumar03713392025-12-30 05:20:58 +0000675 OfpPortFeatures_OFPPF_10MB_HD OfpPortFeatures = 1 // 10 Mb half-duplex rate support.
676 OfpPortFeatures_OFPPF_10MB_FD OfpPortFeatures = 2 // 10 Mb full-duplex rate support.
677 OfpPortFeatures_OFPPF_100MB_HD OfpPortFeatures = 4 // 100 Mb half-duplex rate support.
678 OfpPortFeatures_OFPPF_100MB_FD OfpPortFeatures = 8 // 100 Mb full-duplex rate support.
679 OfpPortFeatures_OFPPF_1GB_HD OfpPortFeatures = 16 // 1 Gb half-duplex rate support.
680 OfpPortFeatures_OFPPF_1GB_FD OfpPortFeatures = 32 // 1 Gb full-duplex rate support.
681 OfpPortFeatures_OFPPF_10GB_FD OfpPortFeatures = 64 // 10 Gb full-duplex rate support.
682 OfpPortFeatures_OFPPF_40GB_FD OfpPortFeatures = 128 // 40 Gb full-duplex rate support.
683 OfpPortFeatures_OFPPF_100GB_FD OfpPortFeatures = 256 // 100 Gb full-duplex rate support.
684 OfpPortFeatures_OFPPF_1TB_FD OfpPortFeatures = 512 // 1 Tb full-duplex rate support.
685 OfpPortFeatures_OFPPF_OTHER OfpPortFeatures = 1024 // Other rate, not in the list.
686 OfpPortFeatures_OFPPF_COPPER OfpPortFeatures = 2048 // Copper medium.
687 OfpPortFeatures_OFPPF_FIBER OfpPortFeatures = 4096 // Fiber medium.
688 OfpPortFeatures_OFPPF_AUTONEG OfpPortFeatures = 8192 // Auto-negotiation.
689 OfpPortFeatures_OFPPF_PAUSE OfpPortFeatures = 16384 // Pause.
690 OfpPortFeatures_OFPPF_PAUSE_ASYM OfpPortFeatures = 32768 // Asymmetric pause.
William Kurkian1b363f42019-03-12 15:28:12 -0400691)
692
Abhay Kumar03713392025-12-30 05:20:58 +0000693// Enum value maps for OfpPortFeatures.
694var (
695 OfpPortFeatures_name = map[int32]string{
696 0: "OFPPF_INVALID",
697 1: "OFPPF_10MB_HD",
698 2: "OFPPF_10MB_FD",
699 4: "OFPPF_100MB_HD",
700 8: "OFPPF_100MB_FD",
701 16: "OFPPF_1GB_HD",
702 32: "OFPPF_1GB_FD",
703 64: "OFPPF_10GB_FD",
704 128: "OFPPF_40GB_FD",
705 256: "OFPPF_100GB_FD",
706 512: "OFPPF_1TB_FD",
707 1024: "OFPPF_OTHER",
708 2048: "OFPPF_COPPER",
709 4096: "OFPPF_FIBER",
710 8192: "OFPPF_AUTONEG",
711 16384: "OFPPF_PAUSE",
712 32768: "OFPPF_PAUSE_ASYM",
713 }
714 OfpPortFeatures_value = map[string]int32{
715 "OFPPF_INVALID": 0,
716 "OFPPF_10MB_HD": 1,
717 "OFPPF_10MB_FD": 2,
718 "OFPPF_100MB_HD": 4,
719 "OFPPF_100MB_FD": 8,
720 "OFPPF_1GB_HD": 16,
721 "OFPPF_1GB_FD": 32,
722 "OFPPF_10GB_FD": 64,
723 "OFPPF_40GB_FD": 128,
724 "OFPPF_100GB_FD": 256,
725 "OFPPF_1TB_FD": 512,
726 "OFPPF_OTHER": 1024,
727 "OFPPF_COPPER": 2048,
728 "OFPPF_FIBER": 4096,
729 "OFPPF_AUTONEG": 8192,
730 "OFPPF_PAUSE": 16384,
731 "OFPPF_PAUSE_ASYM": 32768,
732 }
733)
William Kurkianad745652019-03-20 08:45:51 -0400734
Abhay Kumar03713392025-12-30 05:20:58 +0000735func (x OfpPortFeatures) Enum() *OfpPortFeatures {
736 p := new(OfpPortFeatures)
737 *p = x
738 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400739}
740
741func (x OfpPortFeatures) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000742 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400743}
William Kurkianad745652019-03-20 08:45:51 -0400744
Abhay Kumar03713392025-12-30 05:20:58 +0000745func (OfpPortFeatures) Descriptor() protoreflect.EnumDescriptor {
746 return file_voltha_protos_openflow_13_proto_enumTypes[9].Descriptor()
747}
748
749func (OfpPortFeatures) Type() protoreflect.EnumType {
750 return &file_voltha_protos_openflow_13_proto_enumTypes[9]
751}
752
753func (x OfpPortFeatures) Number() protoreflect.EnumNumber {
754 return protoreflect.EnumNumber(x)
755}
756
757// Deprecated: Use OfpPortFeatures.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400758func (OfpPortFeatures) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000759 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{9}
William Kurkian1b363f42019-03-12 15:28:12 -0400760}
761
762// What changed about the physical port
763type OfpPortReason int32
764
765const (
Abhay Kumar03713392025-12-30 05:20:58 +0000766 OfpPortReason_OFPPR_ADD OfpPortReason = 0 // The port was added.
767 OfpPortReason_OFPPR_DELETE OfpPortReason = 1 // The port was removed.
768 OfpPortReason_OFPPR_MODIFY OfpPortReason = 2 // Some attribute of the port has changed.
William Kurkian1b363f42019-03-12 15:28:12 -0400769)
770
Abhay Kumar03713392025-12-30 05:20:58 +0000771// Enum value maps for OfpPortReason.
772var (
773 OfpPortReason_name = map[int32]string{
774 0: "OFPPR_ADD",
775 1: "OFPPR_DELETE",
776 2: "OFPPR_MODIFY",
777 }
778 OfpPortReason_value = map[string]int32{
779 "OFPPR_ADD": 0,
780 "OFPPR_DELETE": 1,
781 "OFPPR_MODIFY": 2,
782 }
783)
William Kurkianad745652019-03-20 08:45:51 -0400784
Abhay Kumar03713392025-12-30 05:20:58 +0000785func (x OfpPortReason) Enum() *OfpPortReason {
786 p := new(OfpPortReason)
787 *p = x
788 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400789}
790
791func (x OfpPortReason) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000792 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400793}
William Kurkianad745652019-03-20 08:45:51 -0400794
Abhay Kumar03713392025-12-30 05:20:58 +0000795func (OfpPortReason) Descriptor() protoreflect.EnumDescriptor {
796 return file_voltha_protos_openflow_13_proto_enumTypes[10].Descriptor()
797}
798
799func (OfpPortReason) Type() protoreflect.EnumType {
800 return &file_voltha_protos_openflow_13_proto_enumTypes[10]
801}
802
803func (x OfpPortReason) Number() protoreflect.EnumNumber {
804 return protoreflect.EnumNumber(x)
805}
806
807// Deprecated: Use OfpPortReason.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400808func (OfpPortReason) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000809 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{10}
William Kurkian1b363f42019-03-12 15:28:12 -0400810}
811
Andrea Campanellab14af632021-11-18 11:00:47 -0800812// What changed about the physical device
813type OfpDeviceConnection int32
814
815const (
Abhay Kumar03713392025-12-30 05:20:58 +0000816 OfpDeviceConnection_OFPDEV_CONNECTED OfpDeviceConnection = 0 // The device connected.
817 OfpDeviceConnection_OFPDEV_DISCONNECTED OfpDeviceConnection = 1 // The device disconnected.
Andrea Campanellab14af632021-11-18 11:00:47 -0800818)
819
Abhay Kumar03713392025-12-30 05:20:58 +0000820// Enum value maps for OfpDeviceConnection.
821var (
822 OfpDeviceConnection_name = map[int32]string{
823 0: "OFPDEV_CONNECTED",
824 1: "OFPDEV_DISCONNECTED",
825 }
826 OfpDeviceConnection_value = map[string]int32{
827 "OFPDEV_CONNECTED": 0,
828 "OFPDEV_DISCONNECTED": 1,
829 }
830)
Andrea Campanellab14af632021-11-18 11:00:47 -0800831
Abhay Kumar03713392025-12-30 05:20:58 +0000832func (x OfpDeviceConnection) Enum() *OfpDeviceConnection {
833 p := new(OfpDeviceConnection)
834 *p = x
835 return p
Andrea Campanellab14af632021-11-18 11:00:47 -0800836}
837
838func (x OfpDeviceConnection) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000839 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
Andrea Campanellab14af632021-11-18 11:00:47 -0800840}
841
Abhay Kumar03713392025-12-30 05:20:58 +0000842func (OfpDeviceConnection) Descriptor() protoreflect.EnumDescriptor {
843 return file_voltha_protos_openflow_13_proto_enumTypes[11].Descriptor()
844}
845
846func (OfpDeviceConnection) Type() protoreflect.EnumType {
847 return &file_voltha_protos_openflow_13_proto_enumTypes[11]
848}
849
850func (x OfpDeviceConnection) Number() protoreflect.EnumNumber {
851 return protoreflect.EnumNumber(x)
852}
853
854// Deprecated: Use OfpDeviceConnection.Descriptor instead.
Andrea Campanellab14af632021-11-18 11:00:47 -0800855func (OfpDeviceConnection) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000856 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{11}
Andrea Campanellab14af632021-11-18 11:00:47 -0800857}
858
William Kurkian1b363f42019-03-12 15:28:12 -0400859// The match type indicates the match structure (set of fields that compose the
860// match) in use. The match type is placed in the type field at the beginning
861// of all match structures. The "OpenFlow Extensible Match" type corresponds
862// to OXM TLV format described below and must be supported by all OpenFlow
863// switches. Extensions that define other match types may be published on the
864// ONF wiki. Support for extensions is optional.
865type OfpMatchType int32
866
867const (
Abhay Kumar03713392025-12-30 05:20:58 +0000868 OfpMatchType_OFPMT_STANDARD OfpMatchType = 0 // Deprecated.
869 OfpMatchType_OFPMT_OXM OfpMatchType = 1 // OpenFlow Extensible Match
William Kurkian1b363f42019-03-12 15:28:12 -0400870)
871
Abhay Kumar03713392025-12-30 05:20:58 +0000872// Enum value maps for OfpMatchType.
873var (
874 OfpMatchType_name = map[int32]string{
875 0: "OFPMT_STANDARD",
876 1: "OFPMT_OXM",
877 }
878 OfpMatchType_value = map[string]int32{
879 "OFPMT_STANDARD": 0,
880 "OFPMT_OXM": 1,
881 }
882)
William Kurkianad745652019-03-20 08:45:51 -0400883
Abhay Kumar03713392025-12-30 05:20:58 +0000884func (x OfpMatchType) Enum() *OfpMatchType {
885 p := new(OfpMatchType)
886 *p = x
887 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400888}
889
890func (x OfpMatchType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000891 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400892}
William Kurkianad745652019-03-20 08:45:51 -0400893
Abhay Kumar03713392025-12-30 05:20:58 +0000894func (OfpMatchType) Descriptor() protoreflect.EnumDescriptor {
895 return file_voltha_protos_openflow_13_proto_enumTypes[12].Descriptor()
896}
897
898func (OfpMatchType) Type() protoreflect.EnumType {
899 return &file_voltha_protos_openflow_13_proto_enumTypes[12]
900}
901
902func (x OfpMatchType) Number() protoreflect.EnumNumber {
903 return protoreflect.EnumNumber(x)
904}
905
906// Deprecated: Use OfpMatchType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400907func (OfpMatchType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000908 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{12}
William Kurkian1b363f42019-03-12 15:28:12 -0400909}
910
911// OXM Class IDs.
912// The high order bit differentiate reserved classes from member classes.
913// Classes 0x0000 to 0x7FFF are member classes, allocated by ONF.
914// Classes 0x8000 to 0xFFFE are reserved classes, reserved for standardisation.
915type OfpOxmClass int32
916
917const (
Abhay Kumar03713392025-12-30 05:20:58 +0000918 OfpOxmClass_OFPXMC_NXM_0 OfpOxmClass = 0 // Backward compatibility with NXM
919 OfpOxmClass_OFPXMC_NXM_1 OfpOxmClass = 1 // Backward compatibility with NXM
920 OfpOxmClass_OFPXMC_OPENFLOW_BASIC OfpOxmClass = 32768 // Basic class for OpenFlow
921 OfpOxmClass_OFPXMC_EXPERIMENTER OfpOxmClass = 65535 // Experimenter class
William Kurkian1b363f42019-03-12 15:28:12 -0400922)
923
Abhay Kumar03713392025-12-30 05:20:58 +0000924// Enum value maps for OfpOxmClass.
925var (
926 OfpOxmClass_name = map[int32]string{
927 0: "OFPXMC_NXM_0",
928 1: "OFPXMC_NXM_1",
929 32768: "OFPXMC_OPENFLOW_BASIC",
930 65535: "OFPXMC_EXPERIMENTER",
931 }
932 OfpOxmClass_value = map[string]int32{
933 "OFPXMC_NXM_0": 0,
934 "OFPXMC_NXM_1": 1,
935 "OFPXMC_OPENFLOW_BASIC": 32768,
936 "OFPXMC_EXPERIMENTER": 65535,
937 }
938)
William Kurkianad745652019-03-20 08:45:51 -0400939
Abhay Kumar03713392025-12-30 05:20:58 +0000940func (x OfpOxmClass) Enum() *OfpOxmClass {
941 p := new(OfpOxmClass)
942 *p = x
943 return p
William Kurkian1b363f42019-03-12 15:28:12 -0400944}
945
946func (x OfpOxmClass) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +0000947 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -0400948}
William Kurkianad745652019-03-20 08:45:51 -0400949
Abhay Kumar03713392025-12-30 05:20:58 +0000950func (OfpOxmClass) Descriptor() protoreflect.EnumDescriptor {
951 return file_voltha_protos_openflow_13_proto_enumTypes[13].Descriptor()
952}
953
954func (OfpOxmClass) Type() protoreflect.EnumType {
955 return &file_voltha_protos_openflow_13_proto_enumTypes[13]
956}
957
958func (x OfpOxmClass) Number() protoreflect.EnumNumber {
959 return protoreflect.EnumNumber(x)
960}
961
962// Deprecated: Use OfpOxmClass.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -0400963func (OfpOxmClass) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +0000964 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{13}
William Kurkian1b363f42019-03-12 15:28:12 -0400965}
966
967// OXM Flow field types for OpenFlow basic class.
968type OxmOfbFieldTypes int32
969
970const (
Abhay Kumar03713392025-12-30 05:20:58 +0000971 OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT OxmOfbFieldTypes = 0 // Switch input port.
972 OxmOfbFieldTypes_OFPXMT_OFB_IN_PHY_PORT OxmOfbFieldTypes = 1 // Switch physical input port.
973 OxmOfbFieldTypes_OFPXMT_OFB_METADATA OxmOfbFieldTypes = 2 // Metadata passed between tables.
974 OxmOfbFieldTypes_OFPXMT_OFB_ETH_DST OxmOfbFieldTypes = 3 // Ethernet destination address.
975 OxmOfbFieldTypes_OFPXMT_OFB_ETH_SRC OxmOfbFieldTypes = 4 // Ethernet source address.
976 OxmOfbFieldTypes_OFPXMT_OFB_ETH_TYPE OxmOfbFieldTypes = 5 // Ethernet frame type.
977 OxmOfbFieldTypes_OFPXMT_OFB_VLAN_VID OxmOfbFieldTypes = 6 // VLAN id.
978 OxmOfbFieldTypes_OFPXMT_OFB_VLAN_PCP OxmOfbFieldTypes = 7 // VLAN priority.
979 OxmOfbFieldTypes_OFPXMT_OFB_IP_DSCP OxmOfbFieldTypes = 8 // IP DSCP (6 bits in ToS field).
980 OxmOfbFieldTypes_OFPXMT_OFB_IP_ECN OxmOfbFieldTypes = 9 // IP ECN (2 bits in ToS field).
981 OxmOfbFieldTypes_OFPXMT_OFB_IP_PROTO OxmOfbFieldTypes = 10 // IP protocol.
982 OxmOfbFieldTypes_OFPXMT_OFB_IPV4_SRC OxmOfbFieldTypes = 11 // IPv4 source address.
983 OxmOfbFieldTypes_OFPXMT_OFB_IPV4_DST OxmOfbFieldTypes = 12 // IPv4 destination address.
984 OxmOfbFieldTypes_OFPXMT_OFB_TCP_SRC OxmOfbFieldTypes = 13 // TCP source port.
985 OxmOfbFieldTypes_OFPXMT_OFB_TCP_DST OxmOfbFieldTypes = 14 // TCP destination port.
986 OxmOfbFieldTypes_OFPXMT_OFB_UDP_SRC OxmOfbFieldTypes = 15 // UDP source port.
987 OxmOfbFieldTypes_OFPXMT_OFB_UDP_DST OxmOfbFieldTypes = 16 // UDP destination port.
988 OxmOfbFieldTypes_OFPXMT_OFB_SCTP_SRC OxmOfbFieldTypes = 17 // SCTP source port.
989 OxmOfbFieldTypes_OFPXMT_OFB_SCTP_DST OxmOfbFieldTypes = 18 // SCTP destination port.
990 OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_TYPE OxmOfbFieldTypes = 19 // ICMP type.
991 OxmOfbFieldTypes_OFPXMT_OFB_ICMPV4_CODE OxmOfbFieldTypes = 20 // ICMP code.
992 OxmOfbFieldTypes_OFPXMT_OFB_ARP_OP OxmOfbFieldTypes = 21 // ARP opcode.
993 OxmOfbFieldTypes_OFPXMT_OFB_ARP_SPA OxmOfbFieldTypes = 22 // ARP source IPv4 address.
994 OxmOfbFieldTypes_OFPXMT_OFB_ARP_TPA OxmOfbFieldTypes = 23 // ARP target IPv4 address.
995 OxmOfbFieldTypes_OFPXMT_OFB_ARP_SHA OxmOfbFieldTypes = 24 // ARP source hardware address.
996 OxmOfbFieldTypes_OFPXMT_OFB_ARP_THA OxmOfbFieldTypes = 25 // ARP target hardware address.
997 OxmOfbFieldTypes_OFPXMT_OFB_IPV6_SRC OxmOfbFieldTypes = 26 // IPv6 source address.
998 OxmOfbFieldTypes_OFPXMT_OFB_IPV6_DST OxmOfbFieldTypes = 27 // IPv6 destination address.
999 OxmOfbFieldTypes_OFPXMT_OFB_IPV6_FLABEL OxmOfbFieldTypes = 28 // IPv6 Flow Label
1000 OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_TYPE OxmOfbFieldTypes = 29 // ICMPv6 type.
1001 OxmOfbFieldTypes_OFPXMT_OFB_ICMPV6_CODE OxmOfbFieldTypes = 30 // ICMPv6 code.
1002 OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TARGET OxmOfbFieldTypes = 31 // Target address for ND.
1003 OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_SLL OxmOfbFieldTypes = 32 // Source link-layer for ND.
1004 OxmOfbFieldTypes_OFPXMT_OFB_IPV6_ND_TLL OxmOfbFieldTypes = 33 // Target link-layer for ND.
1005 OxmOfbFieldTypes_OFPXMT_OFB_MPLS_LABEL OxmOfbFieldTypes = 34 // MPLS label.
1006 OxmOfbFieldTypes_OFPXMT_OFB_MPLS_TC OxmOfbFieldTypes = 35 // MPLS TC.
1007 OxmOfbFieldTypes_OFPXMT_OFB_MPLS_BOS OxmOfbFieldTypes = 36 // MPLS BoS bit.
1008 OxmOfbFieldTypes_OFPXMT_OFB_PBB_ISID OxmOfbFieldTypes = 37 // PBB I-SID.
1009 OxmOfbFieldTypes_OFPXMT_OFB_TUNNEL_ID OxmOfbFieldTypes = 38 // Logical Port Metadata.
1010 OxmOfbFieldTypes_OFPXMT_OFB_IPV6_EXTHDR OxmOfbFieldTypes = 39 // IPv6 Extension Header pseudo-field
William Kurkian1b363f42019-03-12 15:28:12 -04001011)
1012
Abhay Kumar03713392025-12-30 05:20:58 +00001013// Enum value maps for OxmOfbFieldTypes.
1014var (
1015 OxmOfbFieldTypes_name = map[int32]string{
1016 0: "OFPXMT_OFB_IN_PORT",
1017 1: "OFPXMT_OFB_IN_PHY_PORT",
1018 2: "OFPXMT_OFB_METADATA",
1019 3: "OFPXMT_OFB_ETH_DST",
1020 4: "OFPXMT_OFB_ETH_SRC",
1021 5: "OFPXMT_OFB_ETH_TYPE",
1022 6: "OFPXMT_OFB_VLAN_VID",
1023 7: "OFPXMT_OFB_VLAN_PCP",
1024 8: "OFPXMT_OFB_IP_DSCP",
1025 9: "OFPXMT_OFB_IP_ECN",
1026 10: "OFPXMT_OFB_IP_PROTO",
1027 11: "OFPXMT_OFB_IPV4_SRC",
1028 12: "OFPXMT_OFB_IPV4_DST",
1029 13: "OFPXMT_OFB_TCP_SRC",
1030 14: "OFPXMT_OFB_TCP_DST",
1031 15: "OFPXMT_OFB_UDP_SRC",
1032 16: "OFPXMT_OFB_UDP_DST",
1033 17: "OFPXMT_OFB_SCTP_SRC",
1034 18: "OFPXMT_OFB_SCTP_DST",
1035 19: "OFPXMT_OFB_ICMPV4_TYPE",
1036 20: "OFPXMT_OFB_ICMPV4_CODE",
1037 21: "OFPXMT_OFB_ARP_OP",
1038 22: "OFPXMT_OFB_ARP_SPA",
1039 23: "OFPXMT_OFB_ARP_TPA",
1040 24: "OFPXMT_OFB_ARP_SHA",
1041 25: "OFPXMT_OFB_ARP_THA",
1042 26: "OFPXMT_OFB_IPV6_SRC",
1043 27: "OFPXMT_OFB_IPV6_DST",
1044 28: "OFPXMT_OFB_IPV6_FLABEL",
1045 29: "OFPXMT_OFB_ICMPV6_TYPE",
1046 30: "OFPXMT_OFB_ICMPV6_CODE",
1047 31: "OFPXMT_OFB_IPV6_ND_TARGET",
1048 32: "OFPXMT_OFB_IPV6_ND_SLL",
1049 33: "OFPXMT_OFB_IPV6_ND_TLL",
1050 34: "OFPXMT_OFB_MPLS_LABEL",
1051 35: "OFPXMT_OFB_MPLS_TC",
1052 36: "OFPXMT_OFB_MPLS_BOS",
1053 37: "OFPXMT_OFB_PBB_ISID",
1054 38: "OFPXMT_OFB_TUNNEL_ID",
1055 39: "OFPXMT_OFB_IPV6_EXTHDR",
1056 }
1057 OxmOfbFieldTypes_value = map[string]int32{
1058 "OFPXMT_OFB_IN_PORT": 0,
1059 "OFPXMT_OFB_IN_PHY_PORT": 1,
1060 "OFPXMT_OFB_METADATA": 2,
1061 "OFPXMT_OFB_ETH_DST": 3,
1062 "OFPXMT_OFB_ETH_SRC": 4,
1063 "OFPXMT_OFB_ETH_TYPE": 5,
1064 "OFPXMT_OFB_VLAN_VID": 6,
1065 "OFPXMT_OFB_VLAN_PCP": 7,
1066 "OFPXMT_OFB_IP_DSCP": 8,
1067 "OFPXMT_OFB_IP_ECN": 9,
1068 "OFPXMT_OFB_IP_PROTO": 10,
1069 "OFPXMT_OFB_IPV4_SRC": 11,
1070 "OFPXMT_OFB_IPV4_DST": 12,
1071 "OFPXMT_OFB_TCP_SRC": 13,
1072 "OFPXMT_OFB_TCP_DST": 14,
1073 "OFPXMT_OFB_UDP_SRC": 15,
1074 "OFPXMT_OFB_UDP_DST": 16,
1075 "OFPXMT_OFB_SCTP_SRC": 17,
1076 "OFPXMT_OFB_SCTP_DST": 18,
1077 "OFPXMT_OFB_ICMPV4_TYPE": 19,
1078 "OFPXMT_OFB_ICMPV4_CODE": 20,
1079 "OFPXMT_OFB_ARP_OP": 21,
1080 "OFPXMT_OFB_ARP_SPA": 22,
1081 "OFPXMT_OFB_ARP_TPA": 23,
1082 "OFPXMT_OFB_ARP_SHA": 24,
1083 "OFPXMT_OFB_ARP_THA": 25,
1084 "OFPXMT_OFB_IPV6_SRC": 26,
1085 "OFPXMT_OFB_IPV6_DST": 27,
1086 "OFPXMT_OFB_IPV6_FLABEL": 28,
1087 "OFPXMT_OFB_ICMPV6_TYPE": 29,
1088 "OFPXMT_OFB_ICMPV6_CODE": 30,
1089 "OFPXMT_OFB_IPV6_ND_TARGET": 31,
1090 "OFPXMT_OFB_IPV6_ND_SLL": 32,
1091 "OFPXMT_OFB_IPV6_ND_TLL": 33,
1092 "OFPXMT_OFB_MPLS_LABEL": 34,
1093 "OFPXMT_OFB_MPLS_TC": 35,
1094 "OFPXMT_OFB_MPLS_BOS": 36,
1095 "OFPXMT_OFB_PBB_ISID": 37,
1096 "OFPXMT_OFB_TUNNEL_ID": 38,
1097 "OFPXMT_OFB_IPV6_EXTHDR": 39,
1098 }
1099)
William Kurkianad745652019-03-20 08:45:51 -04001100
Abhay Kumar03713392025-12-30 05:20:58 +00001101func (x OxmOfbFieldTypes) Enum() *OxmOfbFieldTypes {
1102 p := new(OxmOfbFieldTypes)
1103 *p = x
1104 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001105}
1106
1107func (x OxmOfbFieldTypes) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001108 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001109}
William Kurkianad745652019-03-20 08:45:51 -04001110
Abhay Kumar03713392025-12-30 05:20:58 +00001111func (OxmOfbFieldTypes) Descriptor() protoreflect.EnumDescriptor {
1112 return file_voltha_protos_openflow_13_proto_enumTypes[14].Descriptor()
1113}
1114
1115func (OxmOfbFieldTypes) Type() protoreflect.EnumType {
1116 return &file_voltha_protos_openflow_13_proto_enumTypes[14]
1117}
1118
1119func (x OxmOfbFieldTypes) Number() protoreflect.EnumNumber {
1120 return protoreflect.EnumNumber(x)
1121}
1122
1123// Deprecated: Use OxmOfbFieldTypes.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001124func (OxmOfbFieldTypes) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001125 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{14}
William Kurkian1b363f42019-03-12 15:28:12 -04001126}
1127
1128// The VLAN id is 12-bits, so we can use the entire 16 bits to indicate
1129// special conditions.
1130type OfpVlanId int32
1131
1132const (
Abhay Kumar03713392025-12-30 05:20:58 +00001133 OfpVlanId_OFPVID_NONE OfpVlanId = 0 // No VLAN id was set.
1134 OfpVlanId_OFPVID_PRESENT OfpVlanId = 4096 // Bit that indicate that a VLAN id is set
William Kurkian1b363f42019-03-12 15:28:12 -04001135)
1136
Abhay Kumar03713392025-12-30 05:20:58 +00001137// Enum value maps for OfpVlanId.
1138var (
1139 OfpVlanId_name = map[int32]string{
1140 0: "OFPVID_NONE",
1141 4096: "OFPVID_PRESENT",
1142 }
1143 OfpVlanId_value = map[string]int32{
1144 "OFPVID_NONE": 0,
1145 "OFPVID_PRESENT": 4096,
1146 }
1147)
William Kurkianad745652019-03-20 08:45:51 -04001148
Abhay Kumar03713392025-12-30 05:20:58 +00001149func (x OfpVlanId) Enum() *OfpVlanId {
1150 p := new(OfpVlanId)
1151 *p = x
1152 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001153}
1154
1155func (x OfpVlanId) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001156 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001157}
William Kurkianad745652019-03-20 08:45:51 -04001158
Abhay Kumar03713392025-12-30 05:20:58 +00001159func (OfpVlanId) Descriptor() protoreflect.EnumDescriptor {
1160 return file_voltha_protos_openflow_13_proto_enumTypes[15].Descriptor()
1161}
1162
1163func (OfpVlanId) Type() protoreflect.EnumType {
1164 return &file_voltha_protos_openflow_13_proto_enumTypes[15]
1165}
1166
1167func (x OfpVlanId) Number() protoreflect.EnumNumber {
1168 return protoreflect.EnumNumber(x)
1169}
1170
1171// Deprecated: Use OfpVlanId.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001172func (OfpVlanId) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001173 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{15}
William Kurkian1b363f42019-03-12 15:28:12 -04001174}
1175
1176// Bit definitions for IPv6 Extension Header pseudo-field.
1177type OfpIpv6ExthdrFlags int32
1178
1179const (
1180 OfpIpv6ExthdrFlags_OFPIEH_INVALID OfpIpv6ExthdrFlags = 0
Abhay Kumar03713392025-12-30 05:20:58 +00001181 OfpIpv6ExthdrFlags_OFPIEH_NONEXT OfpIpv6ExthdrFlags = 1 // "No next header" encountered.
1182 OfpIpv6ExthdrFlags_OFPIEH_ESP OfpIpv6ExthdrFlags = 2 // Encrypted Sec Payload header present.
1183 OfpIpv6ExthdrFlags_OFPIEH_AUTH OfpIpv6ExthdrFlags = 4 // Authentication header present.
1184 OfpIpv6ExthdrFlags_OFPIEH_DEST OfpIpv6ExthdrFlags = 8 // 1 or 2 dest headers present.
1185 OfpIpv6ExthdrFlags_OFPIEH_FRAG OfpIpv6ExthdrFlags = 16 // Fragment header present.
1186 OfpIpv6ExthdrFlags_OFPIEH_ROUTER OfpIpv6ExthdrFlags = 32 // Router header present.
1187 OfpIpv6ExthdrFlags_OFPIEH_HOP OfpIpv6ExthdrFlags = 64 // Hop-by-hop header present.
1188 OfpIpv6ExthdrFlags_OFPIEH_UNREP OfpIpv6ExthdrFlags = 128 // Unexpected repeats encountered.
1189 OfpIpv6ExthdrFlags_OFPIEH_UNSEQ OfpIpv6ExthdrFlags = 256 // Unexpected sequencing encountered.
William Kurkian1b363f42019-03-12 15:28:12 -04001190)
1191
Abhay Kumar03713392025-12-30 05:20:58 +00001192// Enum value maps for OfpIpv6ExthdrFlags.
1193var (
1194 OfpIpv6ExthdrFlags_name = map[int32]string{
1195 0: "OFPIEH_INVALID",
1196 1: "OFPIEH_NONEXT",
1197 2: "OFPIEH_ESP",
1198 4: "OFPIEH_AUTH",
1199 8: "OFPIEH_DEST",
1200 16: "OFPIEH_FRAG",
1201 32: "OFPIEH_ROUTER",
1202 64: "OFPIEH_HOP",
1203 128: "OFPIEH_UNREP",
1204 256: "OFPIEH_UNSEQ",
1205 }
1206 OfpIpv6ExthdrFlags_value = map[string]int32{
1207 "OFPIEH_INVALID": 0,
1208 "OFPIEH_NONEXT": 1,
1209 "OFPIEH_ESP": 2,
1210 "OFPIEH_AUTH": 4,
1211 "OFPIEH_DEST": 8,
1212 "OFPIEH_FRAG": 16,
1213 "OFPIEH_ROUTER": 32,
1214 "OFPIEH_HOP": 64,
1215 "OFPIEH_UNREP": 128,
1216 "OFPIEH_UNSEQ": 256,
1217 }
1218)
William Kurkianad745652019-03-20 08:45:51 -04001219
Abhay Kumar03713392025-12-30 05:20:58 +00001220func (x OfpIpv6ExthdrFlags) Enum() *OfpIpv6ExthdrFlags {
1221 p := new(OfpIpv6ExthdrFlags)
1222 *p = x
1223 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001224}
1225
1226func (x OfpIpv6ExthdrFlags) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001227 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001228}
William Kurkianad745652019-03-20 08:45:51 -04001229
Abhay Kumar03713392025-12-30 05:20:58 +00001230func (OfpIpv6ExthdrFlags) Descriptor() protoreflect.EnumDescriptor {
1231 return file_voltha_protos_openflow_13_proto_enumTypes[16].Descriptor()
1232}
1233
1234func (OfpIpv6ExthdrFlags) Type() protoreflect.EnumType {
1235 return &file_voltha_protos_openflow_13_proto_enumTypes[16]
1236}
1237
1238func (x OfpIpv6ExthdrFlags) Number() protoreflect.EnumNumber {
1239 return protoreflect.EnumNumber(x)
1240}
1241
1242// Deprecated: Use OfpIpv6ExthdrFlags.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001243func (OfpIpv6ExthdrFlags) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001244 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{16}
William Kurkian1b363f42019-03-12 15:28:12 -04001245}
1246
1247type OfpActionType int32
1248
1249const (
Abhay Kumar03713392025-12-30 05:20:58 +00001250 OfpActionType_OFPAT_OUTPUT OfpActionType = 0 // Output to switch port.
William Kurkian1b363f42019-03-12 15:28:12 -04001251 OfpActionType_OFPAT_COPY_TTL_OUT OfpActionType = 11
1252 OfpActionType_OFPAT_COPY_TTL_IN OfpActionType = 12
Abhay Kumar03713392025-12-30 05:20:58 +00001253 OfpActionType_OFPAT_SET_MPLS_TTL OfpActionType = 15 // MPLS TTL
1254 OfpActionType_OFPAT_DEC_MPLS_TTL OfpActionType = 16 // Decrement MPLS TTL
1255 OfpActionType_OFPAT_PUSH_VLAN OfpActionType = 17 // Push a new VLAN tag
1256 OfpActionType_OFPAT_POP_VLAN OfpActionType = 18 // Pop the outer VLAN tag
1257 OfpActionType_OFPAT_PUSH_MPLS OfpActionType = 19 // Push a new MPLS tag
1258 OfpActionType_OFPAT_POP_MPLS OfpActionType = 20 // Pop the outer MPLS tag
1259 OfpActionType_OFPAT_SET_QUEUE OfpActionType = 21 // Set queue id when outputting to a port
1260 OfpActionType_OFPAT_GROUP OfpActionType = 22 // Apply group.
1261 OfpActionType_OFPAT_SET_NW_TTL OfpActionType = 23 // IP TTL.
1262 OfpActionType_OFPAT_DEC_NW_TTL OfpActionType = 24 // Decrement IP TTL.
1263 OfpActionType_OFPAT_SET_FIELD OfpActionType = 25 // Set a header field using OXM TLV format.
1264 OfpActionType_OFPAT_PUSH_PBB OfpActionType = 26 // Push a new PBB service tag (I-TAG)
1265 OfpActionType_OFPAT_POP_PBB OfpActionType = 27 // Pop the outer PBB service tag (I-TAG)
William Kurkian1b363f42019-03-12 15:28:12 -04001266 OfpActionType_OFPAT_EXPERIMENTER OfpActionType = 65535
1267)
1268
Abhay Kumar03713392025-12-30 05:20:58 +00001269// Enum value maps for OfpActionType.
1270var (
1271 OfpActionType_name = map[int32]string{
1272 0: "OFPAT_OUTPUT",
1273 11: "OFPAT_COPY_TTL_OUT",
1274 12: "OFPAT_COPY_TTL_IN",
1275 15: "OFPAT_SET_MPLS_TTL",
1276 16: "OFPAT_DEC_MPLS_TTL",
1277 17: "OFPAT_PUSH_VLAN",
1278 18: "OFPAT_POP_VLAN",
1279 19: "OFPAT_PUSH_MPLS",
1280 20: "OFPAT_POP_MPLS",
1281 21: "OFPAT_SET_QUEUE",
1282 22: "OFPAT_GROUP",
1283 23: "OFPAT_SET_NW_TTL",
1284 24: "OFPAT_DEC_NW_TTL",
1285 25: "OFPAT_SET_FIELD",
1286 26: "OFPAT_PUSH_PBB",
1287 27: "OFPAT_POP_PBB",
1288 65535: "OFPAT_EXPERIMENTER",
1289 }
1290 OfpActionType_value = map[string]int32{
1291 "OFPAT_OUTPUT": 0,
1292 "OFPAT_COPY_TTL_OUT": 11,
1293 "OFPAT_COPY_TTL_IN": 12,
1294 "OFPAT_SET_MPLS_TTL": 15,
1295 "OFPAT_DEC_MPLS_TTL": 16,
1296 "OFPAT_PUSH_VLAN": 17,
1297 "OFPAT_POP_VLAN": 18,
1298 "OFPAT_PUSH_MPLS": 19,
1299 "OFPAT_POP_MPLS": 20,
1300 "OFPAT_SET_QUEUE": 21,
1301 "OFPAT_GROUP": 22,
1302 "OFPAT_SET_NW_TTL": 23,
1303 "OFPAT_DEC_NW_TTL": 24,
1304 "OFPAT_SET_FIELD": 25,
1305 "OFPAT_PUSH_PBB": 26,
1306 "OFPAT_POP_PBB": 27,
1307 "OFPAT_EXPERIMENTER": 65535,
1308 }
1309)
William Kurkianad745652019-03-20 08:45:51 -04001310
Abhay Kumar03713392025-12-30 05:20:58 +00001311func (x OfpActionType) Enum() *OfpActionType {
1312 p := new(OfpActionType)
1313 *p = x
1314 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001315}
1316
1317func (x OfpActionType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001318 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001319}
William Kurkianad745652019-03-20 08:45:51 -04001320
Abhay Kumar03713392025-12-30 05:20:58 +00001321func (OfpActionType) Descriptor() protoreflect.EnumDescriptor {
1322 return file_voltha_protos_openflow_13_proto_enumTypes[17].Descriptor()
1323}
1324
1325func (OfpActionType) Type() protoreflect.EnumType {
1326 return &file_voltha_protos_openflow_13_proto_enumTypes[17]
1327}
1328
1329func (x OfpActionType) Number() protoreflect.EnumNumber {
1330 return protoreflect.EnumNumber(x)
1331}
1332
1333// Deprecated: Use OfpActionType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001334func (OfpActionType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001335 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{17}
William Kurkian1b363f42019-03-12 15:28:12 -04001336}
1337
1338type OfpControllerMaxLen int32
1339
1340const (
1341 OfpControllerMaxLen_OFPCML_INVALID OfpControllerMaxLen = 0
1342 OfpControllerMaxLen_OFPCML_MAX OfpControllerMaxLen = 65509
1343 OfpControllerMaxLen_OFPCML_NO_BUFFER OfpControllerMaxLen = 65535
1344)
1345
Abhay Kumar03713392025-12-30 05:20:58 +00001346// Enum value maps for OfpControllerMaxLen.
1347var (
1348 OfpControllerMaxLen_name = map[int32]string{
1349 0: "OFPCML_INVALID",
1350 65509: "OFPCML_MAX",
1351 65535: "OFPCML_NO_BUFFER",
1352 }
1353 OfpControllerMaxLen_value = map[string]int32{
1354 "OFPCML_INVALID": 0,
1355 "OFPCML_MAX": 65509,
1356 "OFPCML_NO_BUFFER": 65535,
1357 }
1358)
William Kurkianad745652019-03-20 08:45:51 -04001359
Abhay Kumar03713392025-12-30 05:20:58 +00001360func (x OfpControllerMaxLen) Enum() *OfpControllerMaxLen {
1361 p := new(OfpControllerMaxLen)
1362 *p = x
1363 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001364}
1365
1366func (x OfpControllerMaxLen) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001367 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001368}
William Kurkianad745652019-03-20 08:45:51 -04001369
Abhay Kumar03713392025-12-30 05:20:58 +00001370func (OfpControllerMaxLen) Descriptor() protoreflect.EnumDescriptor {
1371 return file_voltha_protos_openflow_13_proto_enumTypes[18].Descriptor()
1372}
1373
1374func (OfpControllerMaxLen) Type() protoreflect.EnumType {
1375 return &file_voltha_protos_openflow_13_proto_enumTypes[18]
1376}
1377
1378func (x OfpControllerMaxLen) Number() protoreflect.EnumNumber {
1379 return protoreflect.EnumNumber(x)
1380}
1381
1382// Deprecated: Use OfpControllerMaxLen.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001383func (OfpControllerMaxLen) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001384 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{18}
William Kurkian1b363f42019-03-12 15:28:12 -04001385}
1386
1387type OfpInstructionType int32
1388
1389const (
1390 OfpInstructionType_OFPIT_INVALID OfpInstructionType = 0
1391 OfpInstructionType_OFPIT_GOTO_TABLE OfpInstructionType = 1
1392 OfpInstructionType_OFPIT_WRITE_METADATA OfpInstructionType = 2
1393 OfpInstructionType_OFPIT_WRITE_ACTIONS OfpInstructionType = 3
Abhay Kumar03713392025-12-30 05:20:58 +00001394 OfpInstructionType_OFPIT_APPLY_ACTIONS OfpInstructionType = 4 // Applies the action(s) immediately
William Kurkian1b363f42019-03-12 15:28:12 -04001395 OfpInstructionType_OFPIT_CLEAR_ACTIONS OfpInstructionType = 5
Abhay Kumar03713392025-12-30 05:20:58 +00001396 OfpInstructionType_OFPIT_METER OfpInstructionType = 6 // Apply meter (rate limiter)
1397 OfpInstructionType_OFPIT_EXPERIMENTER OfpInstructionType = 65535 // Experimenter instruction
William Kurkian1b363f42019-03-12 15:28:12 -04001398)
1399
Abhay Kumar03713392025-12-30 05:20:58 +00001400// Enum value maps for OfpInstructionType.
1401var (
1402 OfpInstructionType_name = map[int32]string{
1403 0: "OFPIT_INVALID",
1404 1: "OFPIT_GOTO_TABLE",
1405 2: "OFPIT_WRITE_METADATA",
1406 3: "OFPIT_WRITE_ACTIONS",
1407 4: "OFPIT_APPLY_ACTIONS",
1408 5: "OFPIT_CLEAR_ACTIONS",
1409 6: "OFPIT_METER",
1410 65535: "OFPIT_EXPERIMENTER",
1411 }
1412 OfpInstructionType_value = map[string]int32{
1413 "OFPIT_INVALID": 0,
1414 "OFPIT_GOTO_TABLE": 1,
1415 "OFPIT_WRITE_METADATA": 2,
1416 "OFPIT_WRITE_ACTIONS": 3,
1417 "OFPIT_APPLY_ACTIONS": 4,
1418 "OFPIT_CLEAR_ACTIONS": 5,
1419 "OFPIT_METER": 6,
1420 "OFPIT_EXPERIMENTER": 65535,
1421 }
1422)
William Kurkianad745652019-03-20 08:45:51 -04001423
Abhay Kumar03713392025-12-30 05:20:58 +00001424func (x OfpInstructionType) Enum() *OfpInstructionType {
1425 p := new(OfpInstructionType)
1426 *p = x
1427 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001428}
1429
1430func (x OfpInstructionType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001431 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001432}
William Kurkianad745652019-03-20 08:45:51 -04001433
Abhay Kumar03713392025-12-30 05:20:58 +00001434func (OfpInstructionType) Descriptor() protoreflect.EnumDescriptor {
1435 return file_voltha_protos_openflow_13_proto_enumTypes[19].Descriptor()
1436}
1437
1438func (OfpInstructionType) Type() protoreflect.EnumType {
1439 return &file_voltha_protos_openflow_13_proto_enumTypes[19]
1440}
1441
1442func (x OfpInstructionType) Number() protoreflect.EnumNumber {
1443 return protoreflect.EnumNumber(x)
1444}
1445
1446// Deprecated: Use OfpInstructionType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001447func (OfpInstructionType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001448 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{19}
William Kurkian1b363f42019-03-12 15:28:12 -04001449}
1450
1451type OfpFlowModCommand int32
1452
1453const (
Abhay Kumar03713392025-12-30 05:20:58 +00001454 OfpFlowModCommand_OFPFC_ADD OfpFlowModCommand = 0 // New flow.
1455 OfpFlowModCommand_OFPFC_MODIFY OfpFlowModCommand = 1 // Modify all matching flows.
William Kurkian1b363f42019-03-12 15:28:12 -04001456 OfpFlowModCommand_OFPFC_MODIFY_STRICT OfpFlowModCommand = 2
Abhay Kumar03713392025-12-30 05:20:58 +00001457 OfpFlowModCommand_OFPFC_DELETE OfpFlowModCommand = 3 // Delete all matching flows.
William Kurkian1b363f42019-03-12 15:28:12 -04001458 OfpFlowModCommand_OFPFC_DELETE_STRICT OfpFlowModCommand = 4
1459)
1460
Abhay Kumar03713392025-12-30 05:20:58 +00001461// Enum value maps for OfpFlowModCommand.
1462var (
1463 OfpFlowModCommand_name = map[int32]string{
1464 0: "OFPFC_ADD",
1465 1: "OFPFC_MODIFY",
1466 2: "OFPFC_MODIFY_STRICT",
1467 3: "OFPFC_DELETE",
1468 4: "OFPFC_DELETE_STRICT",
1469 }
1470 OfpFlowModCommand_value = map[string]int32{
1471 "OFPFC_ADD": 0,
1472 "OFPFC_MODIFY": 1,
1473 "OFPFC_MODIFY_STRICT": 2,
1474 "OFPFC_DELETE": 3,
1475 "OFPFC_DELETE_STRICT": 4,
1476 }
1477)
William Kurkianad745652019-03-20 08:45:51 -04001478
Abhay Kumar03713392025-12-30 05:20:58 +00001479func (x OfpFlowModCommand) Enum() *OfpFlowModCommand {
1480 p := new(OfpFlowModCommand)
1481 *p = x
1482 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001483}
1484
1485func (x OfpFlowModCommand) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001486 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001487}
William Kurkianad745652019-03-20 08:45:51 -04001488
Abhay Kumar03713392025-12-30 05:20:58 +00001489func (OfpFlowModCommand) Descriptor() protoreflect.EnumDescriptor {
1490 return file_voltha_protos_openflow_13_proto_enumTypes[20].Descriptor()
1491}
1492
1493func (OfpFlowModCommand) Type() protoreflect.EnumType {
1494 return &file_voltha_protos_openflow_13_proto_enumTypes[20]
1495}
1496
1497func (x OfpFlowModCommand) Number() protoreflect.EnumNumber {
1498 return protoreflect.EnumNumber(x)
1499}
1500
1501// Deprecated: Use OfpFlowModCommand.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001502func (OfpFlowModCommand) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001503 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{20}
William Kurkian1b363f42019-03-12 15:28:12 -04001504}
1505
1506type OfpFlowModFlags int32
1507
1508const (
1509 OfpFlowModFlags_OFPFF_INVALID OfpFlowModFlags = 0
1510 OfpFlowModFlags_OFPFF_SEND_FLOW_REM OfpFlowModFlags = 1
Abhay Kumar03713392025-12-30 05:20:58 +00001511 OfpFlowModFlags_OFPFF_CHECK_OVERLAP OfpFlowModFlags = 2 // Check for overlapping entries first.
1512 OfpFlowModFlags_OFPFF_RESET_COUNTS OfpFlowModFlags = 4 // Reset flow packet and byte counts.
1513 OfpFlowModFlags_OFPFF_NO_PKT_COUNTS OfpFlowModFlags = 8 // Don't keep track of packet count.
1514 OfpFlowModFlags_OFPFF_NO_BYT_COUNTS OfpFlowModFlags = 16 // Don't keep track of byte count.
William Kurkian1b363f42019-03-12 15:28:12 -04001515)
1516
Abhay Kumar03713392025-12-30 05:20:58 +00001517// Enum value maps for OfpFlowModFlags.
1518var (
1519 OfpFlowModFlags_name = map[int32]string{
1520 0: "OFPFF_INVALID",
1521 1: "OFPFF_SEND_FLOW_REM",
1522 2: "OFPFF_CHECK_OVERLAP",
1523 4: "OFPFF_RESET_COUNTS",
1524 8: "OFPFF_NO_PKT_COUNTS",
1525 16: "OFPFF_NO_BYT_COUNTS",
1526 }
1527 OfpFlowModFlags_value = map[string]int32{
1528 "OFPFF_INVALID": 0,
1529 "OFPFF_SEND_FLOW_REM": 1,
1530 "OFPFF_CHECK_OVERLAP": 2,
1531 "OFPFF_RESET_COUNTS": 4,
1532 "OFPFF_NO_PKT_COUNTS": 8,
1533 "OFPFF_NO_BYT_COUNTS": 16,
1534 }
1535)
William Kurkianad745652019-03-20 08:45:51 -04001536
Abhay Kumar03713392025-12-30 05:20:58 +00001537func (x OfpFlowModFlags) Enum() *OfpFlowModFlags {
1538 p := new(OfpFlowModFlags)
1539 *p = x
1540 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001541}
1542
1543func (x OfpFlowModFlags) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001544 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001545}
William Kurkianad745652019-03-20 08:45:51 -04001546
Abhay Kumar03713392025-12-30 05:20:58 +00001547func (OfpFlowModFlags) Descriptor() protoreflect.EnumDescriptor {
1548 return file_voltha_protos_openflow_13_proto_enumTypes[21].Descriptor()
1549}
1550
1551func (OfpFlowModFlags) Type() protoreflect.EnumType {
1552 return &file_voltha_protos_openflow_13_proto_enumTypes[21]
1553}
1554
1555func (x OfpFlowModFlags) Number() protoreflect.EnumNumber {
1556 return protoreflect.EnumNumber(x)
1557}
1558
1559// Deprecated: Use OfpFlowModFlags.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001560func (OfpFlowModFlags) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001561 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{21}
William Kurkian1b363f42019-03-12 15:28:12 -04001562}
1563
1564// Group numbering. Groups can use any number up to OFPG_MAX.
1565type OfpGroup int32
1566
1567const (
1568 OfpGroup_OFPG_INVALID OfpGroup = 0
1569 // Last usable group number.
1570 OfpGroup_OFPG_MAX OfpGroup = 2147483392
1571 // Fake groups.
1572 OfpGroup_OFPG_ALL OfpGroup = 2147483644
Abhay Kumar03713392025-12-30 05:20:58 +00001573 OfpGroup_OFPG_ANY OfpGroup = 2147483647 // Special wildcard: no group specified.
William Kurkian1b363f42019-03-12 15:28:12 -04001574)
1575
Abhay Kumar03713392025-12-30 05:20:58 +00001576// Enum value maps for OfpGroup.
1577var (
1578 OfpGroup_name = map[int32]string{
1579 0: "OFPG_INVALID",
1580 2147483392: "OFPG_MAX",
1581 2147483644: "OFPG_ALL",
1582 2147483647: "OFPG_ANY",
1583 }
1584 OfpGroup_value = map[string]int32{
1585 "OFPG_INVALID": 0,
1586 "OFPG_MAX": 2147483392,
1587 "OFPG_ALL": 2147483644,
1588 "OFPG_ANY": 2147483647,
1589 }
1590)
William Kurkianad745652019-03-20 08:45:51 -04001591
Abhay Kumar03713392025-12-30 05:20:58 +00001592func (x OfpGroup) Enum() *OfpGroup {
1593 p := new(OfpGroup)
1594 *p = x
1595 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001596}
1597
1598func (x OfpGroup) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001599 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001600}
William Kurkianad745652019-03-20 08:45:51 -04001601
Abhay Kumar03713392025-12-30 05:20:58 +00001602func (OfpGroup) Descriptor() protoreflect.EnumDescriptor {
1603 return file_voltha_protos_openflow_13_proto_enumTypes[22].Descriptor()
1604}
1605
1606func (OfpGroup) Type() protoreflect.EnumType {
1607 return &file_voltha_protos_openflow_13_proto_enumTypes[22]
1608}
1609
1610func (x OfpGroup) Number() protoreflect.EnumNumber {
1611 return protoreflect.EnumNumber(x)
1612}
1613
1614// Deprecated: Use OfpGroup.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001615func (OfpGroup) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001616 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{22}
William Kurkian1b363f42019-03-12 15:28:12 -04001617}
1618
1619// Group commands
1620type OfpGroupModCommand int32
1621
1622const (
Abhay Kumar03713392025-12-30 05:20:58 +00001623 OfpGroupModCommand_OFPGC_ADD OfpGroupModCommand = 0 // New group.
1624 OfpGroupModCommand_OFPGC_MODIFY OfpGroupModCommand = 1 // Modify all matching groups.
1625 OfpGroupModCommand_OFPGC_DELETE OfpGroupModCommand = 2 // Delete all matching groups.
William Kurkian1b363f42019-03-12 15:28:12 -04001626)
1627
Abhay Kumar03713392025-12-30 05:20:58 +00001628// Enum value maps for OfpGroupModCommand.
1629var (
1630 OfpGroupModCommand_name = map[int32]string{
1631 0: "OFPGC_ADD",
1632 1: "OFPGC_MODIFY",
1633 2: "OFPGC_DELETE",
1634 }
1635 OfpGroupModCommand_value = map[string]int32{
1636 "OFPGC_ADD": 0,
1637 "OFPGC_MODIFY": 1,
1638 "OFPGC_DELETE": 2,
1639 }
1640)
William Kurkianad745652019-03-20 08:45:51 -04001641
Abhay Kumar03713392025-12-30 05:20:58 +00001642func (x OfpGroupModCommand) Enum() *OfpGroupModCommand {
1643 p := new(OfpGroupModCommand)
1644 *p = x
1645 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001646}
1647
1648func (x OfpGroupModCommand) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001649 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001650}
William Kurkianad745652019-03-20 08:45:51 -04001651
Abhay Kumar03713392025-12-30 05:20:58 +00001652func (OfpGroupModCommand) Descriptor() protoreflect.EnumDescriptor {
1653 return file_voltha_protos_openflow_13_proto_enumTypes[23].Descriptor()
1654}
1655
1656func (OfpGroupModCommand) Type() protoreflect.EnumType {
1657 return &file_voltha_protos_openflow_13_proto_enumTypes[23]
1658}
1659
1660func (x OfpGroupModCommand) Number() protoreflect.EnumNumber {
1661 return protoreflect.EnumNumber(x)
1662}
1663
1664// Deprecated: Use OfpGroupModCommand.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001665func (OfpGroupModCommand) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001666 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{23}
William Kurkian1b363f42019-03-12 15:28:12 -04001667}
1668
1669// Group types. Values in the range [128; 255] are reserved for experimental
1670// use.
1671type OfpGroupType int32
1672
1673const (
Abhay Kumar03713392025-12-30 05:20:58 +00001674 OfpGroupType_OFPGT_ALL OfpGroupType = 0 // All (multicast/broadcast) group.
1675 OfpGroupType_OFPGT_SELECT OfpGroupType = 1 // Select group.
1676 OfpGroupType_OFPGT_INDIRECT OfpGroupType = 2 // Indirect group.
1677 OfpGroupType_OFPGT_FF OfpGroupType = 3 // Fast failover group.
William Kurkian1b363f42019-03-12 15:28:12 -04001678)
1679
Abhay Kumar03713392025-12-30 05:20:58 +00001680// Enum value maps for OfpGroupType.
1681var (
1682 OfpGroupType_name = map[int32]string{
1683 0: "OFPGT_ALL",
1684 1: "OFPGT_SELECT",
1685 2: "OFPGT_INDIRECT",
1686 3: "OFPGT_FF",
1687 }
1688 OfpGroupType_value = map[string]int32{
1689 "OFPGT_ALL": 0,
1690 "OFPGT_SELECT": 1,
1691 "OFPGT_INDIRECT": 2,
1692 "OFPGT_FF": 3,
1693 }
1694)
William Kurkianad745652019-03-20 08:45:51 -04001695
Abhay Kumar03713392025-12-30 05:20:58 +00001696func (x OfpGroupType) Enum() *OfpGroupType {
1697 p := new(OfpGroupType)
1698 *p = x
1699 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001700}
1701
1702func (x OfpGroupType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001703 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001704}
William Kurkianad745652019-03-20 08:45:51 -04001705
Abhay Kumar03713392025-12-30 05:20:58 +00001706func (OfpGroupType) Descriptor() protoreflect.EnumDescriptor {
1707 return file_voltha_protos_openflow_13_proto_enumTypes[24].Descriptor()
1708}
1709
1710func (OfpGroupType) Type() protoreflect.EnumType {
1711 return &file_voltha_protos_openflow_13_proto_enumTypes[24]
1712}
1713
1714func (x OfpGroupType) Number() protoreflect.EnumNumber {
1715 return protoreflect.EnumNumber(x)
1716}
1717
1718// Deprecated: Use OfpGroupType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001719func (OfpGroupType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001720 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{24}
William Kurkian1b363f42019-03-12 15:28:12 -04001721}
1722
1723// Why is this packet being sent to the controller?
1724type OfpPacketInReason int32
1725
1726const (
Abhay Kumar03713392025-12-30 05:20:58 +00001727 OfpPacketInReason_OFPR_NO_MATCH OfpPacketInReason = 0 // No matching flow (table-miss flow entry).
1728 OfpPacketInReason_OFPR_ACTION OfpPacketInReason = 1 // Action explicitly output to controller.
1729 OfpPacketInReason_OFPR_INVALID_TTL OfpPacketInReason = 2 // Packet has invalid TTL
William Kurkian1b363f42019-03-12 15:28:12 -04001730)
1731
Abhay Kumar03713392025-12-30 05:20:58 +00001732// Enum value maps for OfpPacketInReason.
1733var (
1734 OfpPacketInReason_name = map[int32]string{
1735 0: "OFPR_NO_MATCH",
1736 1: "OFPR_ACTION",
1737 2: "OFPR_INVALID_TTL",
1738 }
1739 OfpPacketInReason_value = map[string]int32{
1740 "OFPR_NO_MATCH": 0,
1741 "OFPR_ACTION": 1,
1742 "OFPR_INVALID_TTL": 2,
1743 }
1744)
William Kurkianad745652019-03-20 08:45:51 -04001745
Abhay Kumar03713392025-12-30 05:20:58 +00001746func (x OfpPacketInReason) Enum() *OfpPacketInReason {
1747 p := new(OfpPacketInReason)
1748 *p = x
1749 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001750}
1751
1752func (x OfpPacketInReason) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001753 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001754}
William Kurkianad745652019-03-20 08:45:51 -04001755
Abhay Kumar03713392025-12-30 05:20:58 +00001756func (OfpPacketInReason) Descriptor() protoreflect.EnumDescriptor {
1757 return file_voltha_protos_openflow_13_proto_enumTypes[25].Descriptor()
1758}
1759
1760func (OfpPacketInReason) Type() protoreflect.EnumType {
1761 return &file_voltha_protos_openflow_13_proto_enumTypes[25]
1762}
1763
1764func (x OfpPacketInReason) Number() protoreflect.EnumNumber {
1765 return protoreflect.EnumNumber(x)
1766}
1767
1768// Deprecated: Use OfpPacketInReason.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001769func (OfpPacketInReason) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001770 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{25}
William Kurkian1b363f42019-03-12 15:28:12 -04001771}
1772
1773// Why was this flow removed?
1774type OfpFlowRemovedReason int32
1775
1776const (
Abhay Kumar03713392025-12-30 05:20:58 +00001777 OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT OfpFlowRemovedReason = 0 // Flow idle time exceeded idle_timeout.
1778 OfpFlowRemovedReason_OFPRR_HARD_TIMEOUT OfpFlowRemovedReason = 1 // Time exceeded hard_timeout.
1779 OfpFlowRemovedReason_OFPRR_DELETE OfpFlowRemovedReason = 2 // Evicted by a DELETE flow mod.
1780 OfpFlowRemovedReason_OFPRR_GROUP_DELETE OfpFlowRemovedReason = 3 // Group was removed.
1781 OfpFlowRemovedReason_OFPRR_METER_DELETE OfpFlowRemovedReason = 4 // Meter was removed
William Kurkian1b363f42019-03-12 15:28:12 -04001782)
1783
Abhay Kumar03713392025-12-30 05:20:58 +00001784// Enum value maps for OfpFlowRemovedReason.
1785var (
1786 OfpFlowRemovedReason_name = map[int32]string{
1787 0: "OFPRR_IDLE_TIMEOUT",
1788 1: "OFPRR_HARD_TIMEOUT",
1789 2: "OFPRR_DELETE",
1790 3: "OFPRR_GROUP_DELETE",
1791 4: "OFPRR_METER_DELETE",
1792 }
1793 OfpFlowRemovedReason_value = map[string]int32{
1794 "OFPRR_IDLE_TIMEOUT": 0,
1795 "OFPRR_HARD_TIMEOUT": 1,
1796 "OFPRR_DELETE": 2,
1797 "OFPRR_GROUP_DELETE": 3,
1798 "OFPRR_METER_DELETE": 4,
1799 }
1800)
William Kurkianad745652019-03-20 08:45:51 -04001801
Abhay Kumar03713392025-12-30 05:20:58 +00001802func (x OfpFlowRemovedReason) Enum() *OfpFlowRemovedReason {
1803 p := new(OfpFlowRemovedReason)
1804 *p = x
1805 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001806}
1807
1808func (x OfpFlowRemovedReason) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001809 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001810}
William Kurkianad745652019-03-20 08:45:51 -04001811
Abhay Kumar03713392025-12-30 05:20:58 +00001812func (OfpFlowRemovedReason) Descriptor() protoreflect.EnumDescriptor {
1813 return file_voltha_protos_openflow_13_proto_enumTypes[26].Descriptor()
1814}
1815
1816func (OfpFlowRemovedReason) Type() protoreflect.EnumType {
1817 return &file_voltha_protos_openflow_13_proto_enumTypes[26]
1818}
1819
1820func (x OfpFlowRemovedReason) Number() protoreflect.EnumNumber {
1821 return protoreflect.EnumNumber(x)
1822}
1823
1824// Deprecated: Use OfpFlowRemovedReason.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001825func (OfpFlowRemovedReason) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001826 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{26}
William Kurkian1b363f42019-03-12 15:28:12 -04001827}
1828
1829// Meter numbering. Flow meters can use any number up to OFPM_MAX.
1830type OfpMeter int32
1831
1832const (
1833 OfpMeter_OFPM_ZERO OfpMeter = 0
1834 // Last usable meter.
1835 OfpMeter_OFPM_MAX OfpMeter = 2147418112
1836 // Virtual meters.
Abhay Kumar03713392025-12-30 05:20:58 +00001837 OfpMeter_OFPM_SLOWPATH OfpMeter = 2147483645 // Meter for slow datapath.
1838 OfpMeter_OFPM_CONTROLLER OfpMeter = 2147483646 // Meter for controller connection.
William Kurkian1b363f42019-03-12 15:28:12 -04001839 OfpMeter_OFPM_ALL OfpMeter = 2147483647
1840)
1841
Abhay Kumar03713392025-12-30 05:20:58 +00001842// Enum value maps for OfpMeter.
1843var (
1844 OfpMeter_name = map[int32]string{
1845 0: "OFPM_ZERO",
1846 2147418112: "OFPM_MAX",
1847 2147483645: "OFPM_SLOWPATH",
1848 2147483646: "OFPM_CONTROLLER",
1849 2147483647: "OFPM_ALL",
1850 }
1851 OfpMeter_value = map[string]int32{
1852 "OFPM_ZERO": 0,
1853 "OFPM_MAX": 2147418112,
1854 "OFPM_SLOWPATH": 2147483645,
1855 "OFPM_CONTROLLER": 2147483646,
1856 "OFPM_ALL": 2147483647,
1857 }
1858)
William Kurkianad745652019-03-20 08:45:51 -04001859
Abhay Kumar03713392025-12-30 05:20:58 +00001860func (x OfpMeter) Enum() *OfpMeter {
1861 p := new(OfpMeter)
1862 *p = x
1863 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001864}
1865
1866func (x OfpMeter) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001867 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001868}
William Kurkianad745652019-03-20 08:45:51 -04001869
Abhay Kumar03713392025-12-30 05:20:58 +00001870func (OfpMeter) Descriptor() protoreflect.EnumDescriptor {
1871 return file_voltha_protos_openflow_13_proto_enumTypes[27].Descriptor()
1872}
1873
1874func (OfpMeter) Type() protoreflect.EnumType {
1875 return &file_voltha_protos_openflow_13_proto_enumTypes[27]
1876}
1877
1878func (x OfpMeter) Number() protoreflect.EnumNumber {
1879 return protoreflect.EnumNumber(x)
1880}
1881
1882// Deprecated: Use OfpMeter.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001883func (OfpMeter) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001884 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{27}
William Kurkian1b363f42019-03-12 15:28:12 -04001885}
1886
1887// Meter band types
1888type OfpMeterBandType int32
1889
1890const (
1891 OfpMeterBandType_OFPMBT_INVALID OfpMeterBandType = 0
Abhay Kumar03713392025-12-30 05:20:58 +00001892 OfpMeterBandType_OFPMBT_DROP OfpMeterBandType = 1 // Drop packet.
1893 OfpMeterBandType_OFPMBT_DSCP_REMARK OfpMeterBandType = 2 // Remark DSCP in the IP header.
1894 OfpMeterBandType_OFPMBT_EXPERIMENTER OfpMeterBandType = 65535 // Experimenter meter band.
William Kurkian1b363f42019-03-12 15:28:12 -04001895)
1896
Abhay Kumar03713392025-12-30 05:20:58 +00001897// Enum value maps for OfpMeterBandType.
1898var (
1899 OfpMeterBandType_name = map[int32]string{
1900 0: "OFPMBT_INVALID",
1901 1: "OFPMBT_DROP",
1902 2: "OFPMBT_DSCP_REMARK",
1903 65535: "OFPMBT_EXPERIMENTER",
1904 }
1905 OfpMeterBandType_value = map[string]int32{
1906 "OFPMBT_INVALID": 0,
1907 "OFPMBT_DROP": 1,
1908 "OFPMBT_DSCP_REMARK": 2,
1909 "OFPMBT_EXPERIMENTER": 65535,
1910 }
1911)
William Kurkianad745652019-03-20 08:45:51 -04001912
Abhay Kumar03713392025-12-30 05:20:58 +00001913func (x OfpMeterBandType) Enum() *OfpMeterBandType {
1914 p := new(OfpMeterBandType)
1915 *p = x
1916 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001917}
1918
1919func (x OfpMeterBandType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001920 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001921}
William Kurkianad745652019-03-20 08:45:51 -04001922
Abhay Kumar03713392025-12-30 05:20:58 +00001923func (OfpMeterBandType) Descriptor() protoreflect.EnumDescriptor {
1924 return file_voltha_protos_openflow_13_proto_enumTypes[28].Descriptor()
1925}
1926
1927func (OfpMeterBandType) Type() protoreflect.EnumType {
1928 return &file_voltha_protos_openflow_13_proto_enumTypes[28]
1929}
1930
1931func (x OfpMeterBandType) Number() protoreflect.EnumNumber {
1932 return protoreflect.EnumNumber(x)
1933}
1934
1935// Deprecated: Use OfpMeterBandType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001936func (OfpMeterBandType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001937 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{28}
William Kurkian1b363f42019-03-12 15:28:12 -04001938}
1939
1940// Meter commands
1941type OfpMeterModCommand int32
1942
1943const (
Abhay Kumar03713392025-12-30 05:20:58 +00001944 OfpMeterModCommand_OFPMC_ADD OfpMeterModCommand = 0 // New meter.
1945 OfpMeterModCommand_OFPMC_MODIFY OfpMeterModCommand = 1 // Modify specified meter.
1946 OfpMeterModCommand_OFPMC_DELETE OfpMeterModCommand = 2 // Delete specified meter.
William Kurkian1b363f42019-03-12 15:28:12 -04001947)
1948
Abhay Kumar03713392025-12-30 05:20:58 +00001949// Enum value maps for OfpMeterModCommand.
1950var (
1951 OfpMeterModCommand_name = map[int32]string{
1952 0: "OFPMC_ADD",
1953 1: "OFPMC_MODIFY",
1954 2: "OFPMC_DELETE",
1955 }
1956 OfpMeterModCommand_value = map[string]int32{
1957 "OFPMC_ADD": 0,
1958 "OFPMC_MODIFY": 1,
1959 "OFPMC_DELETE": 2,
1960 }
1961)
William Kurkianad745652019-03-20 08:45:51 -04001962
Abhay Kumar03713392025-12-30 05:20:58 +00001963func (x OfpMeterModCommand) Enum() *OfpMeterModCommand {
1964 p := new(OfpMeterModCommand)
1965 *p = x
1966 return p
William Kurkian1b363f42019-03-12 15:28:12 -04001967}
1968
1969func (x OfpMeterModCommand) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00001970 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04001971}
William Kurkianad745652019-03-20 08:45:51 -04001972
Abhay Kumar03713392025-12-30 05:20:58 +00001973func (OfpMeterModCommand) Descriptor() protoreflect.EnumDescriptor {
1974 return file_voltha_protos_openflow_13_proto_enumTypes[29].Descriptor()
1975}
1976
1977func (OfpMeterModCommand) Type() protoreflect.EnumType {
1978 return &file_voltha_protos_openflow_13_proto_enumTypes[29]
1979}
1980
1981func (x OfpMeterModCommand) Number() protoreflect.EnumNumber {
1982 return protoreflect.EnumNumber(x)
1983}
1984
1985// Deprecated: Use OfpMeterModCommand.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04001986func (OfpMeterModCommand) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00001987 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{29}
William Kurkian1b363f42019-03-12 15:28:12 -04001988}
1989
1990// Meter configuration flags
1991type OfpMeterFlags int32
1992
1993const (
1994 OfpMeterFlags_OFPMF_INVALID OfpMeterFlags = 0
Abhay Kumar03713392025-12-30 05:20:58 +00001995 OfpMeterFlags_OFPMF_KBPS OfpMeterFlags = 1 // Rate value in kb/s (kilo-bit per second).
1996 OfpMeterFlags_OFPMF_PKTPS OfpMeterFlags = 2 // Rate value in packet/sec.
1997 OfpMeterFlags_OFPMF_BURST OfpMeterFlags = 4 // Do burst size.
1998 OfpMeterFlags_OFPMF_STATS OfpMeterFlags = 8 // Collect statistics.
William Kurkian1b363f42019-03-12 15:28:12 -04001999)
2000
Abhay Kumar03713392025-12-30 05:20:58 +00002001// Enum value maps for OfpMeterFlags.
2002var (
2003 OfpMeterFlags_name = map[int32]string{
2004 0: "OFPMF_INVALID",
2005 1: "OFPMF_KBPS",
2006 2: "OFPMF_PKTPS",
2007 4: "OFPMF_BURST",
2008 8: "OFPMF_STATS",
2009 }
2010 OfpMeterFlags_value = map[string]int32{
2011 "OFPMF_INVALID": 0,
2012 "OFPMF_KBPS": 1,
2013 "OFPMF_PKTPS": 2,
2014 "OFPMF_BURST": 4,
2015 "OFPMF_STATS": 8,
2016 }
2017)
William Kurkianad745652019-03-20 08:45:51 -04002018
Abhay Kumar03713392025-12-30 05:20:58 +00002019func (x OfpMeterFlags) Enum() *OfpMeterFlags {
2020 p := new(OfpMeterFlags)
2021 *p = x
2022 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002023}
2024
2025func (x OfpMeterFlags) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002026 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002027}
William Kurkianad745652019-03-20 08:45:51 -04002028
Abhay Kumar03713392025-12-30 05:20:58 +00002029func (OfpMeterFlags) Descriptor() protoreflect.EnumDescriptor {
2030 return file_voltha_protos_openflow_13_proto_enumTypes[30].Descriptor()
2031}
2032
2033func (OfpMeterFlags) Type() protoreflect.EnumType {
2034 return &file_voltha_protos_openflow_13_proto_enumTypes[30]
2035}
2036
2037func (x OfpMeterFlags) Number() protoreflect.EnumNumber {
2038 return protoreflect.EnumNumber(x)
2039}
2040
2041// Deprecated: Use OfpMeterFlags.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002042func (OfpMeterFlags) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002043 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{30}
William Kurkian1b363f42019-03-12 15:28:12 -04002044}
2045
2046// Values for 'type' in ofp_error_message. These values are immutable: they
2047// will not change in future versions of the protocol (although new values may
2048// be added).
2049type OfpErrorType int32
2050
2051const (
Abhay Kumar03713392025-12-30 05:20:58 +00002052 OfpErrorType_OFPET_HELLO_FAILED OfpErrorType = 0 // Hello protocol failed.
2053 OfpErrorType_OFPET_BAD_REQUEST OfpErrorType = 1 // Request was not understood.
2054 OfpErrorType_OFPET_BAD_ACTION OfpErrorType = 2 // Error in action description.
2055 OfpErrorType_OFPET_BAD_INSTRUCTION OfpErrorType = 3 // Error in instruction list.
2056 OfpErrorType_OFPET_BAD_MATCH OfpErrorType = 4 // Error in match.
2057 OfpErrorType_OFPET_FLOW_MOD_FAILED OfpErrorType = 5 // Problem modifying flow entry.
2058 OfpErrorType_OFPET_GROUP_MOD_FAILED OfpErrorType = 6 // Problem modifying group entry.
2059 OfpErrorType_OFPET_PORT_MOD_FAILED OfpErrorType = 7 // Port mod request failed.
2060 OfpErrorType_OFPET_TABLE_MOD_FAILED OfpErrorType = 8 // Table mod request failed.
2061 OfpErrorType_OFPET_QUEUE_OP_FAILED OfpErrorType = 9 // Queue operation failed.
2062 OfpErrorType_OFPET_SWITCH_CONFIG_FAILED OfpErrorType = 10 // Switch config request failed.
2063 OfpErrorType_OFPET_ROLE_REQUEST_FAILED OfpErrorType = 11 // Controller Role request failed.
2064 OfpErrorType_OFPET_METER_MOD_FAILED OfpErrorType = 12 // Error in meter.
2065 OfpErrorType_OFPET_TABLE_FEATURES_FAILED OfpErrorType = 13 // Setting table features failed.
2066 OfpErrorType_OFPET_EXPERIMENTER OfpErrorType = 65535 // Experimenter error messages.
William Kurkian1b363f42019-03-12 15:28:12 -04002067)
2068
Abhay Kumar03713392025-12-30 05:20:58 +00002069// Enum value maps for OfpErrorType.
2070var (
2071 OfpErrorType_name = map[int32]string{
2072 0: "OFPET_HELLO_FAILED",
2073 1: "OFPET_BAD_REQUEST",
2074 2: "OFPET_BAD_ACTION",
2075 3: "OFPET_BAD_INSTRUCTION",
2076 4: "OFPET_BAD_MATCH",
2077 5: "OFPET_FLOW_MOD_FAILED",
2078 6: "OFPET_GROUP_MOD_FAILED",
2079 7: "OFPET_PORT_MOD_FAILED",
2080 8: "OFPET_TABLE_MOD_FAILED",
2081 9: "OFPET_QUEUE_OP_FAILED",
2082 10: "OFPET_SWITCH_CONFIG_FAILED",
2083 11: "OFPET_ROLE_REQUEST_FAILED",
2084 12: "OFPET_METER_MOD_FAILED",
2085 13: "OFPET_TABLE_FEATURES_FAILED",
2086 65535: "OFPET_EXPERIMENTER",
2087 }
2088 OfpErrorType_value = map[string]int32{
2089 "OFPET_HELLO_FAILED": 0,
2090 "OFPET_BAD_REQUEST": 1,
2091 "OFPET_BAD_ACTION": 2,
2092 "OFPET_BAD_INSTRUCTION": 3,
2093 "OFPET_BAD_MATCH": 4,
2094 "OFPET_FLOW_MOD_FAILED": 5,
2095 "OFPET_GROUP_MOD_FAILED": 6,
2096 "OFPET_PORT_MOD_FAILED": 7,
2097 "OFPET_TABLE_MOD_FAILED": 8,
2098 "OFPET_QUEUE_OP_FAILED": 9,
2099 "OFPET_SWITCH_CONFIG_FAILED": 10,
2100 "OFPET_ROLE_REQUEST_FAILED": 11,
2101 "OFPET_METER_MOD_FAILED": 12,
2102 "OFPET_TABLE_FEATURES_FAILED": 13,
2103 "OFPET_EXPERIMENTER": 65535,
2104 }
2105)
William Kurkianad745652019-03-20 08:45:51 -04002106
Abhay Kumar03713392025-12-30 05:20:58 +00002107func (x OfpErrorType) Enum() *OfpErrorType {
2108 p := new(OfpErrorType)
2109 *p = x
2110 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002111}
2112
2113func (x OfpErrorType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002114 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002115}
William Kurkianad745652019-03-20 08:45:51 -04002116
Abhay Kumar03713392025-12-30 05:20:58 +00002117func (OfpErrorType) Descriptor() protoreflect.EnumDescriptor {
2118 return file_voltha_protos_openflow_13_proto_enumTypes[31].Descriptor()
2119}
2120
2121func (OfpErrorType) Type() protoreflect.EnumType {
2122 return &file_voltha_protos_openflow_13_proto_enumTypes[31]
2123}
2124
2125func (x OfpErrorType) Number() protoreflect.EnumNumber {
2126 return protoreflect.EnumNumber(x)
2127}
2128
2129// Deprecated: Use OfpErrorType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002130func (OfpErrorType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002131 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{31}
William Kurkian1b363f42019-03-12 15:28:12 -04002132}
2133
2134// ofp_error_msg 'code' values for OFPET_HELLO_FAILED. 'data' contains an
2135// ASCII text string that may give failure details.
2136type OfpHelloFailedCode int32
2137
2138const (
Abhay Kumar03713392025-12-30 05:20:58 +00002139 OfpHelloFailedCode_OFPHFC_INCOMPATIBLE OfpHelloFailedCode = 0 // No compatible version.
2140 OfpHelloFailedCode_OFPHFC_EPERM OfpHelloFailedCode = 1 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002141)
2142
Abhay Kumar03713392025-12-30 05:20:58 +00002143// Enum value maps for OfpHelloFailedCode.
2144var (
2145 OfpHelloFailedCode_name = map[int32]string{
2146 0: "OFPHFC_INCOMPATIBLE",
2147 1: "OFPHFC_EPERM",
2148 }
2149 OfpHelloFailedCode_value = map[string]int32{
2150 "OFPHFC_INCOMPATIBLE": 0,
2151 "OFPHFC_EPERM": 1,
2152 }
2153)
William Kurkianad745652019-03-20 08:45:51 -04002154
Abhay Kumar03713392025-12-30 05:20:58 +00002155func (x OfpHelloFailedCode) Enum() *OfpHelloFailedCode {
2156 p := new(OfpHelloFailedCode)
2157 *p = x
2158 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002159}
2160
2161func (x OfpHelloFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002162 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002163}
William Kurkianad745652019-03-20 08:45:51 -04002164
Abhay Kumar03713392025-12-30 05:20:58 +00002165func (OfpHelloFailedCode) Descriptor() protoreflect.EnumDescriptor {
2166 return file_voltha_protos_openflow_13_proto_enumTypes[32].Descriptor()
2167}
2168
2169func (OfpHelloFailedCode) Type() protoreflect.EnumType {
2170 return &file_voltha_protos_openflow_13_proto_enumTypes[32]
2171}
2172
2173func (x OfpHelloFailedCode) Number() protoreflect.EnumNumber {
2174 return protoreflect.EnumNumber(x)
2175}
2176
2177// Deprecated: Use OfpHelloFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002178func (OfpHelloFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002179 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{32}
William Kurkian1b363f42019-03-12 15:28:12 -04002180}
2181
2182// ofp_error_msg 'code' values for OFPET_BAD_REQUEST. 'data' contains at least
2183// the first 64 bytes of the failed request.
2184type OfpBadRequestCode int32
2185
2186const (
Abhay Kumar03713392025-12-30 05:20:58 +00002187 OfpBadRequestCode_OFPBRC_BAD_VERSION OfpBadRequestCode = 0 // ofp_header.version not supported.
2188 OfpBadRequestCode_OFPBRC_BAD_TYPE OfpBadRequestCode = 1 // ofp_header.type not supported.
2189 OfpBadRequestCode_OFPBRC_BAD_MULTIPART OfpBadRequestCode = 2 // ofp_multipart_request.type not supported.
William Kurkian1b363f42019-03-12 15:28:12 -04002190 OfpBadRequestCode_OFPBRC_BAD_EXPERIMENTER OfpBadRequestCode = 3
Abhay Kumar03713392025-12-30 05:20:58 +00002191 OfpBadRequestCode_OFPBRC_BAD_EXP_TYPE OfpBadRequestCode = 4 // Experimenter type not supported.
2192 OfpBadRequestCode_OFPBRC_EPERM OfpBadRequestCode = 5 // Permissions error.
2193 OfpBadRequestCode_OFPBRC_BAD_LEN OfpBadRequestCode = 6 // Wrong request length for type.
2194 OfpBadRequestCode_OFPBRC_BUFFER_EMPTY OfpBadRequestCode = 7 // Specified buffer has already been used.
2195 OfpBadRequestCode_OFPBRC_BUFFER_UNKNOWN OfpBadRequestCode = 8 // Specified buffer does not exist.
William Kurkian1b363f42019-03-12 15:28:12 -04002196 OfpBadRequestCode_OFPBRC_BAD_TABLE_ID OfpBadRequestCode = 9
Abhay Kumar03713392025-12-30 05:20:58 +00002197 OfpBadRequestCode_OFPBRC_IS_SLAVE OfpBadRequestCode = 10 // Denied because controller is slave.
2198 OfpBadRequestCode_OFPBRC_BAD_PORT OfpBadRequestCode = 11 // Invalid port.
2199 OfpBadRequestCode_OFPBRC_BAD_PACKET OfpBadRequestCode = 12 // Invalid packet in packet-out.
William Kurkian1b363f42019-03-12 15:28:12 -04002200 OfpBadRequestCode_OFPBRC_MULTIPART_BUFFER_OVERFLOW OfpBadRequestCode = 13
2201)
2202
Abhay Kumar03713392025-12-30 05:20:58 +00002203// Enum value maps for OfpBadRequestCode.
2204var (
2205 OfpBadRequestCode_name = map[int32]string{
2206 0: "OFPBRC_BAD_VERSION",
2207 1: "OFPBRC_BAD_TYPE",
2208 2: "OFPBRC_BAD_MULTIPART",
2209 3: "OFPBRC_BAD_EXPERIMENTER",
2210 4: "OFPBRC_BAD_EXP_TYPE",
2211 5: "OFPBRC_EPERM",
2212 6: "OFPBRC_BAD_LEN",
2213 7: "OFPBRC_BUFFER_EMPTY",
2214 8: "OFPBRC_BUFFER_UNKNOWN",
2215 9: "OFPBRC_BAD_TABLE_ID",
2216 10: "OFPBRC_IS_SLAVE",
2217 11: "OFPBRC_BAD_PORT",
2218 12: "OFPBRC_BAD_PACKET",
2219 13: "OFPBRC_MULTIPART_BUFFER_OVERFLOW",
2220 }
2221 OfpBadRequestCode_value = map[string]int32{
2222 "OFPBRC_BAD_VERSION": 0,
2223 "OFPBRC_BAD_TYPE": 1,
2224 "OFPBRC_BAD_MULTIPART": 2,
2225 "OFPBRC_BAD_EXPERIMENTER": 3,
2226 "OFPBRC_BAD_EXP_TYPE": 4,
2227 "OFPBRC_EPERM": 5,
2228 "OFPBRC_BAD_LEN": 6,
2229 "OFPBRC_BUFFER_EMPTY": 7,
2230 "OFPBRC_BUFFER_UNKNOWN": 8,
2231 "OFPBRC_BAD_TABLE_ID": 9,
2232 "OFPBRC_IS_SLAVE": 10,
2233 "OFPBRC_BAD_PORT": 11,
2234 "OFPBRC_BAD_PACKET": 12,
2235 "OFPBRC_MULTIPART_BUFFER_OVERFLOW": 13,
2236 }
2237)
William Kurkianad745652019-03-20 08:45:51 -04002238
Abhay Kumar03713392025-12-30 05:20:58 +00002239func (x OfpBadRequestCode) Enum() *OfpBadRequestCode {
2240 p := new(OfpBadRequestCode)
2241 *p = x
2242 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002243}
2244
2245func (x OfpBadRequestCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002246 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002247}
William Kurkianad745652019-03-20 08:45:51 -04002248
Abhay Kumar03713392025-12-30 05:20:58 +00002249func (OfpBadRequestCode) Descriptor() protoreflect.EnumDescriptor {
2250 return file_voltha_protos_openflow_13_proto_enumTypes[33].Descriptor()
2251}
2252
2253func (OfpBadRequestCode) Type() protoreflect.EnumType {
2254 return &file_voltha_protos_openflow_13_proto_enumTypes[33]
2255}
2256
2257func (x OfpBadRequestCode) Number() protoreflect.EnumNumber {
2258 return protoreflect.EnumNumber(x)
2259}
2260
2261// Deprecated: Use OfpBadRequestCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002262func (OfpBadRequestCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002263 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{33}
William Kurkian1b363f42019-03-12 15:28:12 -04002264}
2265
2266// ofp_error_msg 'code' values for OFPET_BAD_ACTION. 'data' contains at least
2267// the first 64 bytes of the failed request.
2268type OfpBadActionCode int32
2269
2270const (
Abhay Kumar03713392025-12-30 05:20:58 +00002271 OfpBadActionCode_OFPBAC_BAD_TYPE OfpBadActionCode = 0 // Unknown or unsupported action type.
2272 OfpBadActionCode_OFPBAC_BAD_LEN OfpBadActionCode = 1 // Length problem in actions.
2273 OfpBadActionCode_OFPBAC_BAD_EXPERIMENTER OfpBadActionCode = 2 // Unknown experimenter id specified.
2274 OfpBadActionCode_OFPBAC_BAD_EXP_TYPE OfpBadActionCode = 3 // Unknown action for experimenter id.
2275 OfpBadActionCode_OFPBAC_BAD_OUT_PORT OfpBadActionCode = 4 // Problem validating output port.
2276 OfpBadActionCode_OFPBAC_BAD_ARGUMENT OfpBadActionCode = 5 // Bad action argument.
2277 OfpBadActionCode_OFPBAC_EPERM OfpBadActionCode = 6 // Permissions error.
2278 OfpBadActionCode_OFPBAC_TOO_MANY OfpBadActionCode = 7 // Can't handle this many actions.
2279 OfpBadActionCode_OFPBAC_BAD_QUEUE OfpBadActionCode = 8 // Problem validating output queue.
2280 OfpBadActionCode_OFPBAC_BAD_OUT_GROUP OfpBadActionCode = 9 // Invalid group id in forward action.
William Kurkian1b363f42019-03-12 15:28:12 -04002281 OfpBadActionCode_OFPBAC_MATCH_INCONSISTENT OfpBadActionCode = 10
2282 OfpBadActionCode_OFPBAC_UNSUPPORTED_ORDER OfpBadActionCode = 11
2283 OfpBadActionCode_OFPBAC_BAD_TAG OfpBadActionCode = 12
Abhay Kumar03713392025-12-30 05:20:58 +00002284 OfpBadActionCode_OFPBAC_BAD_SET_TYPE OfpBadActionCode = 13 // Unsupported type in SET_FIELD action.
2285 OfpBadActionCode_OFPBAC_BAD_SET_LEN OfpBadActionCode = 14 // Length problem in SET_FIELD action.
2286 OfpBadActionCode_OFPBAC_BAD_SET_ARGUMENT OfpBadActionCode = 15 // Bad argument in SET_FIELD action.
William Kurkian1b363f42019-03-12 15:28:12 -04002287)
2288
Abhay Kumar03713392025-12-30 05:20:58 +00002289// Enum value maps for OfpBadActionCode.
2290var (
2291 OfpBadActionCode_name = map[int32]string{
2292 0: "OFPBAC_BAD_TYPE",
2293 1: "OFPBAC_BAD_LEN",
2294 2: "OFPBAC_BAD_EXPERIMENTER",
2295 3: "OFPBAC_BAD_EXP_TYPE",
2296 4: "OFPBAC_BAD_OUT_PORT",
2297 5: "OFPBAC_BAD_ARGUMENT",
2298 6: "OFPBAC_EPERM",
2299 7: "OFPBAC_TOO_MANY",
2300 8: "OFPBAC_BAD_QUEUE",
2301 9: "OFPBAC_BAD_OUT_GROUP",
2302 10: "OFPBAC_MATCH_INCONSISTENT",
2303 11: "OFPBAC_UNSUPPORTED_ORDER",
2304 12: "OFPBAC_BAD_TAG",
2305 13: "OFPBAC_BAD_SET_TYPE",
2306 14: "OFPBAC_BAD_SET_LEN",
2307 15: "OFPBAC_BAD_SET_ARGUMENT",
2308 }
2309 OfpBadActionCode_value = map[string]int32{
2310 "OFPBAC_BAD_TYPE": 0,
2311 "OFPBAC_BAD_LEN": 1,
2312 "OFPBAC_BAD_EXPERIMENTER": 2,
2313 "OFPBAC_BAD_EXP_TYPE": 3,
2314 "OFPBAC_BAD_OUT_PORT": 4,
2315 "OFPBAC_BAD_ARGUMENT": 5,
2316 "OFPBAC_EPERM": 6,
2317 "OFPBAC_TOO_MANY": 7,
2318 "OFPBAC_BAD_QUEUE": 8,
2319 "OFPBAC_BAD_OUT_GROUP": 9,
2320 "OFPBAC_MATCH_INCONSISTENT": 10,
2321 "OFPBAC_UNSUPPORTED_ORDER": 11,
2322 "OFPBAC_BAD_TAG": 12,
2323 "OFPBAC_BAD_SET_TYPE": 13,
2324 "OFPBAC_BAD_SET_LEN": 14,
2325 "OFPBAC_BAD_SET_ARGUMENT": 15,
2326 }
2327)
William Kurkianad745652019-03-20 08:45:51 -04002328
Abhay Kumar03713392025-12-30 05:20:58 +00002329func (x OfpBadActionCode) Enum() *OfpBadActionCode {
2330 p := new(OfpBadActionCode)
2331 *p = x
2332 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002333}
2334
2335func (x OfpBadActionCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002336 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002337}
William Kurkianad745652019-03-20 08:45:51 -04002338
Abhay Kumar03713392025-12-30 05:20:58 +00002339func (OfpBadActionCode) Descriptor() protoreflect.EnumDescriptor {
2340 return file_voltha_protos_openflow_13_proto_enumTypes[34].Descriptor()
2341}
2342
2343func (OfpBadActionCode) Type() protoreflect.EnumType {
2344 return &file_voltha_protos_openflow_13_proto_enumTypes[34]
2345}
2346
2347func (x OfpBadActionCode) Number() protoreflect.EnumNumber {
2348 return protoreflect.EnumNumber(x)
2349}
2350
2351// Deprecated: Use OfpBadActionCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002352func (OfpBadActionCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002353 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{34}
William Kurkian1b363f42019-03-12 15:28:12 -04002354}
2355
2356// ofp_error_msg 'code' values for OFPET_BAD_INSTRUCTION. 'data' contains at
2357// least the first 64 bytes of the failed request.
2358type OfpBadInstructionCode int32
2359
2360const (
Abhay Kumar03713392025-12-30 05:20:58 +00002361 OfpBadInstructionCode_OFPBIC_UNKNOWN_INST OfpBadInstructionCode = 0 // Unknown instruction.
William Kurkian1b363f42019-03-12 15:28:12 -04002362 OfpBadInstructionCode_OFPBIC_UNSUP_INST OfpBadInstructionCode = 1
Abhay Kumar03713392025-12-30 05:20:58 +00002363 OfpBadInstructionCode_OFPBIC_BAD_TABLE_ID OfpBadInstructionCode = 2 // Invalid Table-ID specified.
2364 OfpBadInstructionCode_OFPBIC_UNSUP_METADATA OfpBadInstructionCode = 3 // Metadata value unsupported by datapath.
William Kurkian1b363f42019-03-12 15:28:12 -04002365 OfpBadInstructionCode_OFPBIC_UNSUP_METADATA_MASK OfpBadInstructionCode = 4
Abhay Kumar03713392025-12-30 05:20:58 +00002366 OfpBadInstructionCode_OFPBIC_BAD_EXPERIMENTER OfpBadInstructionCode = 5 // Unknown experimenter id specified.
2367 OfpBadInstructionCode_OFPBIC_BAD_EXP_TYPE OfpBadInstructionCode = 6 // Unknown instruction for experimenter id.
2368 OfpBadInstructionCode_OFPBIC_BAD_LEN OfpBadInstructionCode = 7 // Length problem in instructions.
2369 OfpBadInstructionCode_OFPBIC_EPERM OfpBadInstructionCode = 8 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002370)
2371
Abhay Kumar03713392025-12-30 05:20:58 +00002372// Enum value maps for OfpBadInstructionCode.
2373var (
2374 OfpBadInstructionCode_name = map[int32]string{
2375 0: "OFPBIC_UNKNOWN_INST",
2376 1: "OFPBIC_UNSUP_INST",
2377 2: "OFPBIC_BAD_TABLE_ID",
2378 3: "OFPBIC_UNSUP_METADATA",
2379 4: "OFPBIC_UNSUP_METADATA_MASK",
2380 5: "OFPBIC_BAD_EXPERIMENTER",
2381 6: "OFPBIC_BAD_EXP_TYPE",
2382 7: "OFPBIC_BAD_LEN",
2383 8: "OFPBIC_EPERM",
2384 }
2385 OfpBadInstructionCode_value = map[string]int32{
2386 "OFPBIC_UNKNOWN_INST": 0,
2387 "OFPBIC_UNSUP_INST": 1,
2388 "OFPBIC_BAD_TABLE_ID": 2,
2389 "OFPBIC_UNSUP_METADATA": 3,
2390 "OFPBIC_UNSUP_METADATA_MASK": 4,
2391 "OFPBIC_BAD_EXPERIMENTER": 5,
2392 "OFPBIC_BAD_EXP_TYPE": 6,
2393 "OFPBIC_BAD_LEN": 7,
2394 "OFPBIC_EPERM": 8,
2395 }
2396)
William Kurkianad745652019-03-20 08:45:51 -04002397
Abhay Kumar03713392025-12-30 05:20:58 +00002398func (x OfpBadInstructionCode) Enum() *OfpBadInstructionCode {
2399 p := new(OfpBadInstructionCode)
2400 *p = x
2401 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002402}
2403
2404func (x OfpBadInstructionCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002405 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002406}
William Kurkianad745652019-03-20 08:45:51 -04002407
Abhay Kumar03713392025-12-30 05:20:58 +00002408func (OfpBadInstructionCode) Descriptor() protoreflect.EnumDescriptor {
2409 return file_voltha_protos_openflow_13_proto_enumTypes[35].Descriptor()
2410}
2411
2412func (OfpBadInstructionCode) Type() protoreflect.EnumType {
2413 return &file_voltha_protos_openflow_13_proto_enumTypes[35]
2414}
2415
2416func (x OfpBadInstructionCode) Number() protoreflect.EnumNumber {
2417 return protoreflect.EnumNumber(x)
2418}
2419
2420// Deprecated: Use OfpBadInstructionCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002421func (OfpBadInstructionCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002422 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{35}
William Kurkian1b363f42019-03-12 15:28:12 -04002423}
2424
2425// ofp_error_msg 'code' values for OFPET_BAD_MATCH. 'data' contains at least
2426// the first 64 bytes of the failed request.
2427type OfpBadMatchCode int32
2428
2429const (
2430 OfpBadMatchCode_OFPBMC_BAD_TYPE OfpBadMatchCode = 0
Abhay Kumar03713392025-12-30 05:20:58 +00002431 OfpBadMatchCode_OFPBMC_BAD_LEN OfpBadMatchCode = 1 // Length problem in match.
2432 OfpBadMatchCode_OFPBMC_BAD_TAG OfpBadMatchCode = 2 // Match uses an unsupported tag/encap.
William Kurkian1b363f42019-03-12 15:28:12 -04002433 OfpBadMatchCode_OFPBMC_BAD_DL_ADDR_MASK OfpBadMatchCode = 3
2434 OfpBadMatchCode_OFPBMC_BAD_NW_ADDR_MASK OfpBadMatchCode = 4
2435 OfpBadMatchCode_OFPBMC_BAD_WILDCARDS OfpBadMatchCode = 5
Abhay Kumar03713392025-12-30 05:20:58 +00002436 OfpBadMatchCode_OFPBMC_BAD_FIELD OfpBadMatchCode = 6 // Unsupported field type in the match.
2437 OfpBadMatchCode_OFPBMC_BAD_VALUE OfpBadMatchCode = 7 // Unsupported value in a match field.
William Kurkian1b363f42019-03-12 15:28:12 -04002438 OfpBadMatchCode_OFPBMC_BAD_MASK OfpBadMatchCode = 8
Abhay Kumar03713392025-12-30 05:20:58 +00002439 OfpBadMatchCode_OFPBMC_BAD_PREREQ OfpBadMatchCode = 9 // A prerequisite was not met.
2440 OfpBadMatchCode_OFPBMC_DUP_FIELD OfpBadMatchCode = 10 // A field type was duplicated.
2441 OfpBadMatchCode_OFPBMC_EPERM OfpBadMatchCode = 11 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002442)
2443
Abhay Kumar03713392025-12-30 05:20:58 +00002444// Enum value maps for OfpBadMatchCode.
2445var (
2446 OfpBadMatchCode_name = map[int32]string{
2447 0: "OFPBMC_BAD_TYPE",
2448 1: "OFPBMC_BAD_LEN",
2449 2: "OFPBMC_BAD_TAG",
2450 3: "OFPBMC_BAD_DL_ADDR_MASK",
2451 4: "OFPBMC_BAD_NW_ADDR_MASK",
2452 5: "OFPBMC_BAD_WILDCARDS",
2453 6: "OFPBMC_BAD_FIELD",
2454 7: "OFPBMC_BAD_VALUE",
2455 8: "OFPBMC_BAD_MASK",
2456 9: "OFPBMC_BAD_PREREQ",
2457 10: "OFPBMC_DUP_FIELD",
2458 11: "OFPBMC_EPERM",
2459 }
2460 OfpBadMatchCode_value = map[string]int32{
2461 "OFPBMC_BAD_TYPE": 0,
2462 "OFPBMC_BAD_LEN": 1,
2463 "OFPBMC_BAD_TAG": 2,
2464 "OFPBMC_BAD_DL_ADDR_MASK": 3,
2465 "OFPBMC_BAD_NW_ADDR_MASK": 4,
2466 "OFPBMC_BAD_WILDCARDS": 5,
2467 "OFPBMC_BAD_FIELD": 6,
2468 "OFPBMC_BAD_VALUE": 7,
2469 "OFPBMC_BAD_MASK": 8,
2470 "OFPBMC_BAD_PREREQ": 9,
2471 "OFPBMC_DUP_FIELD": 10,
2472 "OFPBMC_EPERM": 11,
2473 }
2474)
William Kurkianad745652019-03-20 08:45:51 -04002475
Abhay Kumar03713392025-12-30 05:20:58 +00002476func (x OfpBadMatchCode) Enum() *OfpBadMatchCode {
2477 p := new(OfpBadMatchCode)
2478 *p = x
2479 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002480}
2481
2482func (x OfpBadMatchCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002483 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002484}
William Kurkianad745652019-03-20 08:45:51 -04002485
Abhay Kumar03713392025-12-30 05:20:58 +00002486func (OfpBadMatchCode) Descriptor() protoreflect.EnumDescriptor {
2487 return file_voltha_protos_openflow_13_proto_enumTypes[36].Descriptor()
2488}
2489
2490func (OfpBadMatchCode) Type() protoreflect.EnumType {
2491 return &file_voltha_protos_openflow_13_proto_enumTypes[36]
2492}
2493
2494func (x OfpBadMatchCode) Number() protoreflect.EnumNumber {
2495 return protoreflect.EnumNumber(x)
2496}
2497
2498// Deprecated: Use OfpBadMatchCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002499func (OfpBadMatchCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002500 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{36}
William Kurkian1b363f42019-03-12 15:28:12 -04002501}
2502
2503// ofp_error_msg 'code' values for OFPET_FLOW_MOD_FAILED. 'data' contains
2504// at least the first 64 bytes of the failed request.
2505type OfpFlowModFailedCode int32
2506
2507const (
Abhay Kumar03713392025-12-30 05:20:58 +00002508 OfpFlowModFailedCode_OFPFMFC_UNKNOWN OfpFlowModFailedCode = 0 // Unspecified error.
2509 OfpFlowModFailedCode_OFPFMFC_TABLE_FULL OfpFlowModFailedCode = 1 // Flow not added because table was full.
2510 OfpFlowModFailedCode_OFPFMFC_BAD_TABLE_ID OfpFlowModFailedCode = 2 // Table does not exist
William Kurkian1b363f42019-03-12 15:28:12 -04002511 OfpFlowModFailedCode_OFPFMFC_OVERLAP OfpFlowModFailedCode = 3
Abhay Kumar03713392025-12-30 05:20:58 +00002512 OfpFlowModFailedCode_OFPFMFC_EPERM OfpFlowModFailedCode = 4 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002513 OfpFlowModFailedCode_OFPFMFC_BAD_TIMEOUT OfpFlowModFailedCode = 5
Abhay Kumar03713392025-12-30 05:20:58 +00002514 OfpFlowModFailedCode_OFPFMFC_BAD_COMMAND OfpFlowModFailedCode = 6 // Unsupported or unknown command.
2515 OfpFlowModFailedCode_OFPFMFC_BAD_FLAGS OfpFlowModFailedCode = 7 // Unsupported or unknown flags.
William Kurkian1b363f42019-03-12 15:28:12 -04002516)
2517
Abhay Kumar03713392025-12-30 05:20:58 +00002518// Enum value maps for OfpFlowModFailedCode.
2519var (
2520 OfpFlowModFailedCode_name = map[int32]string{
2521 0: "OFPFMFC_UNKNOWN",
2522 1: "OFPFMFC_TABLE_FULL",
2523 2: "OFPFMFC_BAD_TABLE_ID",
2524 3: "OFPFMFC_OVERLAP",
2525 4: "OFPFMFC_EPERM",
2526 5: "OFPFMFC_BAD_TIMEOUT",
2527 6: "OFPFMFC_BAD_COMMAND",
2528 7: "OFPFMFC_BAD_FLAGS",
2529 }
2530 OfpFlowModFailedCode_value = map[string]int32{
2531 "OFPFMFC_UNKNOWN": 0,
2532 "OFPFMFC_TABLE_FULL": 1,
2533 "OFPFMFC_BAD_TABLE_ID": 2,
2534 "OFPFMFC_OVERLAP": 3,
2535 "OFPFMFC_EPERM": 4,
2536 "OFPFMFC_BAD_TIMEOUT": 5,
2537 "OFPFMFC_BAD_COMMAND": 6,
2538 "OFPFMFC_BAD_FLAGS": 7,
2539 }
2540)
William Kurkianad745652019-03-20 08:45:51 -04002541
Abhay Kumar03713392025-12-30 05:20:58 +00002542func (x OfpFlowModFailedCode) Enum() *OfpFlowModFailedCode {
2543 p := new(OfpFlowModFailedCode)
2544 *p = x
2545 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002546}
2547
2548func (x OfpFlowModFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002549 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002550}
William Kurkianad745652019-03-20 08:45:51 -04002551
Abhay Kumar03713392025-12-30 05:20:58 +00002552func (OfpFlowModFailedCode) Descriptor() protoreflect.EnumDescriptor {
2553 return file_voltha_protos_openflow_13_proto_enumTypes[37].Descriptor()
2554}
2555
2556func (OfpFlowModFailedCode) Type() protoreflect.EnumType {
2557 return &file_voltha_protos_openflow_13_proto_enumTypes[37]
2558}
2559
2560func (x OfpFlowModFailedCode) Number() protoreflect.EnumNumber {
2561 return protoreflect.EnumNumber(x)
2562}
2563
2564// Deprecated: Use OfpFlowModFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002565func (OfpFlowModFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002566 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{37}
William Kurkian1b363f42019-03-12 15:28:12 -04002567}
2568
2569// ofp_error_msg 'code' values for OFPET_GROUP_MOD_FAILED. 'data' contains
2570// at least the first 64 bytes of the failed request.
2571type OfpGroupModFailedCode int32
2572
2573const (
2574 OfpGroupModFailedCode_OFPGMFC_GROUP_EXISTS OfpGroupModFailedCode = 0
2575 OfpGroupModFailedCode_OFPGMFC_INVALID_GROUP OfpGroupModFailedCode = 1
2576 OfpGroupModFailedCode_OFPGMFC_WEIGHT_UNSUPPORTED OfpGroupModFailedCode = 2
Abhay Kumar03713392025-12-30 05:20:58 +00002577 OfpGroupModFailedCode_OFPGMFC_OUT_OF_GROUPS OfpGroupModFailedCode = 3 // The group table is full.
William Kurkian1b363f42019-03-12 15:28:12 -04002578 OfpGroupModFailedCode_OFPGMFC_OUT_OF_BUCKETS OfpGroupModFailedCode = 4
2579 OfpGroupModFailedCode_OFPGMFC_CHAINING_UNSUPPORTED OfpGroupModFailedCode = 5
2580 OfpGroupModFailedCode_OFPGMFC_WATCH_UNSUPPORTED OfpGroupModFailedCode = 6
Abhay Kumar03713392025-12-30 05:20:58 +00002581 OfpGroupModFailedCode_OFPGMFC_LOOP OfpGroupModFailedCode = 7 // Group entry would cause a loop.
William Kurkian1b363f42019-03-12 15:28:12 -04002582 OfpGroupModFailedCode_OFPGMFC_UNKNOWN_GROUP OfpGroupModFailedCode = 8
2583 OfpGroupModFailedCode_OFPGMFC_CHAINED_GROUP OfpGroupModFailedCode = 9
Abhay Kumar03713392025-12-30 05:20:58 +00002584 OfpGroupModFailedCode_OFPGMFC_BAD_TYPE OfpGroupModFailedCode = 10 // Unsupported or unknown group type.
2585 OfpGroupModFailedCode_OFPGMFC_BAD_COMMAND OfpGroupModFailedCode = 11 // Unsupported or unknown command.
2586 OfpGroupModFailedCode_OFPGMFC_BAD_BUCKET OfpGroupModFailedCode = 12 // Error in bucket.
2587 OfpGroupModFailedCode_OFPGMFC_BAD_WATCH OfpGroupModFailedCode = 13 // Error in watch port/group.
2588 OfpGroupModFailedCode_OFPGMFC_EPERM OfpGroupModFailedCode = 14 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002589)
2590
Abhay Kumar03713392025-12-30 05:20:58 +00002591// Enum value maps for OfpGroupModFailedCode.
2592var (
2593 OfpGroupModFailedCode_name = map[int32]string{
2594 0: "OFPGMFC_GROUP_EXISTS",
2595 1: "OFPGMFC_INVALID_GROUP",
2596 2: "OFPGMFC_WEIGHT_UNSUPPORTED",
2597 3: "OFPGMFC_OUT_OF_GROUPS",
2598 4: "OFPGMFC_OUT_OF_BUCKETS",
2599 5: "OFPGMFC_CHAINING_UNSUPPORTED",
2600 6: "OFPGMFC_WATCH_UNSUPPORTED",
2601 7: "OFPGMFC_LOOP",
2602 8: "OFPGMFC_UNKNOWN_GROUP",
2603 9: "OFPGMFC_CHAINED_GROUP",
2604 10: "OFPGMFC_BAD_TYPE",
2605 11: "OFPGMFC_BAD_COMMAND",
2606 12: "OFPGMFC_BAD_BUCKET",
2607 13: "OFPGMFC_BAD_WATCH",
2608 14: "OFPGMFC_EPERM",
2609 }
2610 OfpGroupModFailedCode_value = map[string]int32{
2611 "OFPGMFC_GROUP_EXISTS": 0,
2612 "OFPGMFC_INVALID_GROUP": 1,
2613 "OFPGMFC_WEIGHT_UNSUPPORTED": 2,
2614 "OFPGMFC_OUT_OF_GROUPS": 3,
2615 "OFPGMFC_OUT_OF_BUCKETS": 4,
2616 "OFPGMFC_CHAINING_UNSUPPORTED": 5,
2617 "OFPGMFC_WATCH_UNSUPPORTED": 6,
2618 "OFPGMFC_LOOP": 7,
2619 "OFPGMFC_UNKNOWN_GROUP": 8,
2620 "OFPGMFC_CHAINED_GROUP": 9,
2621 "OFPGMFC_BAD_TYPE": 10,
2622 "OFPGMFC_BAD_COMMAND": 11,
2623 "OFPGMFC_BAD_BUCKET": 12,
2624 "OFPGMFC_BAD_WATCH": 13,
2625 "OFPGMFC_EPERM": 14,
2626 }
2627)
William Kurkianad745652019-03-20 08:45:51 -04002628
Abhay Kumar03713392025-12-30 05:20:58 +00002629func (x OfpGroupModFailedCode) Enum() *OfpGroupModFailedCode {
2630 p := new(OfpGroupModFailedCode)
2631 *p = x
2632 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002633}
2634
2635func (x OfpGroupModFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002636 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002637}
William Kurkianad745652019-03-20 08:45:51 -04002638
Abhay Kumar03713392025-12-30 05:20:58 +00002639func (OfpGroupModFailedCode) Descriptor() protoreflect.EnumDescriptor {
2640 return file_voltha_protos_openflow_13_proto_enumTypes[38].Descriptor()
2641}
2642
2643func (OfpGroupModFailedCode) Type() protoreflect.EnumType {
2644 return &file_voltha_protos_openflow_13_proto_enumTypes[38]
2645}
2646
2647func (x OfpGroupModFailedCode) Number() protoreflect.EnumNumber {
2648 return protoreflect.EnumNumber(x)
2649}
2650
2651// Deprecated: Use OfpGroupModFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002652func (OfpGroupModFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002653 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{38}
William Kurkian1b363f42019-03-12 15:28:12 -04002654}
2655
2656// ofp_error_msg 'code' values for OFPET_PORT_MOD_FAILED. 'data' contains
2657// at least the first 64 bytes of the failed request.
2658type OfpPortModFailedCode int32
2659
2660const (
Abhay Kumar03713392025-12-30 05:20:58 +00002661 OfpPortModFailedCode_OFPPMFC_BAD_PORT OfpPortModFailedCode = 0 // Specified port number does not exist.
William Kurkian1b363f42019-03-12 15:28:12 -04002662 OfpPortModFailedCode_OFPPMFC_BAD_HW_ADDR OfpPortModFailedCode = 1
Abhay Kumar03713392025-12-30 05:20:58 +00002663 OfpPortModFailedCode_OFPPMFC_BAD_CONFIG OfpPortModFailedCode = 2 // Specified config is invalid.
2664 OfpPortModFailedCode_OFPPMFC_BAD_ADVERTISE OfpPortModFailedCode = 3 // Specified advertise is invalid.
2665 OfpPortModFailedCode_OFPPMFC_EPERM OfpPortModFailedCode = 4 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002666)
2667
Abhay Kumar03713392025-12-30 05:20:58 +00002668// Enum value maps for OfpPortModFailedCode.
2669var (
2670 OfpPortModFailedCode_name = map[int32]string{
2671 0: "OFPPMFC_BAD_PORT",
2672 1: "OFPPMFC_BAD_HW_ADDR",
2673 2: "OFPPMFC_BAD_CONFIG",
2674 3: "OFPPMFC_BAD_ADVERTISE",
2675 4: "OFPPMFC_EPERM",
2676 }
2677 OfpPortModFailedCode_value = map[string]int32{
2678 "OFPPMFC_BAD_PORT": 0,
2679 "OFPPMFC_BAD_HW_ADDR": 1,
2680 "OFPPMFC_BAD_CONFIG": 2,
2681 "OFPPMFC_BAD_ADVERTISE": 3,
2682 "OFPPMFC_EPERM": 4,
2683 }
2684)
William Kurkianad745652019-03-20 08:45:51 -04002685
Abhay Kumar03713392025-12-30 05:20:58 +00002686func (x OfpPortModFailedCode) Enum() *OfpPortModFailedCode {
2687 p := new(OfpPortModFailedCode)
2688 *p = x
2689 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002690}
2691
2692func (x OfpPortModFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002693 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002694}
William Kurkianad745652019-03-20 08:45:51 -04002695
Abhay Kumar03713392025-12-30 05:20:58 +00002696func (OfpPortModFailedCode) Descriptor() protoreflect.EnumDescriptor {
2697 return file_voltha_protos_openflow_13_proto_enumTypes[39].Descriptor()
2698}
2699
2700func (OfpPortModFailedCode) Type() protoreflect.EnumType {
2701 return &file_voltha_protos_openflow_13_proto_enumTypes[39]
2702}
2703
2704func (x OfpPortModFailedCode) Number() protoreflect.EnumNumber {
2705 return protoreflect.EnumNumber(x)
2706}
2707
2708// Deprecated: Use OfpPortModFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002709func (OfpPortModFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002710 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{39}
William Kurkian1b363f42019-03-12 15:28:12 -04002711}
2712
2713// ofp_error_msg 'code' values for OFPET_TABLE_MOD_FAILED. 'data' contains
2714// at least the first 64 bytes of the failed request.
2715type OfpTableModFailedCode int32
2716
2717const (
Abhay Kumar03713392025-12-30 05:20:58 +00002718 OfpTableModFailedCode_OFPTMFC_BAD_TABLE OfpTableModFailedCode = 0 // Specified table does not exist.
2719 OfpTableModFailedCode_OFPTMFC_BAD_CONFIG OfpTableModFailedCode = 1 // Specified config is invalid.
2720 OfpTableModFailedCode_OFPTMFC_EPERM OfpTableModFailedCode = 2 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002721)
2722
Abhay Kumar03713392025-12-30 05:20:58 +00002723// Enum value maps for OfpTableModFailedCode.
2724var (
2725 OfpTableModFailedCode_name = map[int32]string{
2726 0: "OFPTMFC_BAD_TABLE",
2727 1: "OFPTMFC_BAD_CONFIG",
2728 2: "OFPTMFC_EPERM",
2729 }
2730 OfpTableModFailedCode_value = map[string]int32{
2731 "OFPTMFC_BAD_TABLE": 0,
2732 "OFPTMFC_BAD_CONFIG": 1,
2733 "OFPTMFC_EPERM": 2,
2734 }
2735)
William Kurkianad745652019-03-20 08:45:51 -04002736
Abhay Kumar03713392025-12-30 05:20:58 +00002737func (x OfpTableModFailedCode) Enum() *OfpTableModFailedCode {
2738 p := new(OfpTableModFailedCode)
2739 *p = x
2740 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002741}
2742
2743func (x OfpTableModFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002744 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002745}
William Kurkianad745652019-03-20 08:45:51 -04002746
Abhay Kumar03713392025-12-30 05:20:58 +00002747func (OfpTableModFailedCode) Descriptor() protoreflect.EnumDescriptor {
2748 return file_voltha_protos_openflow_13_proto_enumTypes[40].Descriptor()
2749}
2750
2751func (OfpTableModFailedCode) Type() protoreflect.EnumType {
2752 return &file_voltha_protos_openflow_13_proto_enumTypes[40]
2753}
2754
2755func (x OfpTableModFailedCode) Number() protoreflect.EnumNumber {
2756 return protoreflect.EnumNumber(x)
2757}
2758
2759// Deprecated: Use OfpTableModFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002760func (OfpTableModFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002761 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{40}
William Kurkian1b363f42019-03-12 15:28:12 -04002762}
2763
2764// ofp_error msg 'code' values for OFPET_QUEUE_OP_FAILED. 'data' contains
2765// at least the first 64 bytes of the failed request
2766type OfpQueueOpFailedCode int32
2767
2768const (
Abhay Kumar03713392025-12-30 05:20:58 +00002769 OfpQueueOpFailedCode_OFPQOFC_BAD_PORT OfpQueueOpFailedCode = 0 // Invalid port (or port does not exist).
2770 OfpQueueOpFailedCode_OFPQOFC_BAD_QUEUE OfpQueueOpFailedCode = 1 // Queue does not exist.
2771 OfpQueueOpFailedCode_OFPQOFC_EPERM OfpQueueOpFailedCode = 2 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002772)
2773
Abhay Kumar03713392025-12-30 05:20:58 +00002774// Enum value maps for OfpQueueOpFailedCode.
2775var (
2776 OfpQueueOpFailedCode_name = map[int32]string{
2777 0: "OFPQOFC_BAD_PORT",
2778 1: "OFPQOFC_BAD_QUEUE",
2779 2: "OFPQOFC_EPERM",
2780 }
2781 OfpQueueOpFailedCode_value = map[string]int32{
2782 "OFPQOFC_BAD_PORT": 0,
2783 "OFPQOFC_BAD_QUEUE": 1,
2784 "OFPQOFC_EPERM": 2,
2785 }
2786)
William Kurkianad745652019-03-20 08:45:51 -04002787
Abhay Kumar03713392025-12-30 05:20:58 +00002788func (x OfpQueueOpFailedCode) Enum() *OfpQueueOpFailedCode {
2789 p := new(OfpQueueOpFailedCode)
2790 *p = x
2791 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002792}
2793
2794func (x OfpQueueOpFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002795 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002796}
William Kurkianad745652019-03-20 08:45:51 -04002797
Abhay Kumar03713392025-12-30 05:20:58 +00002798func (OfpQueueOpFailedCode) Descriptor() protoreflect.EnumDescriptor {
2799 return file_voltha_protos_openflow_13_proto_enumTypes[41].Descriptor()
2800}
2801
2802func (OfpQueueOpFailedCode) Type() protoreflect.EnumType {
2803 return &file_voltha_protos_openflow_13_proto_enumTypes[41]
2804}
2805
2806func (x OfpQueueOpFailedCode) Number() protoreflect.EnumNumber {
2807 return protoreflect.EnumNumber(x)
2808}
2809
2810// Deprecated: Use OfpQueueOpFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002811func (OfpQueueOpFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002812 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{41}
William Kurkian1b363f42019-03-12 15:28:12 -04002813}
2814
2815// ofp_error_msg 'code' values for OFPET_SWITCH_CONFIG_FAILED. 'data' contains
2816// at least the first 64 bytes of the failed request.
2817type OfpSwitchConfigFailedCode int32
2818
2819const (
Abhay Kumar03713392025-12-30 05:20:58 +00002820 OfpSwitchConfigFailedCode_OFPSCFC_BAD_FLAGS OfpSwitchConfigFailedCode = 0 // Specified flags is invalid.
2821 OfpSwitchConfigFailedCode_OFPSCFC_BAD_LEN OfpSwitchConfigFailedCode = 1 // Specified len is invalid.
2822 OfpSwitchConfigFailedCode_OFPSCFC_EPERM OfpSwitchConfigFailedCode = 2 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04002823)
2824
Abhay Kumar03713392025-12-30 05:20:58 +00002825// Enum value maps for OfpSwitchConfigFailedCode.
2826var (
2827 OfpSwitchConfigFailedCode_name = map[int32]string{
2828 0: "OFPSCFC_BAD_FLAGS",
2829 1: "OFPSCFC_BAD_LEN",
2830 2: "OFPSCFC_EPERM",
2831 }
2832 OfpSwitchConfigFailedCode_value = map[string]int32{
2833 "OFPSCFC_BAD_FLAGS": 0,
2834 "OFPSCFC_BAD_LEN": 1,
2835 "OFPSCFC_EPERM": 2,
2836 }
2837)
William Kurkianad745652019-03-20 08:45:51 -04002838
Abhay Kumar03713392025-12-30 05:20:58 +00002839func (x OfpSwitchConfigFailedCode) Enum() *OfpSwitchConfigFailedCode {
2840 p := new(OfpSwitchConfigFailedCode)
2841 *p = x
2842 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002843}
2844
2845func (x OfpSwitchConfigFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002846 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002847}
William Kurkianad745652019-03-20 08:45:51 -04002848
Abhay Kumar03713392025-12-30 05:20:58 +00002849func (OfpSwitchConfigFailedCode) Descriptor() protoreflect.EnumDescriptor {
2850 return file_voltha_protos_openflow_13_proto_enumTypes[42].Descriptor()
2851}
2852
2853func (OfpSwitchConfigFailedCode) Type() protoreflect.EnumType {
2854 return &file_voltha_protos_openflow_13_proto_enumTypes[42]
2855}
2856
2857func (x OfpSwitchConfigFailedCode) Number() protoreflect.EnumNumber {
2858 return protoreflect.EnumNumber(x)
2859}
2860
2861// Deprecated: Use OfpSwitchConfigFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002862func (OfpSwitchConfigFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002863 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{42}
William Kurkian1b363f42019-03-12 15:28:12 -04002864}
2865
2866// ofp_error_msg 'code' values for OFPET_ROLE_REQUEST_FAILED. 'data' contains
2867// at least the first 64 bytes of the failed request.
2868type OfpRoleRequestFailedCode int32
2869
2870const (
Abhay Kumar03713392025-12-30 05:20:58 +00002871 OfpRoleRequestFailedCode_OFPRRFC_STALE OfpRoleRequestFailedCode = 0 // Stale Message: old generation_id.
2872 OfpRoleRequestFailedCode_OFPRRFC_UNSUP OfpRoleRequestFailedCode = 1 // Controller role change unsupported.
2873 OfpRoleRequestFailedCode_OFPRRFC_BAD_ROLE OfpRoleRequestFailedCode = 2 // Invalid role.
William Kurkian1b363f42019-03-12 15:28:12 -04002874)
2875
Abhay Kumar03713392025-12-30 05:20:58 +00002876// Enum value maps for OfpRoleRequestFailedCode.
2877var (
2878 OfpRoleRequestFailedCode_name = map[int32]string{
2879 0: "OFPRRFC_STALE",
2880 1: "OFPRRFC_UNSUP",
2881 2: "OFPRRFC_BAD_ROLE",
2882 }
2883 OfpRoleRequestFailedCode_value = map[string]int32{
2884 "OFPRRFC_STALE": 0,
2885 "OFPRRFC_UNSUP": 1,
2886 "OFPRRFC_BAD_ROLE": 2,
2887 }
2888)
William Kurkianad745652019-03-20 08:45:51 -04002889
Abhay Kumar03713392025-12-30 05:20:58 +00002890func (x OfpRoleRequestFailedCode) Enum() *OfpRoleRequestFailedCode {
2891 p := new(OfpRoleRequestFailedCode)
2892 *p = x
2893 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002894}
2895
2896func (x OfpRoleRequestFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002897 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002898}
William Kurkianad745652019-03-20 08:45:51 -04002899
Abhay Kumar03713392025-12-30 05:20:58 +00002900func (OfpRoleRequestFailedCode) Descriptor() protoreflect.EnumDescriptor {
2901 return file_voltha_protos_openflow_13_proto_enumTypes[43].Descriptor()
2902}
2903
2904func (OfpRoleRequestFailedCode) Type() protoreflect.EnumType {
2905 return &file_voltha_protos_openflow_13_proto_enumTypes[43]
2906}
2907
2908func (x OfpRoleRequestFailedCode) Number() protoreflect.EnumNumber {
2909 return protoreflect.EnumNumber(x)
2910}
2911
2912// Deprecated: Use OfpRoleRequestFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002913func (OfpRoleRequestFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002914 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{43}
William Kurkian1b363f42019-03-12 15:28:12 -04002915}
2916
2917// ofp_error_msg 'code' values for OFPET_METER_MOD_FAILED. 'data' contains
2918// at least the first 64 bytes of the failed request.
2919type OfpMeterModFailedCode int32
2920
2921const (
Abhay Kumar03713392025-12-30 05:20:58 +00002922 OfpMeterModFailedCode_OFPMMFC_UNKNOWN OfpMeterModFailedCode = 0 // Unspecified error.
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +03002923 OfpMeterModFailedCode_OFPMMFC_METER_EXISTS OfpMeterModFailedCode = 1
2924 OfpMeterModFailedCode_OFPMMFC_INVALID_METER OfpMeterModFailedCode = 2
2925 OfpMeterModFailedCode_OFPMMFC_UNKNOWN_METER OfpMeterModFailedCode = 3
Abhay Kumar03713392025-12-30 05:20:58 +00002926 OfpMeterModFailedCode_OFPMMFC_BAD_COMMAND OfpMeterModFailedCode = 4 // Unsupported or unknown command.
2927 OfpMeterModFailedCode_OFPMMFC_BAD_FLAGS OfpMeterModFailedCode = 5 // Flag configuration unsupported.
2928 OfpMeterModFailedCode_OFPMMFC_BAD_RATE OfpMeterModFailedCode = 6 // Rate unsupported.
2929 OfpMeterModFailedCode_OFPMMFC_BAD_BURST OfpMeterModFailedCode = 7 // Burst size unsupported.
2930 OfpMeterModFailedCode_OFPMMFC_BAD_BAND OfpMeterModFailedCode = 8 // Band unsupported.
2931 OfpMeterModFailedCode_OFPMMFC_BAD_BAND_DETAIL OfpMeterModFailedCode = 9 // Band value unsupported.
2932 OfpMeterModFailedCode_OFPMMFC_OUT_OF_METERS OfpMeterModFailedCode = 10 // No more meters available.
Serkant Uluderyacbcfaa42019-10-18 13:25:08 +03002933 OfpMeterModFailedCode_OFPMMFC_OUT_OF_BANDS OfpMeterModFailedCode = 11
William Kurkian1b363f42019-03-12 15:28:12 -04002934)
2935
Abhay Kumar03713392025-12-30 05:20:58 +00002936// Enum value maps for OfpMeterModFailedCode.
2937var (
2938 OfpMeterModFailedCode_name = map[int32]string{
2939 0: "OFPMMFC_UNKNOWN",
2940 1: "OFPMMFC_METER_EXISTS",
2941 2: "OFPMMFC_INVALID_METER",
2942 3: "OFPMMFC_UNKNOWN_METER",
2943 4: "OFPMMFC_BAD_COMMAND",
2944 5: "OFPMMFC_BAD_FLAGS",
2945 6: "OFPMMFC_BAD_RATE",
2946 7: "OFPMMFC_BAD_BURST",
2947 8: "OFPMMFC_BAD_BAND",
2948 9: "OFPMMFC_BAD_BAND_DETAIL",
2949 10: "OFPMMFC_OUT_OF_METERS",
2950 11: "OFPMMFC_OUT_OF_BANDS",
2951 }
2952 OfpMeterModFailedCode_value = map[string]int32{
2953 "OFPMMFC_UNKNOWN": 0,
2954 "OFPMMFC_METER_EXISTS": 1,
2955 "OFPMMFC_INVALID_METER": 2,
2956 "OFPMMFC_UNKNOWN_METER": 3,
2957 "OFPMMFC_BAD_COMMAND": 4,
2958 "OFPMMFC_BAD_FLAGS": 5,
2959 "OFPMMFC_BAD_RATE": 6,
2960 "OFPMMFC_BAD_BURST": 7,
2961 "OFPMMFC_BAD_BAND": 8,
2962 "OFPMMFC_BAD_BAND_DETAIL": 9,
2963 "OFPMMFC_OUT_OF_METERS": 10,
2964 "OFPMMFC_OUT_OF_BANDS": 11,
2965 }
2966)
William Kurkianad745652019-03-20 08:45:51 -04002967
Abhay Kumar03713392025-12-30 05:20:58 +00002968func (x OfpMeterModFailedCode) Enum() *OfpMeterModFailedCode {
2969 p := new(OfpMeterModFailedCode)
2970 *p = x
2971 return p
William Kurkian1b363f42019-03-12 15:28:12 -04002972}
2973
2974func (x OfpMeterModFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00002975 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04002976}
William Kurkianad745652019-03-20 08:45:51 -04002977
Abhay Kumar03713392025-12-30 05:20:58 +00002978func (OfpMeterModFailedCode) Descriptor() protoreflect.EnumDescriptor {
2979 return file_voltha_protos_openflow_13_proto_enumTypes[44].Descriptor()
2980}
2981
2982func (OfpMeterModFailedCode) Type() protoreflect.EnumType {
2983 return &file_voltha_protos_openflow_13_proto_enumTypes[44]
2984}
2985
2986func (x OfpMeterModFailedCode) Number() protoreflect.EnumNumber {
2987 return protoreflect.EnumNumber(x)
2988}
2989
2990// Deprecated: Use OfpMeterModFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04002991func (OfpMeterModFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00002992 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{44}
William Kurkian1b363f42019-03-12 15:28:12 -04002993}
2994
2995// ofp_error_msg 'code' values for OFPET_TABLE_FEATURES_FAILED. 'data' contains
2996// at least the first 64 bytes of the failed request.
2997type OfpTableFeaturesFailedCode int32
2998
2999const (
Abhay Kumar03713392025-12-30 05:20:58 +00003000 OfpTableFeaturesFailedCode_OFPTFFC_BAD_TABLE OfpTableFeaturesFailedCode = 0 // Specified table does not exist.
3001 OfpTableFeaturesFailedCode_OFPTFFC_BAD_METADATA OfpTableFeaturesFailedCode = 1 // Invalid metadata mask.
3002 OfpTableFeaturesFailedCode_OFPTFFC_BAD_TYPE OfpTableFeaturesFailedCode = 2 // Unknown property type.
3003 OfpTableFeaturesFailedCode_OFPTFFC_BAD_LEN OfpTableFeaturesFailedCode = 3 // Length problem in properties.
3004 OfpTableFeaturesFailedCode_OFPTFFC_BAD_ARGUMENT OfpTableFeaturesFailedCode = 4 // Unsupported property value.
3005 OfpTableFeaturesFailedCode_OFPTFFC_EPERM OfpTableFeaturesFailedCode = 5 // Permissions error.
William Kurkian1b363f42019-03-12 15:28:12 -04003006)
3007
Abhay Kumar03713392025-12-30 05:20:58 +00003008// Enum value maps for OfpTableFeaturesFailedCode.
3009var (
3010 OfpTableFeaturesFailedCode_name = map[int32]string{
3011 0: "OFPTFFC_BAD_TABLE",
3012 1: "OFPTFFC_BAD_METADATA",
3013 2: "OFPTFFC_BAD_TYPE",
3014 3: "OFPTFFC_BAD_LEN",
3015 4: "OFPTFFC_BAD_ARGUMENT",
3016 5: "OFPTFFC_EPERM",
3017 }
3018 OfpTableFeaturesFailedCode_value = map[string]int32{
3019 "OFPTFFC_BAD_TABLE": 0,
3020 "OFPTFFC_BAD_METADATA": 1,
3021 "OFPTFFC_BAD_TYPE": 2,
3022 "OFPTFFC_BAD_LEN": 3,
3023 "OFPTFFC_BAD_ARGUMENT": 4,
3024 "OFPTFFC_EPERM": 5,
3025 }
3026)
William Kurkianad745652019-03-20 08:45:51 -04003027
Abhay Kumar03713392025-12-30 05:20:58 +00003028func (x OfpTableFeaturesFailedCode) Enum() *OfpTableFeaturesFailedCode {
3029 p := new(OfpTableFeaturesFailedCode)
3030 *p = x
3031 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003032}
3033
3034func (x OfpTableFeaturesFailedCode) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003035 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003036}
William Kurkianad745652019-03-20 08:45:51 -04003037
Abhay Kumar03713392025-12-30 05:20:58 +00003038func (OfpTableFeaturesFailedCode) Descriptor() protoreflect.EnumDescriptor {
3039 return file_voltha_protos_openflow_13_proto_enumTypes[45].Descriptor()
3040}
3041
3042func (OfpTableFeaturesFailedCode) Type() protoreflect.EnumType {
3043 return &file_voltha_protos_openflow_13_proto_enumTypes[45]
3044}
3045
3046func (x OfpTableFeaturesFailedCode) Number() protoreflect.EnumNumber {
3047 return protoreflect.EnumNumber(x)
3048}
3049
3050// Deprecated: Use OfpTableFeaturesFailedCode.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003051func (OfpTableFeaturesFailedCode) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003052 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{45}
William Kurkian1b363f42019-03-12 15:28:12 -04003053}
3054
3055type OfpMultipartType int32
3056
3057const (
3058 // Description of this OpenFlow switch.
3059 // The request body is empty.
3060 // The reply body is struct ofp_desc.
3061 OfpMultipartType_OFPMP_DESC OfpMultipartType = 0
3062 // Individual flow statistics.
3063 // The request body is struct ofp_flow_stats_request.
3064 // The reply body is an array of struct ofp_flow_stats.
3065 OfpMultipartType_OFPMP_FLOW OfpMultipartType = 1
3066 // Aggregate flow statistics.
3067 // The request body is struct ofp_aggregate_stats_request.
3068 // The reply body is struct ofp_aggregate_stats_reply.
3069 OfpMultipartType_OFPMP_AGGREGATE OfpMultipartType = 2
3070 // Flow table statistics.
3071 // The request body is empty.
3072 // The reply body is an array of struct ofp_table_stats.
3073 OfpMultipartType_OFPMP_TABLE OfpMultipartType = 3
3074 // Port statistics.
3075 // The request body is struct ofp_port_stats_request.
3076 // The reply body is an array of struct ofp_port_stats.
3077 OfpMultipartType_OFPMP_PORT_STATS OfpMultipartType = 4
3078 // Queue statistics for a port
3079 // The request body is struct ofp_queue_stats_request.
3080 // The reply body is an array of struct ofp_queue_stats
3081 OfpMultipartType_OFPMP_QUEUE OfpMultipartType = 5
3082 // Group counter statistics.
3083 // The request body is struct ofp_group_stats_request.
3084 // The reply is an array of struct ofp_group_stats.
3085 OfpMultipartType_OFPMP_GROUP OfpMultipartType = 6
3086 // Group description.
3087 // The request body is empty.
3088 // The reply body is an array of struct ofp_group_desc.
3089 OfpMultipartType_OFPMP_GROUP_DESC OfpMultipartType = 7
3090 // Group features.
3091 // The request body is empty.
3092 // The reply body is struct ofp_group_features.
3093 OfpMultipartType_OFPMP_GROUP_FEATURES OfpMultipartType = 8
3094 // Meter statistics.
3095 // The request body is struct ofp_meter_multipart_requests.
3096 // The reply body is an array of struct ofp_meter_stats.
3097 OfpMultipartType_OFPMP_METER OfpMultipartType = 9
3098 // Meter configuration.
3099 // The request body is struct ofp_meter_multipart_requests.
3100 // The reply body is an array of struct ofp_meter_config.
3101 OfpMultipartType_OFPMP_METER_CONFIG OfpMultipartType = 10
3102 // Meter features.
3103 // The request body is empty.
3104 // The reply body is struct ofp_meter_features.
3105 OfpMultipartType_OFPMP_METER_FEATURES OfpMultipartType = 11
3106 // Table features.
3107 // The request body is either empty or contains an array of
3108 // struct ofp_table_features containing the controller's
3109 // desired view of the switch. If the switch is unable to
3110 // set the specified view an error is returned.
3111 // The reply body is an array of struct ofp_table_features.
3112 OfpMultipartType_OFPMP_TABLE_FEATURES OfpMultipartType = 12
3113 // Port description.
3114 // The request body is empty.
3115 // The reply body is an array of struct ofp_port.
3116 OfpMultipartType_OFPMP_PORT_DESC OfpMultipartType = 13
3117 // Experimenter extension.
3118 // The request and reply bodies begin with
3119 // struct ofp_experimenter_multipart_header.
3120 // The request and reply bodies are otherwise experimenter-defined.
3121 OfpMultipartType_OFPMP_EXPERIMENTER OfpMultipartType = 65535
3122)
3123
Abhay Kumar03713392025-12-30 05:20:58 +00003124// Enum value maps for OfpMultipartType.
3125var (
3126 OfpMultipartType_name = map[int32]string{
3127 0: "OFPMP_DESC",
3128 1: "OFPMP_FLOW",
3129 2: "OFPMP_AGGREGATE",
3130 3: "OFPMP_TABLE",
3131 4: "OFPMP_PORT_STATS",
3132 5: "OFPMP_QUEUE",
3133 6: "OFPMP_GROUP",
3134 7: "OFPMP_GROUP_DESC",
3135 8: "OFPMP_GROUP_FEATURES",
3136 9: "OFPMP_METER",
3137 10: "OFPMP_METER_CONFIG",
3138 11: "OFPMP_METER_FEATURES",
3139 12: "OFPMP_TABLE_FEATURES",
3140 13: "OFPMP_PORT_DESC",
3141 65535: "OFPMP_EXPERIMENTER",
3142 }
3143 OfpMultipartType_value = map[string]int32{
3144 "OFPMP_DESC": 0,
3145 "OFPMP_FLOW": 1,
3146 "OFPMP_AGGREGATE": 2,
3147 "OFPMP_TABLE": 3,
3148 "OFPMP_PORT_STATS": 4,
3149 "OFPMP_QUEUE": 5,
3150 "OFPMP_GROUP": 6,
3151 "OFPMP_GROUP_DESC": 7,
3152 "OFPMP_GROUP_FEATURES": 8,
3153 "OFPMP_METER": 9,
3154 "OFPMP_METER_CONFIG": 10,
3155 "OFPMP_METER_FEATURES": 11,
3156 "OFPMP_TABLE_FEATURES": 12,
3157 "OFPMP_PORT_DESC": 13,
3158 "OFPMP_EXPERIMENTER": 65535,
3159 }
3160)
William Kurkianad745652019-03-20 08:45:51 -04003161
Abhay Kumar03713392025-12-30 05:20:58 +00003162func (x OfpMultipartType) Enum() *OfpMultipartType {
3163 p := new(OfpMultipartType)
3164 *p = x
3165 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003166}
3167
3168func (x OfpMultipartType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003169 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003170}
William Kurkianad745652019-03-20 08:45:51 -04003171
Abhay Kumar03713392025-12-30 05:20:58 +00003172func (OfpMultipartType) Descriptor() protoreflect.EnumDescriptor {
3173 return file_voltha_protos_openflow_13_proto_enumTypes[46].Descriptor()
3174}
3175
3176func (OfpMultipartType) Type() protoreflect.EnumType {
3177 return &file_voltha_protos_openflow_13_proto_enumTypes[46]
3178}
3179
3180func (x OfpMultipartType) Number() protoreflect.EnumNumber {
3181 return protoreflect.EnumNumber(x)
3182}
3183
3184// Deprecated: Use OfpMultipartType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003185func (OfpMultipartType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003186 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{46}
William Kurkian1b363f42019-03-12 15:28:12 -04003187}
3188
3189type OfpMultipartRequestFlags int32
3190
3191const (
3192 OfpMultipartRequestFlags_OFPMPF_REQ_INVALID OfpMultipartRequestFlags = 0
Abhay Kumar03713392025-12-30 05:20:58 +00003193 OfpMultipartRequestFlags_OFPMPF_REQ_MORE OfpMultipartRequestFlags = 1 // More requests to follow.
William Kurkian1b363f42019-03-12 15:28:12 -04003194)
3195
Abhay Kumar03713392025-12-30 05:20:58 +00003196// Enum value maps for OfpMultipartRequestFlags.
3197var (
3198 OfpMultipartRequestFlags_name = map[int32]string{
3199 0: "OFPMPF_REQ_INVALID",
3200 1: "OFPMPF_REQ_MORE",
3201 }
3202 OfpMultipartRequestFlags_value = map[string]int32{
3203 "OFPMPF_REQ_INVALID": 0,
3204 "OFPMPF_REQ_MORE": 1,
3205 }
3206)
William Kurkianad745652019-03-20 08:45:51 -04003207
Abhay Kumar03713392025-12-30 05:20:58 +00003208func (x OfpMultipartRequestFlags) Enum() *OfpMultipartRequestFlags {
3209 p := new(OfpMultipartRequestFlags)
3210 *p = x
3211 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003212}
3213
3214func (x OfpMultipartRequestFlags) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003215 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003216}
William Kurkianad745652019-03-20 08:45:51 -04003217
Abhay Kumar03713392025-12-30 05:20:58 +00003218func (OfpMultipartRequestFlags) Descriptor() protoreflect.EnumDescriptor {
3219 return file_voltha_protos_openflow_13_proto_enumTypes[47].Descriptor()
3220}
3221
3222func (OfpMultipartRequestFlags) Type() protoreflect.EnumType {
3223 return &file_voltha_protos_openflow_13_proto_enumTypes[47]
3224}
3225
3226func (x OfpMultipartRequestFlags) Number() protoreflect.EnumNumber {
3227 return protoreflect.EnumNumber(x)
3228}
3229
3230// Deprecated: Use OfpMultipartRequestFlags.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003231func (OfpMultipartRequestFlags) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003232 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{47}
William Kurkian1b363f42019-03-12 15:28:12 -04003233}
3234
3235type OfpMultipartReplyFlags int32
3236
3237const (
3238 OfpMultipartReplyFlags_OFPMPF_REPLY_INVALID OfpMultipartReplyFlags = 0
Abhay Kumar03713392025-12-30 05:20:58 +00003239 OfpMultipartReplyFlags_OFPMPF_REPLY_MORE OfpMultipartReplyFlags = 1 // More replies to follow.
William Kurkian1b363f42019-03-12 15:28:12 -04003240)
3241
Abhay Kumar03713392025-12-30 05:20:58 +00003242// Enum value maps for OfpMultipartReplyFlags.
3243var (
3244 OfpMultipartReplyFlags_name = map[int32]string{
3245 0: "OFPMPF_REPLY_INVALID",
3246 1: "OFPMPF_REPLY_MORE",
3247 }
3248 OfpMultipartReplyFlags_value = map[string]int32{
3249 "OFPMPF_REPLY_INVALID": 0,
3250 "OFPMPF_REPLY_MORE": 1,
3251 }
3252)
William Kurkianad745652019-03-20 08:45:51 -04003253
Abhay Kumar03713392025-12-30 05:20:58 +00003254func (x OfpMultipartReplyFlags) Enum() *OfpMultipartReplyFlags {
3255 p := new(OfpMultipartReplyFlags)
3256 *p = x
3257 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003258}
3259
3260func (x OfpMultipartReplyFlags) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003261 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003262}
William Kurkianad745652019-03-20 08:45:51 -04003263
Abhay Kumar03713392025-12-30 05:20:58 +00003264func (OfpMultipartReplyFlags) Descriptor() protoreflect.EnumDescriptor {
3265 return file_voltha_protos_openflow_13_proto_enumTypes[48].Descriptor()
3266}
3267
3268func (OfpMultipartReplyFlags) Type() protoreflect.EnumType {
3269 return &file_voltha_protos_openflow_13_proto_enumTypes[48]
3270}
3271
3272func (x OfpMultipartReplyFlags) Number() protoreflect.EnumNumber {
3273 return protoreflect.EnumNumber(x)
3274}
3275
3276// Deprecated: Use OfpMultipartReplyFlags.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003277func (OfpMultipartReplyFlags) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003278 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{48}
William Kurkian1b363f42019-03-12 15:28:12 -04003279}
3280
3281// Table Feature property types.
3282// Low order bit cleared indicates a property for a regular Flow Entry.
3283// Low order bit set indicates a property for the Table-Miss Flow Entry.
3284type OfpTableFeaturePropType int32
3285
3286const (
Abhay Kumar03713392025-12-30 05:20:58 +00003287 OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS OfpTableFeaturePropType = 0 // Instructions property.
3288 OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS_MISS OfpTableFeaturePropType = 1 // Instructions for table-miss.
3289 OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES OfpTableFeaturePropType = 2 // Next Table property.
3290 OfpTableFeaturePropType_OFPTFPT_NEXT_TABLES_MISS OfpTableFeaturePropType = 3 // Next Table for table-miss.
3291 OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS OfpTableFeaturePropType = 4 // Write Actions property.
3292 OfpTableFeaturePropType_OFPTFPT_WRITE_ACTIONS_MISS OfpTableFeaturePropType = 5 // Write Actions for table-miss.
3293 OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS OfpTableFeaturePropType = 6 // Apply Actions property.
3294 OfpTableFeaturePropType_OFPTFPT_APPLY_ACTIONS_MISS OfpTableFeaturePropType = 7 // Apply Actions for table-miss.
3295 OfpTableFeaturePropType_OFPTFPT_MATCH OfpTableFeaturePropType = 8 // Match property.
3296 OfpTableFeaturePropType_OFPTFPT_WILDCARDS OfpTableFeaturePropType = 10 // Wildcards property.
3297 OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD OfpTableFeaturePropType = 12 // Write Set-Field property.
3298 OfpTableFeaturePropType_OFPTFPT_WRITE_SETFIELD_MISS OfpTableFeaturePropType = 13 // Write Set-Field for table-miss.
3299 OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD OfpTableFeaturePropType = 14 // Apply Set-Field property.
3300 OfpTableFeaturePropType_OFPTFPT_APPLY_SETFIELD_MISS OfpTableFeaturePropType = 15 // Apply Set-Field for table-miss.
3301 OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER OfpTableFeaturePropType = 65534 // Experimenter property.
3302 OfpTableFeaturePropType_OFPTFPT_EXPERIMENTER_MISS OfpTableFeaturePropType = 65535 // Experimenter for table-miss.
William Kurkian1b363f42019-03-12 15:28:12 -04003303)
3304
Abhay Kumar03713392025-12-30 05:20:58 +00003305// Enum value maps for OfpTableFeaturePropType.
3306var (
3307 OfpTableFeaturePropType_name = map[int32]string{
3308 0: "OFPTFPT_INSTRUCTIONS",
3309 1: "OFPTFPT_INSTRUCTIONS_MISS",
3310 2: "OFPTFPT_NEXT_TABLES",
3311 3: "OFPTFPT_NEXT_TABLES_MISS",
3312 4: "OFPTFPT_WRITE_ACTIONS",
3313 5: "OFPTFPT_WRITE_ACTIONS_MISS",
3314 6: "OFPTFPT_APPLY_ACTIONS",
3315 7: "OFPTFPT_APPLY_ACTIONS_MISS",
3316 8: "OFPTFPT_MATCH",
3317 10: "OFPTFPT_WILDCARDS",
3318 12: "OFPTFPT_WRITE_SETFIELD",
3319 13: "OFPTFPT_WRITE_SETFIELD_MISS",
3320 14: "OFPTFPT_APPLY_SETFIELD",
3321 15: "OFPTFPT_APPLY_SETFIELD_MISS",
3322 65534: "OFPTFPT_EXPERIMENTER",
3323 65535: "OFPTFPT_EXPERIMENTER_MISS",
3324 }
3325 OfpTableFeaturePropType_value = map[string]int32{
3326 "OFPTFPT_INSTRUCTIONS": 0,
3327 "OFPTFPT_INSTRUCTIONS_MISS": 1,
3328 "OFPTFPT_NEXT_TABLES": 2,
3329 "OFPTFPT_NEXT_TABLES_MISS": 3,
3330 "OFPTFPT_WRITE_ACTIONS": 4,
3331 "OFPTFPT_WRITE_ACTIONS_MISS": 5,
3332 "OFPTFPT_APPLY_ACTIONS": 6,
3333 "OFPTFPT_APPLY_ACTIONS_MISS": 7,
3334 "OFPTFPT_MATCH": 8,
3335 "OFPTFPT_WILDCARDS": 10,
3336 "OFPTFPT_WRITE_SETFIELD": 12,
3337 "OFPTFPT_WRITE_SETFIELD_MISS": 13,
3338 "OFPTFPT_APPLY_SETFIELD": 14,
3339 "OFPTFPT_APPLY_SETFIELD_MISS": 15,
3340 "OFPTFPT_EXPERIMENTER": 65534,
3341 "OFPTFPT_EXPERIMENTER_MISS": 65535,
3342 }
3343)
William Kurkianad745652019-03-20 08:45:51 -04003344
Abhay Kumar03713392025-12-30 05:20:58 +00003345func (x OfpTableFeaturePropType) Enum() *OfpTableFeaturePropType {
3346 p := new(OfpTableFeaturePropType)
3347 *p = x
3348 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003349}
3350
3351func (x OfpTableFeaturePropType) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003352 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003353}
William Kurkianad745652019-03-20 08:45:51 -04003354
Abhay Kumar03713392025-12-30 05:20:58 +00003355func (OfpTableFeaturePropType) Descriptor() protoreflect.EnumDescriptor {
3356 return file_voltha_protos_openflow_13_proto_enumTypes[49].Descriptor()
3357}
3358
3359func (OfpTableFeaturePropType) Type() protoreflect.EnumType {
3360 return &file_voltha_protos_openflow_13_proto_enumTypes[49]
3361}
3362
3363func (x OfpTableFeaturePropType) Number() protoreflect.EnumNumber {
3364 return protoreflect.EnumNumber(x)
3365}
3366
3367// Deprecated: Use OfpTableFeaturePropType.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003368func (OfpTableFeaturePropType) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003369 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{49}
William Kurkian1b363f42019-03-12 15:28:12 -04003370}
3371
3372// Group configuration flags
3373type OfpGroupCapabilities int32
3374
3375const (
3376 OfpGroupCapabilities_OFPGFC_INVALID OfpGroupCapabilities = 0
Abhay Kumar03713392025-12-30 05:20:58 +00003377 OfpGroupCapabilities_OFPGFC_SELECT_WEIGHT OfpGroupCapabilities = 1 // Support weight for select groups
3378 OfpGroupCapabilities_OFPGFC_SELECT_LIVENESS OfpGroupCapabilities = 2 // Support liveness for select groups
3379 OfpGroupCapabilities_OFPGFC_CHAINING OfpGroupCapabilities = 4 // Support chaining groups
3380 OfpGroupCapabilities_OFPGFC_CHAINING_CHECKS OfpGroupCapabilities = 8 // Check chaining for loops and delete
William Kurkian1b363f42019-03-12 15:28:12 -04003381)
3382
Abhay Kumar03713392025-12-30 05:20:58 +00003383// Enum value maps for OfpGroupCapabilities.
3384var (
3385 OfpGroupCapabilities_name = map[int32]string{
3386 0: "OFPGFC_INVALID",
3387 1: "OFPGFC_SELECT_WEIGHT",
3388 2: "OFPGFC_SELECT_LIVENESS",
3389 4: "OFPGFC_CHAINING",
3390 8: "OFPGFC_CHAINING_CHECKS",
3391 }
3392 OfpGroupCapabilities_value = map[string]int32{
3393 "OFPGFC_INVALID": 0,
3394 "OFPGFC_SELECT_WEIGHT": 1,
3395 "OFPGFC_SELECT_LIVENESS": 2,
3396 "OFPGFC_CHAINING": 4,
3397 "OFPGFC_CHAINING_CHECKS": 8,
3398 }
3399)
William Kurkianad745652019-03-20 08:45:51 -04003400
Abhay Kumar03713392025-12-30 05:20:58 +00003401func (x OfpGroupCapabilities) Enum() *OfpGroupCapabilities {
3402 p := new(OfpGroupCapabilities)
3403 *p = x
3404 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003405}
3406
3407func (x OfpGroupCapabilities) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003408 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003409}
William Kurkianad745652019-03-20 08:45:51 -04003410
Abhay Kumar03713392025-12-30 05:20:58 +00003411func (OfpGroupCapabilities) Descriptor() protoreflect.EnumDescriptor {
3412 return file_voltha_protos_openflow_13_proto_enumTypes[50].Descriptor()
3413}
3414
3415func (OfpGroupCapabilities) Type() protoreflect.EnumType {
3416 return &file_voltha_protos_openflow_13_proto_enumTypes[50]
3417}
3418
3419func (x OfpGroupCapabilities) Number() protoreflect.EnumNumber {
3420 return protoreflect.EnumNumber(x)
3421}
3422
3423// Deprecated: Use OfpGroupCapabilities.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003424func (OfpGroupCapabilities) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003425 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{50}
William Kurkian1b363f42019-03-12 15:28:12 -04003426}
3427
3428type OfpQueueProperties int32
3429
3430const (
3431 OfpQueueProperties_OFPQT_INVALID OfpQueueProperties = 0
Abhay Kumar03713392025-12-30 05:20:58 +00003432 OfpQueueProperties_OFPQT_MIN_RATE OfpQueueProperties = 1 // Minimum datarate guaranteed.
3433 OfpQueueProperties_OFPQT_MAX_RATE OfpQueueProperties = 2 // Maximum datarate.
3434 OfpQueueProperties_OFPQT_EXPERIMENTER OfpQueueProperties = 65535 // Experimenter defined property.
William Kurkian1b363f42019-03-12 15:28:12 -04003435)
3436
Abhay Kumar03713392025-12-30 05:20:58 +00003437// Enum value maps for OfpQueueProperties.
3438var (
3439 OfpQueueProperties_name = map[int32]string{
3440 0: "OFPQT_INVALID",
3441 1: "OFPQT_MIN_RATE",
3442 2: "OFPQT_MAX_RATE",
3443 65535: "OFPQT_EXPERIMENTER",
3444 }
3445 OfpQueueProperties_value = map[string]int32{
3446 "OFPQT_INVALID": 0,
3447 "OFPQT_MIN_RATE": 1,
3448 "OFPQT_MAX_RATE": 2,
3449 "OFPQT_EXPERIMENTER": 65535,
3450 }
3451)
William Kurkianad745652019-03-20 08:45:51 -04003452
Abhay Kumar03713392025-12-30 05:20:58 +00003453func (x OfpQueueProperties) Enum() *OfpQueueProperties {
3454 p := new(OfpQueueProperties)
3455 *p = x
3456 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003457}
3458
3459func (x OfpQueueProperties) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003460 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003461}
William Kurkianad745652019-03-20 08:45:51 -04003462
Abhay Kumar03713392025-12-30 05:20:58 +00003463func (OfpQueueProperties) Descriptor() protoreflect.EnumDescriptor {
3464 return file_voltha_protos_openflow_13_proto_enumTypes[51].Descriptor()
3465}
3466
3467func (OfpQueueProperties) Type() protoreflect.EnumType {
3468 return &file_voltha_protos_openflow_13_proto_enumTypes[51]
3469}
3470
3471func (x OfpQueueProperties) Number() protoreflect.EnumNumber {
3472 return protoreflect.EnumNumber(x)
3473}
3474
3475// Deprecated: Use OfpQueueProperties.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003476func (OfpQueueProperties) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003477 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{51}
William Kurkian1b363f42019-03-12 15:28:12 -04003478}
3479
3480// Controller roles.
3481type OfpControllerRole int32
3482
3483const (
Abhay Kumar03713392025-12-30 05:20:58 +00003484 OfpControllerRole_OFPCR_ROLE_NOCHANGE OfpControllerRole = 0 // Don't change current role.
3485 OfpControllerRole_OFPCR_ROLE_EQUAL OfpControllerRole = 1 // Default role, full access.
3486 OfpControllerRole_OFPCR_ROLE_MASTER OfpControllerRole = 2 // Full access, at most one master.
3487 OfpControllerRole_OFPCR_ROLE_SLAVE OfpControllerRole = 3 // Read-only access.
William Kurkian1b363f42019-03-12 15:28:12 -04003488)
3489
Abhay Kumar03713392025-12-30 05:20:58 +00003490// Enum value maps for OfpControllerRole.
3491var (
3492 OfpControllerRole_name = map[int32]string{
3493 0: "OFPCR_ROLE_NOCHANGE",
3494 1: "OFPCR_ROLE_EQUAL",
3495 2: "OFPCR_ROLE_MASTER",
3496 3: "OFPCR_ROLE_SLAVE",
3497 }
3498 OfpControllerRole_value = map[string]int32{
3499 "OFPCR_ROLE_NOCHANGE": 0,
3500 "OFPCR_ROLE_EQUAL": 1,
3501 "OFPCR_ROLE_MASTER": 2,
3502 "OFPCR_ROLE_SLAVE": 3,
3503 }
3504)
William Kurkianad745652019-03-20 08:45:51 -04003505
Abhay Kumar03713392025-12-30 05:20:58 +00003506func (x OfpControllerRole) Enum() *OfpControllerRole {
3507 p := new(OfpControllerRole)
3508 *p = x
3509 return p
William Kurkian1b363f42019-03-12 15:28:12 -04003510}
3511
3512func (x OfpControllerRole) String() string {
Abhay Kumar03713392025-12-30 05:20:58 +00003513 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
William Kurkian1b363f42019-03-12 15:28:12 -04003514}
William Kurkianad745652019-03-20 08:45:51 -04003515
Abhay Kumar03713392025-12-30 05:20:58 +00003516func (OfpControllerRole) Descriptor() protoreflect.EnumDescriptor {
3517 return file_voltha_protos_openflow_13_proto_enumTypes[52].Descriptor()
3518}
3519
3520func (OfpControllerRole) Type() protoreflect.EnumType {
3521 return &file_voltha_protos_openflow_13_proto_enumTypes[52]
3522}
3523
3524func (x OfpControllerRole) Number() protoreflect.EnumNumber {
3525 return protoreflect.EnumNumber(x)
3526}
3527
3528// Deprecated: Use OfpControllerRole.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003529func (OfpControllerRole) EnumDescriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003530 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{52}
William Kurkian1b363f42019-03-12 15:28:12 -04003531}
3532
3533// Header on all OpenFlow packets.
3534type OfpHeader struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003535 state protoimpl.MessageState `protogen:"open.v1"`
3536 Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` // OFP_VERSION.
3537 Type OfpType `protobuf:"varint,2,opt,name=type,proto3,enum=openflow_13.OfpType" json:"type,omitempty"` // One of the OFPT_ constants.
3538 Xid uint32 `protobuf:"varint,3,opt,name=xid,proto3" json:"xid,omitempty"`
3539 unknownFields protoimpl.UnknownFields
3540 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04003541}
3542
Abhay Kumar03713392025-12-30 05:20:58 +00003543func (x *OfpHeader) Reset() {
3544 *x = OfpHeader{}
3545 mi := &file_voltha_protos_openflow_13_proto_msgTypes[0]
3546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3547 ms.StoreMessageInfo(mi)
3548}
3549
3550func (x *OfpHeader) String() string {
3551 return protoimpl.X.MessageStringOf(x)
3552}
3553
3554func (*OfpHeader) ProtoMessage() {}
3555
3556func (x *OfpHeader) ProtoReflect() protoreflect.Message {
3557 mi := &file_voltha_protos_openflow_13_proto_msgTypes[0]
3558 if x != nil {
3559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3560 if ms.LoadMessageInfo() == nil {
3561 ms.StoreMessageInfo(mi)
3562 }
3563 return ms
3564 }
3565 return mi.MessageOf(x)
3566}
3567
3568// Deprecated: Use OfpHeader.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003569func (*OfpHeader) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003570 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{0}
William Kurkian1b363f42019-03-12 15:28:12 -04003571}
William Kurkianad745652019-03-20 08:45:51 -04003572
Abhay Kumar03713392025-12-30 05:20:58 +00003573func (x *OfpHeader) GetVersion() uint32 {
3574 if x != nil {
3575 return x.Version
William Kurkian1b363f42019-03-12 15:28:12 -04003576 }
3577 return 0
3578}
3579
Abhay Kumar03713392025-12-30 05:20:58 +00003580func (x *OfpHeader) GetType() OfpType {
3581 if x != nil {
3582 return x.Type
William Kurkian1b363f42019-03-12 15:28:12 -04003583 }
3584 return OfpType_OFPT_HELLO
3585}
3586
Abhay Kumar03713392025-12-30 05:20:58 +00003587func (x *OfpHeader) GetXid() uint32 {
3588 if x != nil {
3589 return x.Xid
William Kurkian1b363f42019-03-12 15:28:12 -04003590 }
3591 return 0
3592}
3593
3594// Common header for all Hello Elements
3595type OfpHelloElemHeader struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003596 state protoimpl.MessageState `protogen:"open.v1"`
3597 Type OfpHelloElemType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpHelloElemType" json:"type,omitempty"` // One of OFPHET_*.
William Kurkian1b363f42019-03-12 15:28:12 -04003598 // Types that are valid to be assigned to Element:
Abhay Kumar03713392025-12-30 05:20:58 +00003599 //
William Kurkian1b363f42019-03-12 15:28:12 -04003600 // *OfpHelloElemHeader_Versionbitmap
Abhay Kumar03713392025-12-30 05:20:58 +00003601 Element isOfpHelloElemHeader_Element `protobuf_oneof:"element"`
3602 unknownFields protoimpl.UnknownFields
3603 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04003604}
3605
Abhay Kumar03713392025-12-30 05:20:58 +00003606func (x *OfpHelloElemHeader) Reset() {
3607 *x = OfpHelloElemHeader{}
3608 mi := &file_voltha_protos_openflow_13_proto_msgTypes[1]
3609 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3610 ms.StoreMessageInfo(mi)
3611}
3612
3613func (x *OfpHelloElemHeader) String() string {
3614 return protoimpl.X.MessageStringOf(x)
3615}
3616
3617func (*OfpHelloElemHeader) ProtoMessage() {}
3618
3619func (x *OfpHelloElemHeader) ProtoReflect() protoreflect.Message {
3620 mi := &file_voltha_protos_openflow_13_proto_msgTypes[1]
3621 if x != nil {
3622 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3623 if ms.LoadMessageInfo() == nil {
3624 ms.StoreMessageInfo(mi)
3625 }
3626 return ms
3627 }
3628 return mi.MessageOf(x)
3629}
3630
3631// Deprecated: Use OfpHelloElemHeader.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003632func (*OfpHelloElemHeader) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003633 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{1}
William Kurkian1b363f42019-03-12 15:28:12 -04003634}
William Kurkianad745652019-03-20 08:45:51 -04003635
Abhay Kumar03713392025-12-30 05:20:58 +00003636func (x *OfpHelloElemHeader) GetType() OfpHelloElemType {
3637 if x != nil {
3638 return x.Type
William Kurkian1b363f42019-03-12 15:28:12 -04003639 }
3640 return OfpHelloElemType_OFPHET_INVALID
3641}
3642
Abhay Kumar03713392025-12-30 05:20:58 +00003643func (x *OfpHelloElemHeader) GetElement() isOfpHelloElemHeader_Element {
3644 if x != nil {
3645 return x.Element
3646 }
3647 return nil
3648}
3649
3650func (x *OfpHelloElemHeader) GetVersionbitmap() *OfpHelloElemVersionbitmap {
3651 if x != nil {
3652 if x, ok := x.Element.(*OfpHelloElemHeader_Versionbitmap); ok {
3653 return x.Versionbitmap
3654 }
3655 }
3656 return nil
3657}
3658
William Kurkian1b363f42019-03-12 15:28:12 -04003659type isOfpHelloElemHeader_Element interface {
3660 isOfpHelloElemHeader_Element()
3661}
3662
3663type OfpHelloElemHeader_Versionbitmap struct {
3664 Versionbitmap *OfpHelloElemVersionbitmap `protobuf:"bytes,2,opt,name=versionbitmap,proto3,oneof"`
3665}
3666
3667func (*OfpHelloElemHeader_Versionbitmap) isOfpHelloElemHeader_Element() {}
3668
William Kurkian1b363f42019-03-12 15:28:12 -04003669// Version bitmap Hello Element
3670type OfpHelloElemVersionbitmap struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003671 state protoimpl.MessageState `protogen:"open.v1"`
3672 Bitmaps []uint32 `protobuf:"varint,2,rep,packed,name=bitmaps,proto3" json:"bitmaps,omitempty"` // List of bitmaps - supported versions
3673 unknownFields protoimpl.UnknownFields
3674 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04003675}
3676
Abhay Kumar03713392025-12-30 05:20:58 +00003677func (x *OfpHelloElemVersionbitmap) Reset() {
3678 *x = OfpHelloElemVersionbitmap{}
3679 mi := &file_voltha_protos_openflow_13_proto_msgTypes[2]
3680 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3681 ms.StoreMessageInfo(mi)
3682}
3683
3684func (x *OfpHelloElemVersionbitmap) String() string {
3685 return protoimpl.X.MessageStringOf(x)
3686}
3687
3688func (*OfpHelloElemVersionbitmap) ProtoMessage() {}
3689
3690func (x *OfpHelloElemVersionbitmap) ProtoReflect() protoreflect.Message {
3691 mi := &file_voltha_protos_openflow_13_proto_msgTypes[2]
3692 if x != nil {
3693 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3694 if ms.LoadMessageInfo() == nil {
3695 ms.StoreMessageInfo(mi)
3696 }
3697 return ms
3698 }
3699 return mi.MessageOf(x)
3700}
3701
3702// Deprecated: Use OfpHelloElemVersionbitmap.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003703func (*OfpHelloElemVersionbitmap) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003704 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{2}
William Kurkian1b363f42019-03-12 15:28:12 -04003705}
William Kurkianad745652019-03-20 08:45:51 -04003706
Abhay Kumar03713392025-12-30 05:20:58 +00003707func (x *OfpHelloElemVersionbitmap) GetBitmaps() []uint32 {
3708 if x != nil {
3709 return x.Bitmaps
William Kurkian1b363f42019-03-12 15:28:12 -04003710 }
3711 return nil
3712}
3713
3714// OFPT_HELLO. This message includes zero or more hello elements having
3715// variable size. Unknown elements types must be ignored/skipped, to allow
3716// for future extensions.
3717type OfpHello struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003718 state protoimpl.MessageState `protogen:"open.v1"`
William Kurkian1b363f42019-03-12 15:28:12 -04003719 // Hello element list
Abhay Kumar03713392025-12-30 05:20:58 +00003720 Elements []*OfpHelloElemHeader `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` // 0 or more
3721 unknownFields protoimpl.UnknownFields
3722 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04003723}
3724
Abhay Kumar03713392025-12-30 05:20:58 +00003725func (x *OfpHello) Reset() {
3726 *x = OfpHello{}
3727 mi := &file_voltha_protos_openflow_13_proto_msgTypes[3]
3728 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3729 ms.StoreMessageInfo(mi)
3730}
3731
3732func (x *OfpHello) String() string {
3733 return protoimpl.X.MessageStringOf(x)
3734}
3735
3736func (*OfpHello) ProtoMessage() {}
3737
3738func (x *OfpHello) ProtoReflect() protoreflect.Message {
3739 mi := &file_voltha_protos_openflow_13_proto_msgTypes[3]
3740 if x != nil {
3741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3742 if ms.LoadMessageInfo() == nil {
3743 ms.StoreMessageInfo(mi)
3744 }
3745 return ms
3746 }
3747 return mi.MessageOf(x)
3748}
3749
3750// Deprecated: Use OfpHello.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003751func (*OfpHello) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003752 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{3}
William Kurkian1b363f42019-03-12 15:28:12 -04003753}
William Kurkianad745652019-03-20 08:45:51 -04003754
Abhay Kumar03713392025-12-30 05:20:58 +00003755func (x *OfpHello) GetElements() []*OfpHelloElemHeader {
3756 if x != nil {
3757 return x.Elements
William Kurkian1b363f42019-03-12 15:28:12 -04003758 }
3759 return nil
3760}
3761
3762// Switch configuration.
3763type OfpSwitchConfig struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003764 state protoimpl.MessageState `protogen:"open.v1"`
3765 // ofp_header header;
3766 Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` // Bitmap of OFPC_* flags.
3767 MissSendLen uint32 `protobuf:"varint,2,opt,name=miss_send_len,json=missSendLen,proto3" json:"miss_send_len,omitempty"`
3768 unknownFields protoimpl.UnknownFields
3769 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04003770}
3771
Abhay Kumar03713392025-12-30 05:20:58 +00003772func (x *OfpSwitchConfig) Reset() {
3773 *x = OfpSwitchConfig{}
3774 mi := &file_voltha_protos_openflow_13_proto_msgTypes[4]
3775 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3776 ms.StoreMessageInfo(mi)
3777}
3778
3779func (x *OfpSwitchConfig) String() string {
3780 return protoimpl.X.MessageStringOf(x)
3781}
3782
3783func (*OfpSwitchConfig) ProtoMessage() {}
3784
3785func (x *OfpSwitchConfig) ProtoReflect() protoreflect.Message {
3786 mi := &file_voltha_protos_openflow_13_proto_msgTypes[4]
3787 if x != nil {
3788 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3789 if ms.LoadMessageInfo() == nil {
3790 ms.StoreMessageInfo(mi)
3791 }
3792 return ms
3793 }
3794 return mi.MessageOf(x)
3795}
3796
3797// Deprecated: Use OfpSwitchConfig.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003798func (*OfpSwitchConfig) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003799 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{4}
William Kurkian1b363f42019-03-12 15:28:12 -04003800}
William Kurkianad745652019-03-20 08:45:51 -04003801
Abhay Kumar03713392025-12-30 05:20:58 +00003802func (x *OfpSwitchConfig) GetFlags() uint32 {
3803 if x != nil {
3804 return x.Flags
William Kurkian1b363f42019-03-12 15:28:12 -04003805 }
3806 return 0
3807}
3808
Abhay Kumar03713392025-12-30 05:20:58 +00003809func (x *OfpSwitchConfig) GetMissSendLen() uint32 {
3810 if x != nil {
3811 return x.MissSendLen
William Kurkian1b363f42019-03-12 15:28:12 -04003812 }
3813 return 0
3814}
3815
3816// Configure/Modify behavior of a flow table
3817type OfpTableMod struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003818 state protoimpl.MessageState `protogen:"open.v1"`
3819 // ofp_header header;
3820 TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` // ID of the table, OFPTT_ALL indicates all tables
3821 Config uint32 `protobuf:"varint,2,opt,name=config,proto3" json:"config,omitempty"` // Bitmap of OFPTC_* flags
3822 unknownFields protoimpl.UnknownFields
3823 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04003824}
3825
Abhay Kumar03713392025-12-30 05:20:58 +00003826func (x *OfpTableMod) Reset() {
3827 *x = OfpTableMod{}
3828 mi := &file_voltha_protos_openflow_13_proto_msgTypes[5]
3829 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3830 ms.StoreMessageInfo(mi)
3831}
3832
3833func (x *OfpTableMod) String() string {
3834 return protoimpl.X.MessageStringOf(x)
3835}
3836
3837func (*OfpTableMod) ProtoMessage() {}
3838
3839func (x *OfpTableMod) ProtoReflect() protoreflect.Message {
3840 mi := &file_voltha_protos_openflow_13_proto_msgTypes[5]
3841 if x != nil {
3842 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3843 if ms.LoadMessageInfo() == nil {
3844 ms.StoreMessageInfo(mi)
3845 }
3846 return ms
3847 }
3848 return mi.MessageOf(x)
3849}
3850
3851// Deprecated: Use OfpTableMod.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003852func (*OfpTableMod) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003853 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{5}
William Kurkian1b363f42019-03-12 15:28:12 -04003854}
William Kurkianad745652019-03-20 08:45:51 -04003855
Abhay Kumar03713392025-12-30 05:20:58 +00003856func (x *OfpTableMod) GetTableId() uint32 {
3857 if x != nil {
3858 return x.TableId
William Kurkian1b363f42019-03-12 15:28:12 -04003859 }
3860 return 0
3861}
3862
Abhay Kumar03713392025-12-30 05:20:58 +00003863func (x *OfpTableMod) GetConfig() uint32 {
3864 if x != nil {
3865 return x.Config
William Kurkian1b363f42019-03-12 15:28:12 -04003866 }
3867 return 0
3868}
3869
3870// Description of a port
3871type OfpPort struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003872 state protoimpl.MessageState `protogen:"open.v1"`
3873 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
3874 HwAddr []uint32 `protobuf:"varint,2,rep,packed,name=hw_addr,json=hwAddr,proto3" json:"hw_addr,omitempty"` // [OFP_ETH_ALEN];
3875 Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // Null-terminated
3876 Config uint32 `protobuf:"varint,4,opt,name=config,proto3" json:"config,omitempty"` // Bitmap of OFPPC_* flags.
3877 State uint32 `protobuf:"varint,5,opt,name=state,proto3" json:"state,omitempty"` // Bitmap of OFPPS_* flags.
William Kurkian1b363f42019-03-12 15:28:12 -04003878 // Bitmaps of OFPPF_* that describe features. All bits zeroed if
3879 // unsupported or unavailable.
Abhay Kumar03713392025-12-30 05:20:58 +00003880 Curr uint32 `protobuf:"varint,6,opt,name=curr,proto3" json:"curr,omitempty"` // Current features.
3881 Advertised uint32 `protobuf:"varint,7,opt,name=advertised,proto3" json:"advertised,omitempty"` // Features being advertised by the port.
3882 Supported uint32 `protobuf:"varint,8,opt,name=supported,proto3" json:"supported,omitempty"` // Features supported by the port.
3883 Peer uint32 `protobuf:"varint,9,opt,name=peer,proto3" json:"peer,omitempty"` // Features advertised by peer.
3884 CurrSpeed uint32 `protobuf:"varint,10,opt,name=curr_speed,json=currSpeed,proto3" json:"curr_speed,omitempty"` // Current port bitrate in kbps.
3885 MaxSpeed uint32 `protobuf:"varint,11,opt,name=max_speed,json=maxSpeed,proto3" json:"max_speed,omitempty"` // Max port bitrate in kbps
3886 unknownFields protoimpl.UnknownFields
3887 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04003888}
3889
Abhay Kumar03713392025-12-30 05:20:58 +00003890func (x *OfpPort) Reset() {
3891 *x = OfpPort{}
3892 mi := &file_voltha_protos_openflow_13_proto_msgTypes[6]
3893 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3894 ms.StoreMessageInfo(mi)
3895}
3896
3897func (x *OfpPort) String() string {
3898 return protoimpl.X.MessageStringOf(x)
3899}
3900
3901func (*OfpPort) ProtoMessage() {}
3902
3903func (x *OfpPort) ProtoReflect() protoreflect.Message {
3904 mi := &file_voltha_protos_openflow_13_proto_msgTypes[6]
3905 if x != nil {
3906 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3907 if ms.LoadMessageInfo() == nil {
3908 ms.StoreMessageInfo(mi)
3909 }
3910 return ms
3911 }
3912 return mi.MessageOf(x)
3913}
3914
3915// Deprecated: Use OfpPort.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04003916func (*OfpPort) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00003917 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{6}
William Kurkian1b363f42019-03-12 15:28:12 -04003918}
William Kurkianad745652019-03-20 08:45:51 -04003919
Abhay Kumar03713392025-12-30 05:20:58 +00003920func (x *OfpPort) GetPortNo() uint32 {
3921 if x != nil {
3922 return x.PortNo
William Kurkian1b363f42019-03-12 15:28:12 -04003923 }
3924 return 0
3925}
3926
Abhay Kumar03713392025-12-30 05:20:58 +00003927func (x *OfpPort) GetHwAddr() []uint32 {
3928 if x != nil {
3929 return x.HwAddr
William Kurkian1b363f42019-03-12 15:28:12 -04003930 }
3931 return nil
3932}
3933
Abhay Kumar03713392025-12-30 05:20:58 +00003934func (x *OfpPort) GetName() string {
3935 if x != nil {
3936 return x.Name
William Kurkian1b363f42019-03-12 15:28:12 -04003937 }
3938 return ""
3939}
3940
Abhay Kumar03713392025-12-30 05:20:58 +00003941func (x *OfpPort) GetConfig() uint32 {
3942 if x != nil {
3943 return x.Config
William Kurkian1b363f42019-03-12 15:28:12 -04003944 }
3945 return 0
3946}
3947
Abhay Kumar03713392025-12-30 05:20:58 +00003948func (x *OfpPort) GetState() uint32 {
3949 if x != nil {
3950 return x.State
William Kurkian1b363f42019-03-12 15:28:12 -04003951 }
3952 return 0
3953}
3954
Abhay Kumar03713392025-12-30 05:20:58 +00003955func (x *OfpPort) GetCurr() uint32 {
3956 if x != nil {
3957 return x.Curr
William Kurkian1b363f42019-03-12 15:28:12 -04003958 }
3959 return 0
3960}
3961
Abhay Kumar03713392025-12-30 05:20:58 +00003962func (x *OfpPort) GetAdvertised() uint32 {
3963 if x != nil {
3964 return x.Advertised
William Kurkian1b363f42019-03-12 15:28:12 -04003965 }
3966 return 0
3967}
3968
Abhay Kumar03713392025-12-30 05:20:58 +00003969func (x *OfpPort) GetSupported() uint32 {
3970 if x != nil {
3971 return x.Supported
William Kurkian1b363f42019-03-12 15:28:12 -04003972 }
3973 return 0
3974}
3975
Abhay Kumar03713392025-12-30 05:20:58 +00003976func (x *OfpPort) GetPeer() uint32 {
3977 if x != nil {
3978 return x.Peer
William Kurkian1b363f42019-03-12 15:28:12 -04003979 }
3980 return 0
3981}
3982
Abhay Kumar03713392025-12-30 05:20:58 +00003983func (x *OfpPort) GetCurrSpeed() uint32 {
3984 if x != nil {
3985 return x.CurrSpeed
William Kurkian1b363f42019-03-12 15:28:12 -04003986 }
3987 return 0
3988}
3989
Abhay Kumar03713392025-12-30 05:20:58 +00003990func (x *OfpPort) GetMaxSpeed() uint32 {
3991 if x != nil {
3992 return x.MaxSpeed
William Kurkian1b363f42019-03-12 15:28:12 -04003993 }
3994 return 0
3995}
3996
3997// Switch features.
3998type OfpSwitchFeatures struct {
Abhay Kumar03713392025-12-30 05:20:58 +00003999 state protoimpl.MessageState `protogen:"open.v1"`
4000 // ofp_header header;
William Kurkian1b363f42019-03-12 15:28:12 -04004001 DatapathId uint64 `protobuf:"varint,1,opt,name=datapath_id,json=datapathId,proto3" json:"datapath_id,omitempty"`
Abhay Kumar03713392025-12-30 05:20:58 +00004002 NBuffers uint32 `protobuf:"varint,2,opt,name=n_buffers,json=nBuffers,proto3" json:"n_buffers,omitempty"` // Max packets buffered at once.
4003 NTables uint32 `protobuf:"varint,3,opt,name=n_tables,json=nTables,proto3" json:"n_tables,omitempty"` // Number of tables supported by datapath.
4004 AuxiliaryId uint32 `protobuf:"varint,4,opt,name=auxiliary_id,json=auxiliaryId,proto3" json:"auxiliary_id,omitempty"` // Identify auxiliary connections
William Kurkian1b363f42019-03-12 15:28:12 -04004005 // Features.
Abhay Kumar03713392025-12-30 05:20:58 +00004006 Capabilities uint32 `protobuf:"varint,5,opt,name=capabilities,proto3" json:"capabilities,omitempty"` // Bitmap of support "ofp_capabilities".
4007 unknownFields protoimpl.UnknownFields
4008 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04004009}
4010
Abhay Kumar03713392025-12-30 05:20:58 +00004011func (x *OfpSwitchFeatures) Reset() {
4012 *x = OfpSwitchFeatures{}
4013 mi := &file_voltha_protos_openflow_13_proto_msgTypes[7]
4014 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4015 ms.StoreMessageInfo(mi)
4016}
4017
4018func (x *OfpSwitchFeatures) String() string {
4019 return protoimpl.X.MessageStringOf(x)
4020}
4021
4022func (*OfpSwitchFeatures) ProtoMessage() {}
4023
4024func (x *OfpSwitchFeatures) ProtoReflect() protoreflect.Message {
4025 mi := &file_voltha_protos_openflow_13_proto_msgTypes[7]
4026 if x != nil {
4027 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4028 if ms.LoadMessageInfo() == nil {
4029 ms.StoreMessageInfo(mi)
4030 }
4031 return ms
4032 }
4033 return mi.MessageOf(x)
4034}
4035
4036// Deprecated: Use OfpSwitchFeatures.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04004037func (*OfpSwitchFeatures) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00004038 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{7}
William Kurkian1b363f42019-03-12 15:28:12 -04004039}
William Kurkianad745652019-03-20 08:45:51 -04004040
Abhay Kumar03713392025-12-30 05:20:58 +00004041func (x *OfpSwitchFeatures) GetDatapathId() uint64 {
4042 if x != nil {
4043 return x.DatapathId
William Kurkian1b363f42019-03-12 15:28:12 -04004044 }
4045 return 0
4046}
4047
Abhay Kumar03713392025-12-30 05:20:58 +00004048func (x *OfpSwitchFeatures) GetNBuffers() uint32 {
4049 if x != nil {
4050 return x.NBuffers
William Kurkian1b363f42019-03-12 15:28:12 -04004051 }
4052 return 0
4053}
4054
Abhay Kumar03713392025-12-30 05:20:58 +00004055func (x *OfpSwitchFeatures) GetNTables() uint32 {
4056 if x != nil {
4057 return x.NTables
William Kurkian1b363f42019-03-12 15:28:12 -04004058 }
4059 return 0
4060}
4061
Abhay Kumar03713392025-12-30 05:20:58 +00004062func (x *OfpSwitchFeatures) GetAuxiliaryId() uint32 {
4063 if x != nil {
4064 return x.AuxiliaryId
William Kurkian1b363f42019-03-12 15:28:12 -04004065 }
4066 return 0
4067}
4068
Abhay Kumar03713392025-12-30 05:20:58 +00004069func (x *OfpSwitchFeatures) GetCapabilities() uint32 {
4070 if x != nil {
4071 return x.Capabilities
William Kurkian1b363f42019-03-12 15:28:12 -04004072 }
4073 return 0
4074}
4075
4076// A physical port has changed in the datapath
4077type OfpPortStatus struct {
Abhay Kumar03713392025-12-30 05:20:58 +00004078 state protoimpl.MessageState `protogen:"open.v1"`
4079 // ofp_header header;
4080 Reason OfpPortReason `protobuf:"varint,1,opt,name=reason,proto3,enum=openflow_13.OfpPortReason" json:"reason,omitempty"` // One of OFPPR_*.
4081 Desc *OfpPort `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`
4082 unknownFields protoimpl.UnknownFields
4083 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04004084}
4085
Abhay Kumar03713392025-12-30 05:20:58 +00004086func (x *OfpPortStatus) Reset() {
4087 *x = OfpPortStatus{}
4088 mi := &file_voltha_protos_openflow_13_proto_msgTypes[8]
4089 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4090 ms.StoreMessageInfo(mi)
4091}
4092
4093func (x *OfpPortStatus) String() string {
4094 return protoimpl.X.MessageStringOf(x)
4095}
4096
4097func (*OfpPortStatus) ProtoMessage() {}
4098
4099func (x *OfpPortStatus) ProtoReflect() protoreflect.Message {
4100 mi := &file_voltha_protos_openflow_13_proto_msgTypes[8]
4101 if x != nil {
4102 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4103 if ms.LoadMessageInfo() == nil {
4104 ms.StoreMessageInfo(mi)
4105 }
4106 return ms
4107 }
4108 return mi.MessageOf(x)
4109}
4110
4111// Deprecated: Use OfpPortStatus.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04004112func (*OfpPortStatus) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00004113 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{8}
William Kurkian1b363f42019-03-12 15:28:12 -04004114}
William Kurkianad745652019-03-20 08:45:51 -04004115
Abhay Kumar03713392025-12-30 05:20:58 +00004116func (x *OfpPortStatus) GetReason() OfpPortReason {
4117 if x != nil {
4118 return x.Reason
William Kurkian1b363f42019-03-12 15:28:12 -04004119 }
4120 return OfpPortReason_OFPPR_ADD
4121}
4122
Abhay Kumar03713392025-12-30 05:20:58 +00004123func (x *OfpPortStatus) GetDesc() *OfpPort {
4124 if x != nil {
4125 return x.Desc
William Kurkian1b363f42019-03-12 15:28:12 -04004126 }
4127 return nil
4128}
4129
Andrea Campanellab14af632021-11-18 11:00:47 -08004130// A physical device has changed in the datapath
4131type OfpDeviceStatus struct {
Abhay Kumar03713392025-12-30 05:20:58 +00004132 state protoimpl.MessageState `protogen:"open.v1"`
4133 // ofp_header header;
4134 Status OfpDeviceConnection `protobuf:"varint,1,opt,name=status,proto3,enum=openflow_13.OfpDeviceConnection" json:"status,omitempty"` // One of OFPDEV_*.
4135 unknownFields protoimpl.UnknownFields
4136 sizeCache protoimpl.SizeCache
Andrea Campanellab14af632021-11-18 11:00:47 -08004137}
4138
Abhay Kumar03713392025-12-30 05:20:58 +00004139func (x *OfpDeviceStatus) Reset() {
4140 *x = OfpDeviceStatus{}
4141 mi := &file_voltha_protos_openflow_13_proto_msgTypes[9]
4142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4143 ms.StoreMessageInfo(mi)
4144}
4145
4146func (x *OfpDeviceStatus) String() string {
4147 return protoimpl.X.MessageStringOf(x)
4148}
4149
4150func (*OfpDeviceStatus) ProtoMessage() {}
4151
4152func (x *OfpDeviceStatus) ProtoReflect() protoreflect.Message {
4153 mi := &file_voltha_protos_openflow_13_proto_msgTypes[9]
4154 if x != nil {
4155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4156 if ms.LoadMessageInfo() == nil {
4157 ms.StoreMessageInfo(mi)
4158 }
4159 return ms
4160 }
4161 return mi.MessageOf(x)
4162}
4163
4164// Deprecated: Use OfpDeviceStatus.ProtoReflect.Descriptor instead.
Andrea Campanellab14af632021-11-18 11:00:47 -08004165func (*OfpDeviceStatus) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00004166 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{9}
Andrea Campanellab14af632021-11-18 11:00:47 -08004167}
4168
Abhay Kumar03713392025-12-30 05:20:58 +00004169func (x *OfpDeviceStatus) GetStatus() OfpDeviceConnection {
4170 if x != nil {
4171 return x.Status
Andrea Campanellab14af632021-11-18 11:00:47 -08004172 }
4173 return OfpDeviceConnection_OFPDEV_CONNECTED
4174}
4175
William Kurkian1b363f42019-03-12 15:28:12 -04004176// Modify behavior of the physical port
4177type OfpPortMod struct {
Abhay Kumar03713392025-12-30 05:20:58 +00004178 state protoimpl.MessageState `protogen:"open.v1"`
4179 // ofp_header header;
William Kurkian1b363f42019-03-12 15:28:12 -04004180 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
Abhay Kumar03713392025-12-30 05:20:58 +00004181 HwAddr []uint32 `protobuf:"varint,2,rep,packed,name=hw_addr,json=hwAddr,proto3" json:"hw_addr,omitempty"` //[OFP_ETH_ALEN];
William Kurkian1b363f42019-03-12 15:28:12 -04004182 // The hardware address is not
Abhay Kumar03713392025-12-30 05:20:58 +00004183 // configurable. This is used to
4184 // sanity-check the request, so it must
4185 // be the same as returned in an
4186 // ofp_port struct.
4187 Config uint32 `protobuf:"varint,3,opt,name=config,proto3" json:"config,omitempty"` // Bitmap of OFPPC_* flags.
4188 Mask uint32 `protobuf:"varint,4,opt,name=mask,proto3" json:"mask,omitempty"` // Bitmap of OFPPC_* flags to be changed.
4189 Advertise uint32 `protobuf:"varint,5,opt,name=advertise,proto3" json:"advertise,omitempty"`
4190 unknownFields protoimpl.UnknownFields
4191 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04004192}
4193
Abhay Kumar03713392025-12-30 05:20:58 +00004194func (x *OfpPortMod) Reset() {
4195 *x = OfpPortMod{}
4196 mi := &file_voltha_protos_openflow_13_proto_msgTypes[10]
4197 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4198 ms.StoreMessageInfo(mi)
4199}
4200
4201func (x *OfpPortMod) String() string {
4202 return protoimpl.X.MessageStringOf(x)
4203}
4204
4205func (*OfpPortMod) ProtoMessage() {}
4206
4207func (x *OfpPortMod) ProtoReflect() protoreflect.Message {
4208 mi := &file_voltha_protos_openflow_13_proto_msgTypes[10]
4209 if x != nil {
4210 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4211 if ms.LoadMessageInfo() == nil {
4212 ms.StoreMessageInfo(mi)
4213 }
4214 return ms
4215 }
4216 return mi.MessageOf(x)
4217}
4218
4219// Deprecated: Use OfpPortMod.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04004220func (*OfpPortMod) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00004221 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{10}
William Kurkian1b363f42019-03-12 15:28:12 -04004222}
William Kurkianad745652019-03-20 08:45:51 -04004223
Abhay Kumar03713392025-12-30 05:20:58 +00004224func (x *OfpPortMod) GetPortNo() uint32 {
4225 if x != nil {
4226 return x.PortNo
William Kurkian1b363f42019-03-12 15:28:12 -04004227 }
4228 return 0
4229}
4230
Abhay Kumar03713392025-12-30 05:20:58 +00004231func (x *OfpPortMod) GetHwAddr() []uint32 {
4232 if x != nil {
4233 return x.HwAddr
William Kurkian1b363f42019-03-12 15:28:12 -04004234 }
4235 return nil
4236}
4237
Abhay Kumar03713392025-12-30 05:20:58 +00004238func (x *OfpPortMod) GetConfig() uint32 {
4239 if x != nil {
4240 return x.Config
William Kurkian1b363f42019-03-12 15:28:12 -04004241 }
4242 return 0
4243}
4244
Abhay Kumar03713392025-12-30 05:20:58 +00004245func (x *OfpPortMod) GetMask() uint32 {
4246 if x != nil {
4247 return x.Mask
William Kurkian1b363f42019-03-12 15:28:12 -04004248 }
4249 return 0
4250}
4251
Abhay Kumar03713392025-12-30 05:20:58 +00004252func (x *OfpPortMod) GetAdvertise() uint32 {
4253 if x != nil {
4254 return x.Advertise
William Kurkian1b363f42019-03-12 15:28:12 -04004255 }
4256 return 0
4257}
4258
4259// Fields to match against flows
4260type OfpMatch struct {
Abhay Kumar03713392025-12-30 05:20:58 +00004261 state protoimpl.MessageState `protogen:"open.v1"`
4262 Type OfpMatchType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMatchType" json:"type,omitempty"` // One of OFPMT_*
4263 OxmFields []*OfpOxmField `protobuf:"bytes,2,rep,name=oxm_fields,json=oxmFields,proto3" json:"oxm_fields,omitempty"` // 0 or more
4264 unknownFields protoimpl.UnknownFields
4265 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04004266}
4267
Abhay Kumar03713392025-12-30 05:20:58 +00004268func (x *OfpMatch) Reset() {
4269 *x = OfpMatch{}
4270 mi := &file_voltha_protos_openflow_13_proto_msgTypes[11]
4271 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4272 ms.StoreMessageInfo(mi)
4273}
4274
4275func (x *OfpMatch) String() string {
4276 return protoimpl.X.MessageStringOf(x)
4277}
4278
4279func (*OfpMatch) ProtoMessage() {}
4280
4281func (x *OfpMatch) ProtoReflect() protoreflect.Message {
4282 mi := &file_voltha_protos_openflow_13_proto_msgTypes[11]
4283 if x != nil {
4284 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4285 if ms.LoadMessageInfo() == nil {
4286 ms.StoreMessageInfo(mi)
4287 }
4288 return ms
4289 }
4290 return mi.MessageOf(x)
4291}
4292
4293// Deprecated: Use OfpMatch.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04004294func (*OfpMatch) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00004295 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{11}
William Kurkian1b363f42019-03-12 15:28:12 -04004296}
William Kurkianad745652019-03-20 08:45:51 -04004297
Abhay Kumar03713392025-12-30 05:20:58 +00004298func (x *OfpMatch) GetType() OfpMatchType {
4299 if x != nil {
4300 return x.Type
William Kurkian1b363f42019-03-12 15:28:12 -04004301 }
4302 return OfpMatchType_OFPMT_STANDARD
4303}
4304
Abhay Kumar03713392025-12-30 05:20:58 +00004305func (x *OfpMatch) GetOxmFields() []*OfpOxmField {
4306 if x != nil {
4307 return x.OxmFields
William Kurkian1b363f42019-03-12 15:28:12 -04004308 }
4309 return nil
4310}
4311
4312// OXM Flow match fields
4313type OfpOxmField struct {
Abhay Kumar03713392025-12-30 05:20:58 +00004314 state protoimpl.MessageState `protogen:"open.v1"`
4315 OxmClass OfpOxmClass `protobuf:"varint,1,opt,name=oxm_class,json=oxmClass,proto3,enum=openflow_13.OfpOxmClass" json:"oxm_class,omitempty"`
William Kurkian1b363f42019-03-12 15:28:12 -04004316 // Types that are valid to be assigned to Field:
Abhay Kumar03713392025-12-30 05:20:58 +00004317 //
William Kurkian1b363f42019-03-12 15:28:12 -04004318 // *OfpOxmField_OfbField
4319 // *OfpOxmField_ExperimenterField
Abhay Kumar03713392025-12-30 05:20:58 +00004320 Field isOfpOxmField_Field `protobuf_oneof:"field"`
4321 unknownFields protoimpl.UnknownFields
4322 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04004323}
4324
Abhay Kumar03713392025-12-30 05:20:58 +00004325func (x *OfpOxmField) Reset() {
4326 *x = OfpOxmField{}
4327 mi := &file_voltha_protos_openflow_13_proto_msgTypes[12]
4328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4329 ms.StoreMessageInfo(mi)
4330}
4331
4332func (x *OfpOxmField) String() string {
4333 return protoimpl.X.MessageStringOf(x)
4334}
4335
4336func (*OfpOxmField) ProtoMessage() {}
4337
4338func (x *OfpOxmField) ProtoReflect() protoreflect.Message {
4339 mi := &file_voltha_protos_openflow_13_proto_msgTypes[12]
4340 if x != nil {
4341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4342 if ms.LoadMessageInfo() == nil {
4343 ms.StoreMessageInfo(mi)
4344 }
4345 return ms
4346 }
4347 return mi.MessageOf(x)
4348}
4349
4350// Deprecated: Use OfpOxmField.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04004351func (*OfpOxmField) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00004352 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{12}
William Kurkian1b363f42019-03-12 15:28:12 -04004353}
William Kurkianad745652019-03-20 08:45:51 -04004354
Abhay Kumar03713392025-12-30 05:20:58 +00004355func (x *OfpOxmField) GetOxmClass() OfpOxmClass {
4356 if x != nil {
4357 return x.OxmClass
William Kurkian1b363f42019-03-12 15:28:12 -04004358 }
4359 return OfpOxmClass_OFPXMC_NXM_0
4360}
4361
Abhay Kumar03713392025-12-30 05:20:58 +00004362func (x *OfpOxmField) GetField() isOfpOxmField_Field {
4363 if x != nil {
4364 return x.Field
4365 }
4366 return nil
4367}
4368
4369func (x *OfpOxmField) GetOfbField() *OfpOxmOfbField {
4370 if x != nil {
4371 if x, ok := x.Field.(*OfpOxmField_OfbField); ok {
4372 return x.OfbField
4373 }
4374 }
4375 return nil
4376}
4377
4378func (x *OfpOxmField) GetExperimenterField() *OfpOxmExperimenterField {
4379 if x != nil {
4380 if x, ok := x.Field.(*OfpOxmField_ExperimenterField); ok {
4381 return x.ExperimenterField
4382 }
4383 }
4384 return nil
4385}
4386
William Kurkian1b363f42019-03-12 15:28:12 -04004387type isOfpOxmField_Field interface {
4388 isOfpOxmField_Field()
4389}
4390
4391type OfpOxmField_OfbField struct {
Abhay Kumar03713392025-12-30 05:20:58 +00004392 // 2 and 3 reserved for NXM_0 and NXM-1 OXM classes
William Kurkian1b363f42019-03-12 15:28:12 -04004393 OfbField *OfpOxmOfbField `protobuf:"bytes,4,opt,name=ofb_field,json=ofbField,proto3,oneof"`
4394}
4395
4396type OfpOxmField_ExperimenterField struct {
4397 ExperimenterField *OfpOxmExperimenterField `protobuf:"bytes,5,opt,name=experimenter_field,json=experimenterField,proto3,oneof"`
4398}
4399
4400func (*OfpOxmField_OfbField) isOfpOxmField_Field() {}
4401
4402func (*OfpOxmField_ExperimenterField) isOfpOxmField_Field() {}
4403
William Kurkian1b363f42019-03-12 15:28:12 -04004404// OXM OpenFlow Basic Match Field
4405type OfpOxmOfbField struct {
Abhay Kumar03713392025-12-30 05:20:58 +00004406 state protoimpl.MessageState `protogen:"open.v1"`
4407 Type OxmOfbFieldTypes `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OxmOfbFieldTypes" json:"type,omitempty"`
4408 HasMask bool `protobuf:"varint,2,opt,name=has_mask,json=hasMask,proto3" json:"has_mask,omitempty"`
William Kurkian1b363f42019-03-12 15:28:12 -04004409 // Types that are valid to be assigned to Value:
Abhay Kumar03713392025-12-30 05:20:58 +00004410 //
William Kurkian1b363f42019-03-12 15:28:12 -04004411 // *OfpOxmOfbField_Port
4412 // *OfpOxmOfbField_PhysicalPort
4413 // *OfpOxmOfbField_TableMetadata
4414 // *OfpOxmOfbField_EthDst
4415 // *OfpOxmOfbField_EthSrc
4416 // *OfpOxmOfbField_EthType
4417 // *OfpOxmOfbField_VlanVid
4418 // *OfpOxmOfbField_VlanPcp
4419 // *OfpOxmOfbField_IpDscp
4420 // *OfpOxmOfbField_IpEcn
4421 // *OfpOxmOfbField_IpProto
4422 // *OfpOxmOfbField_Ipv4Src
4423 // *OfpOxmOfbField_Ipv4Dst
4424 // *OfpOxmOfbField_TcpSrc
4425 // *OfpOxmOfbField_TcpDst
4426 // *OfpOxmOfbField_UdpSrc
4427 // *OfpOxmOfbField_UdpDst
4428 // *OfpOxmOfbField_SctpSrc
4429 // *OfpOxmOfbField_SctpDst
4430 // *OfpOxmOfbField_Icmpv4Type
4431 // *OfpOxmOfbField_Icmpv4Code
4432 // *OfpOxmOfbField_ArpOp
4433 // *OfpOxmOfbField_ArpSpa
4434 // *OfpOxmOfbField_ArpTpa
4435 // *OfpOxmOfbField_ArpSha
4436 // *OfpOxmOfbField_ArpTha
4437 // *OfpOxmOfbField_Ipv6Src
4438 // *OfpOxmOfbField_Ipv6Dst
4439 // *OfpOxmOfbField_Ipv6Flabel
4440 // *OfpOxmOfbField_Icmpv6Type
4441 // *OfpOxmOfbField_Icmpv6Code
4442 // *OfpOxmOfbField_Ipv6NdTarget
4443 // *OfpOxmOfbField_Ipv6NdSsl
4444 // *OfpOxmOfbField_Ipv6NdTll
4445 // *OfpOxmOfbField_MplsLabel
4446 // *OfpOxmOfbField_MplsTc
4447 // *OfpOxmOfbField_MplsBos
4448 // *OfpOxmOfbField_PbbIsid
4449 // *OfpOxmOfbField_TunnelId
4450 // *OfpOxmOfbField_Ipv6Exthdr
4451 Value isOfpOxmOfbField_Value `protobuf_oneof:"value"`
4452 // Optional mask values (must be present when has_mask is true
William Kurkian1b363f42019-03-12 15:28:12 -04004453 // Types that are valid to be assigned to Mask:
Abhay Kumar03713392025-12-30 05:20:58 +00004454 //
William Kurkian1b363f42019-03-12 15:28:12 -04004455 // *OfpOxmOfbField_TableMetadataMask
4456 // *OfpOxmOfbField_EthDstMask
4457 // *OfpOxmOfbField_EthSrcMask
4458 // *OfpOxmOfbField_VlanVidMask
4459 // *OfpOxmOfbField_Ipv4SrcMask
4460 // *OfpOxmOfbField_Ipv4DstMask
4461 // *OfpOxmOfbField_ArpSpaMask
4462 // *OfpOxmOfbField_ArpTpaMask
4463 // *OfpOxmOfbField_Ipv6SrcMask
4464 // *OfpOxmOfbField_Ipv6DstMask
4465 // *OfpOxmOfbField_Ipv6FlabelMask
4466 // *OfpOxmOfbField_PbbIsidMask
4467 // *OfpOxmOfbField_TunnelIdMask
4468 // *OfpOxmOfbField_Ipv6ExthdrMask
Abhay Kumar03713392025-12-30 05:20:58 +00004469 Mask isOfpOxmOfbField_Mask `protobuf_oneof:"mask"`
4470 unknownFields protoimpl.UnknownFields
4471 sizeCache protoimpl.SizeCache
William Kurkian1b363f42019-03-12 15:28:12 -04004472}
4473
Abhay Kumar03713392025-12-30 05:20:58 +00004474func (x *OfpOxmOfbField) Reset() {
4475 *x = OfpOxmOfbField{}
4476 mi := &file_voltha_protos_openflow_13_proto_msgTypes[13]
4477 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4478 ms.StoreMessageInfo(mi)
4479}
4480
4481func (x *OfpOxmOfbField) String() string {
4482 return protoimpl.X.MessageStringOf(x)
4483}
4484
4485func (*OfpOxmOfbField) ProtoMessage() {}
4486
4487func (x *OfpOxmOfbField) ProtoReflect() protoreflect.Message {
4488 mi := &file_voltha_protos_openflow_13_proto_msgTypes[13]
4489 if x != nil {
4490 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4491 if ms.LoadMessageInfo() == nil {
4492 ms.StoreMessageInfo(mi)
4493 }
4494 return ms
4495 }
4496 return mi.MessageOf(x)
4497}
4498
4499// Deprecated: Use OfpOxmOfbField.ProtoReflect.Descriptor instead.
William Kurkian1b363f42019-03-12 15:28:12 -04004500func (*OfpOxmOfbField) Descriptor() ([]byte, []int) {
Abhay Kumar03713392025-12-30 05:20:58 +00004501 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{13}
William Kurkian1b363f42019-03-12 15:28:12 -04004502}
William Kurkianad745652019-03-20 08:45:51 -04004503
Abhay Kumar03713392025-12-30 05:20:58 +00004504func (x *OfpOxmOfbField) GetType() OxmOfbFieldTypes {
4505 if x != nil {
4506 return x.Type
William Kurkian1b363f42019-03-12 15:28:12 -04004507 }
4508 return OxmOfbFieldTypes_OFPXMT_OFB_IN_PORT
4509}
4510
Abhay Kumar03713392025-12-30 05:20:58 +00004511func (x *OfpOxmOfbField) GetHasMask() bool {
4512 if x != nil {
4513 return x.HasMask
William Kurkian1b363f42019-03-12 15:28:12 -04004514 }
4515 return false
4516}
4517
Abhay Kumar03713392025-12-30 05:20:58 +00004518func (x *OfpOxmOfbField) GetValue() isOfpOxmOfbField_Value {
4519 if x != nil {
4520 return x.Value
4521 }
4522 return nil
4523}
4524
4525func (x *OfpOxmOfbField) GetPort() uint32 {
4526 if x != nil {
4527 if x, ok := x.Value.(*OfpOxmOfbField_Port); ok {
4528 return x.Port
4529 }
4530 }
4531 return 0
4532}
4533
4534func (x *OfpOxmOfbField) GetPhysicalPort() uint32 {
4535 if x != nil {
4536 if x, ok := x.Value.(*OfpOxmOfbField_PhysicalPort); ok {
4537 return x.PhysicalPort
4538 }
4539 }
4540 return 0
4541}
4542
4543func (x *OfpOxmOfbField) GetTableMetadata() uint64 {
4544 if x != nil {
4545 if x, ok := x.Value.(*OfpOxmOfbField_TableMetadata); ok {
4546 return x.TableMetadata
4547 }
4548 }
4549 return 0
4550}
4551
4552func (x *OfpOxmOfbField) GetEthDst() []byte {
4553 if x != nil {
4554 if x, ok := x.Value.(*OfpOxmOfbField_EthDst); ok {
4555 return x.EthDst
4556 }
4557 }
4558 return nil
4559}
4560
4561func (x *OfpOxmOfbField) GetEthSrc() []byte {
4562 if x != nil {
4563 if x, ok := x.Value.(*OfpOxmOfbField_EthSrc); ok {
4564 return x.EthSrc
4565 }
4566 }
4567 return nil
4568}
4569
4570func (x *OfpOxmOfbField) GetEthType() uint32 {
4571 if x != nil {
4572 if x, ok := x.Value.(*OfpOxmOfbField_EthType); ok {
4573 return x.EthType
4574 }
4575 }
4576 return 0
4577}
4578
4579func (x *OfpOxmOfbField) GetVlanVid() uint32 {
4580 if x != nil {
4581 if x, ok := x.Value.(*OfpOxmOfbField_VlanVid); ok {
4582 return x.VlanVid
4583 }
4584 }
4585 return 0
4586}
4587
4588func (x *OfpOxmOfbField) GetVlanPcp() uint32 {
4589 if x != nil {
4590 if x, ok := x.Value.(*OfpOxmOfbField_VlanPcp); ok {
4591 return x.VlanPcp
4592 }
4593 }
4594 return 0
4595}
4596
4597func (x *OfpOxmOfbField) GetIpDscp() uint32 {
4598 if x != nil {
4599 if x, ok := x.Value.(*OfpOxmOfbField_IpDscp); ok {
4600 return x.IpDscp
4601 }
4602 }
4603 return 0
4604}
4605
4606func (x *OfpOxmOfbField) GetIpEcn() uint32 {
4607 if x != nil {
4608 if x, ok := x.Value.(*OfpOxmOfbField_IpEcn); ok {
4609 return x.IpEcn
4610 }
4611 }
4612 return 0
4613}
4614
4615func (x *OfpOxmOfbField) GetIpProto() uint32 {
4616 if x != nil {
4617 if x, ok := x.Value.(*OfpOxmOfbField_IpProto); ok {
4618 return x.IpProto
4619 }
4620 }
4621 return 0
4622}
4623
4624func (x *OfpOxmOfbField) GetIpv4Src() uint32 {
4625 if x != nil {
4626 if x, ok := x.Value.(*OfpOxmOfbField_Ipv4Src); ok {
4627 return x.Ipv4Src
4628 }
4629 }
4630 return 0
4631}
4632
4633func (x *OfpOxmOfbField) GetIpv4Dst() uint32 {
4634 if x != nil {
4635 if x, ok := x.Value.(*OfpOxmOfbField_Ipv4Dst); ok {
4636 return x.Ipv4Dst
4637 }
4638 }
4639 return 0
4640}
4641
4642func (x *OfpOxmOfbField) GetTcpSrc() uint32 {
4643 if x != nil {
4644 if x, ok := x.Value.(*OfpOxmOfbField_TcpSrc); ok {
4645 return x.TcpSrc
4646 }
4647 }
4648 return 0
4649}
4650
4651func (x *OfpOxmOfbField) GetTcpDst() uint32 {
4652 if x != nil {
4653 if x, ok := x.Value.(*OfpOxmOfbField_TcpDst); ok {
4654 return x.TcpDst
4655 }
4656 }
4657 return 0
4658}
4659
4660func (x *OfpOxmOfbField) GetUdpSrc() uint32 {
4661 if x != nil {
4662 if x, ok := x.Value.(*OfpOxmOfbField_UdpSrc); ok {
4663 return x.UdpSrc
4664 }
4665 }
4666 return 0
4667}
4668
4669func (x *OfpOxmOfbField) GetUdpDst() uint32 {
4670 if x != nil {
4671 if x, ok := x.Value.(*OfpOxmOfbField_UdpDst); ok {
4672 return x.UdpDst
4673 }
4674 }
4675 return 0
4676}
4677
4678func (x *OfpOxmOfbField) GetSctpSrc() uint32 {
4679 if x != nil {
4680 if x, ok := x.Value.(*OfpOxmOfbField_SctpSrc); ok {
4681 return x.SctpSrc
4682 }
4683 }
4684 return 0
4685}
4686
4687func (x *OfpOxmOfbField) GetSctpDst() uint32 {
4688 if x != nil {
4689 if x, ok := x.Value.(*OfpOxmOfbField_SctpDst); ok {
4690 return x.SctpDst
4691 }
4692 }
4693 return 0
4694}
4695
4696func (x *OfpOxmOfbField) GetIcmpv4Type() uint32 {
4697 if x != nil {
4698 if x, ok := x.Value.(*OfpOxmOfbField_Icmpv4Type); ok {
4699 return x.Icmpv4Type
4700 }
4701 }
4702 return 0
4703}
4704
4705func (x *OfpOxmOfbField) GetIcmpv4Code() uint32 {
4706 if x != nil {
4707 if x, ok := x.Value.(*OfpOxmOfbField_Icmpv4Code); ok {
4708 return x.Icmpv4Code
4709 }
4710 }
4711 return 0
4712}
4713
4714func (x *OfpOxmOfbField) GetArpOp() uint32 {
4715 if x != nil {
4716 if x, ok := x.Value.(*OfpOxmOfbField_ArpOp); ok {
4717 return x.ArpOp
4718 }
4719 }
4720 return 0
4721}
4722
4723func (x *OfpOxmOfbField) GetArpSpa() uint32 {
4724 if x != nil {
4725 if x, ok := x.Value.(*OfpOxmOfbField_ArpSpa); ok {
4726 return x.ArpSpa
4727 }
4728 }
4729 return 0
4730}
4731
4732func (x *OfpOxmOfbField) GetArpTpa() uint32 {
4733 if x != nil {
4734 if x, ok := x.Value.(*OfpOxmOfbField_ArpTpa); ok {
4735 return x.ArpTpa
4736 }
4737 }
4738 return 0
4739}
4740
4741func (x *OfpOxmOfbField) GetArpSha() []byte {
4742 if x != nil {
4743 if x, ok := x.Value.(*OfpOxmOfbField_ArpSha); ok {
4744 return x.ArpSha
4745 }
4746 }
4747 return nil
4748}
4749
4750func (x *OfpOxmOfbField) GetArpTha() []byte {
4751 if x != nil {
4752 if x, ok := x.Value.(*OfpOxmOfbField_ArpTha); ok {
4753 return x.ArpTha
4754 }
4755 }
4756 return nil
4757}
4758
4759func (x *OfpOxmOfbField) GetIpv6Src() []byte {
4760 if x != nil {
4761 if x, ok := x.Value.(*OfpOxmOfbField_Ipv6Src); ok {
4762 return x.Ipv6Src
4763 }
4764 }
4765 return nil
4766}
4767
4768func (x *OfpOxmOfbField) GetIpv6Dst() []byte {
4769 if x != nil {
4770 if x, ok := x.Value.(*OfpOxmOfbField_Ipv6Dst); ok {
4771 return x.Ipv6Dst
4772 }
4773 }
4774 return nil
4775}
4776
4777func (x *OfpOxmOfbField) GetIpv6Flabel() uint32 {
4778 if x != nil {
4779 if x, ok := x.Value.(*OfpOxmOfbField_Ipv6Flabel); ok {
4780 return x.Ipv6Flabel
4781 }
4782 }
4783 return 0
4784}
4785
4786func (x *OfpOxmOfbField) GetIcmpv6Type() uint32 {
4787 if x != nil {
4788 if x, ok := x.Value.(*OfpOxmOfbField_Icmpv6Type); ok {
4789 return x.Icmpv6Type
4790 }
4791 }
4792 return 0
4793}
4794
4795func (x *OfpOxmOfbField) GetIcmpv6Code() uint32 {
4796 if x != nil {
4797 if x, ok := x.Value.(*OfpOxmOfbField_Icmpv6Code); ok {
4798 return x.Icmpv6Code
4799 }
4800 }
4801 return 0
4802}
4803
4804func (x *OfpOxmOfbField) GetIpv6NdTarget() []byte {
4805 if x != nil {
4806 if x, ok := x.Value.(*OfpOxmOfbField_Ipv6NdTarget); ok {
4807 return x.Ipv6NdTarget
4808 }
4809 }
4810 return nil
4811}
4812
4813func (x *OfpOxmOfbField) GetIpv6NdSsl() []byte {
4814 if x != nil {
4815 if x, ok := x.Value.(*OfpOxmOfbField_Ipv6NdSsl); ok {
4816 return x.Ipv6NdSsl
4817 }
4818 }
4819 return nil
4820}
4821
4822func (x *OfpOxmOfbField) GetIpv6NdTll() []byte {
4823 if x != nil {
4824 if x, ok := x.Value.(*OfpOxmOfbField_Ipv6NdTll); ok {
4825 return x.Ipv6NdTll
4826 }
4827 }
4828 return nil
4829}
4830
4831func (x *OfpOxmOfbField) GetMplsLabel() uint32 {
4832 if x != nil {
4833 if x, ok := x.Value.(*OfpOxmOfbField_MplsLabel); ok {
4834 return x.MplsLabel
4835 }
4836 }
4837 return 0
4838}
4839
4840func (x *OfpOxmOfbField) GetMplsTc() uint32 {
4841 if x != nil {
4842 if x, ok := x.Value.(*OfpOxmOfbField_MplsTc); ok {
4843 return x.MplsTc
4844 }
4845 }
4846 return 0
4847}
4848
4849func (x *OfpOxmOfbField) GetMplsBos() uint32 {
4850 if x != nil {
4851 if x, ok := x.Value.(*OfpOxmOfbField_MplsBos); ok {
4852 return x.MplsBos
4853 }
4854 }
4855 return 0
4856}
4857
4858func (x *OfpOxmOfbField) GetPbbIsid() uint32 {
4859 if x != nil {
4860 if x, ok := x.Value.(*OfpOxmOfbField_PbbIsid); ok {
4861 return x.PbbIsid
4862 }
4863 }
4864 return 0
4865}
4866
4867func (x *OfpOxmOfbField) GetTunnelId() uint64 {
4868 if x != nil {
4869 if x, ok := x.Value.(*OfpOxmOfbField_TunnelId); ok {
4870 return x.TunnelId
4871 }
4872 }
4873 return 0
4874}
4875
4876func (x *OfpOxmOfbField) GetIpv6Exthdr() uint32 {
4877 if x != nil {
4878 if x, ok := x.Value.(*OfpOxmOfbField_Ipv6Exthdr); ok {
4879 return x.Ipv6Exthdr
4880 }
4881 }
4882 return 0
4883}
4884
4885func (x *OfpOxmOfbField) GetMask() isOfpOxmOfbField_Mask {
4886 if x != nil {
4887 return x.Mask
4888 }
4889 return nil
4890}
4891
4892func (x *OfpOxmOfbField) GetTableMetadataMask() uint64 {
4893 if x != nil {
4894 if x, ok := x.Mask.(*OfpOxmOfbField_TableMetadataMask); ok {
4895 return x.TableMetadataMask
4896 }
4897 }
4898 return 0
4899}
4900
4901func (x *OfpOxmOfbField) GetEthDstMask() []byte {
4902 if x != nil {
4903 if x, ok := x.Mask.(*OfpOxmOfbField_EthDstMask); ok {
4904 return x.EthDstMask
4905 }
4906 }
4907 return nil
4908}
4909
4910func (x *OfpOxmOfbField) GetEthSrcMask() []byte {
4911 if x != nil {
4912 if x, ok := x.Mask.(*OfpOxmOfbField_EthSrcMask); ok {
4913 return x.EthSrcMask
4914 }
4915 }
4916 return nil
4917}
4918
4919func (x *OfpOxmOfbField) GetVlanVidMask() uint32 {
4920 if x != nil {
4921 if x, ok := x.Mask.(*OfpOxmOfbField_VlanVidMask); ok {
4922 return x.VlanVidMask
4923 }
4924 }
4925 return 0
4926}
4927
4928func (x *OfpOxmOfbField) GetIpv4SrcMask() uint32 {
4929 if x != nil {
4930 if x, ok := x.Mask.(*OfpOxmOfbField_Ipv4SrcMask); ok {
4931 return x.Ipv4SrcMask
4932 }
4933 }
4934 return 0
4935}
4936
4937func (x *OfpOxmOfbField) GetIpv4DstMask() uint32 {
4938 if x != nil {
4939 if x, ok := x.Mask.(*OfpOxmOfbField_Ipv4DstMask); ok {
4940 return x.Ipv4DstMask
4941 }
4942 }
4943 return 0
4944}
4945
4946func (x *OfpOxmOfbField) GetArpSpaMask() uint32 {
4947 if x != nil {
4948 if x, ok := x.Mask.(*OfpOxmOfbField_ArpSpaMask); ok {
4949 return x.ArpSpaMask
4950 }
4951 }
4952 return 0
4953}
4954
4955func (x *OfpOxmOfbField) GetArpTpaMask() uint32 {
4956 if x != nil {
4957 if x, ok := x.Mask.(*OfpOxmOfbField_ArpTpaMask); ok {
4958 return x.ArpTpaMask
4959 }
4960 }
4961 return 0
4962}
4963
4964func (x *OfpOxmOfbField) GetIpv6SrcMask() []byte {
4965 if x != nil {
4966 if x, ok := x.Mask.(*OfpOxmOfbField_Ipv6SrcMask); ok {
4967 return x.Ipv6SrcMask
4968 }
4969 }
4970 return nil
4971}
4972
4973func (x *OfpOxmOfbField) GetIpv6DstMask() []byte {
4974 if x != nil {
4975 if x, ok := x.Mask.(*OfpOxmOfbField_Ipv6DstMask); ok {
4976 return x.Ipv6DstMask
4977 }
4978 }
4979 return nil
4980}
4981
4982func (x *OfpOxmOfbField) GetIpv6FlabelMask() uint32 {
4983 if x != nil {
4984 if x, ok := x.Mask.(*OfpOxmOfbField_Ipv6FlabelMask); ok {
4985 return x.Ipv6FlabelMask
4986 }
4987 }
4988 return 0
4989}
4990
4991func (x *OfpOxmOfbField) GetPbbIsidMask() uint32 {
4992 if x != nil {
4993 if x, ok := x.Mask.(*OfpOxmOfbField_PbbIsidMask); ok {
4994 return x.PbbIsidMask
4995 }
4996 }
4997 return 0
4998}
4999
5000func (x *OfpOxmOfbField) GetTunnelIdMask() uint64 {
5001 if x != nil {
5002 if x, ok := x.Mask.(*OfpOxmOfbField_TunnelIdMask); ok {
5003 return x.TunnelIdMask
5004 }
5005 }
5006 return 0
5007}
5008
5009func (x *OfpOxmOfbField) GetIpv6ExthdrMask() uint32 {
5010 if x != nil {
5011 if x, ok := x.Mask.(*OfpOxmOfbField_Ipv6ExthdrMask); ok {
5012 return x.Ipv6ExthdrMask
5013 }
5014 }
5015 return 0
5016}
5017
William Kurkian1b363f42019-03-12 15:28:12 -04005018type isOfpOxmOfbField_Value interface {
5019 isOfpOxmOfbField_Value()
5020}
5021
5022type OfpOxmOfbField_Port struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005023 // #define OXM_OF_IN_PORT OXM_HEADER (0x8000, OFPXMT_OFB_IN_PORT, 4)
5024 Port uint32 `protobuf:"varint,3,opt,name=port,proto3,oneof"` // Used for OFPXMT_OFB_IN_PORT
William Kurkian1b363f42019-03-12 15:28:12 -04005025}
5026
5027type OfpOxmOfbField_PhysicalPort struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005028 // #define OXM_OF_IN_PHY_PORT OXM_HEADER (0x8000, OFPXMT_OFB_IN_PHY_PORT, 4)
5029 PhysicalPort uint32 `protobuf:"varint,4,opt,name=physical_port,json=physicalPort,proto3,oneof"` // Used for OFPXMT_OF_IN_PHY_PORT
William Kurkian1b363f42019-03-12 15:28:12 -04005030}
5031
5032type OfpOxmOfbField_TableMetadata struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005033 // #define OXM_OF_METADATA OXM_HEADER (0x8000, OFPXMT_OFB_METADATA, 8)
5034 // #define OXM_OF_METADATA_W OXM_HEADER_W(0x8000, OFPXMT_OFB_METADATA, 8)
5035 TableMetadata uint64 `protobuf:"varint,5,opt,name=table_metadata,json=tableMetadata,proto3,oneof"` // Used for OFPXMT_OFB_METADATA
William Kurkian1b363f42019-03-12 15:28:12 -04005036}
5037
5038type OfpOxmOfbField_EthDst struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005039 // #define OXM_OF_ETH_DST OXM_HEADER (0x8000, OFPXMT_OFB_ETH_DST, 6)
5040 // #define OXM_OF_ETH_DST_W OXM_HEADER_W(0x8000, OFPXMT_OFB_ETH_DST, 6)
5041 // #define OXM_OF_ETH_SRC OXM_HEADER (0x8000, OFPXMT_OFB_ETH_SRC, 6)
5042 // #define OXM_OF_ETH_SRC_W OXM_HEADER_W(0x8000, OFPXMT_OFB_ETH_SRC, 6)
5043 EthDst []byte `protobuf:"bytes,6,opt,name=eth_dst,json=ethDst,proto3,oneof"` // Used for OFPXMT_OFB_ETH_DST (exactly 6 bytes)
William Kurkian1b363f42019-03-12 15:28:12 -04005044}
5045
5046type OfpOxmOfbField_EthSrc struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005047 EthSrc []byte `protobuf:"bytes,7,opt,name=eth_src,json=ethSrc,proto3,oneof"` // Used for OFPXMT_OFB_ETH_SRC (exactly 6 bytes)
William Kurkian1b363f42019-03-12 15:28:12 -04005048}
5049
5050type OfpOxmOfbField_EthType struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005051 // #define OXM_OF_ETH_TYPE OXM_HEADER (0x8000, OFPXMT_OFB_ETH_TYPE,2)
5052 EthType uint32 `protobuf:"varint,8,opt,name=eth_type,json=ethType,proto3,oneof"` // Used for OFPXMT_OFB_ETH_TYPE
William Kurkian1b363f42019-03-12 15:28:12 -04005053}
5054
5055type OfpOxmOfbField_VlanVid struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005056 // #define OXM_OF_VLAN_VID OXM_HEADER (0x8000, OFPXMT_OFB_VLAN_VID, 2)
5057 // #define OXM_OF_VLAN_VID_W OXM_HEADER_W(0x8000, OFPXMT_OFB_VLAN_VID, 2)
5058 VlanVid uint32 `protobuf:"varint,9,opt,name=vlan_vid,json=vlanVid,proto3,oneof"` // Used for OFPXMT_OFB_VLAN_VID
William Kurkian1b363f42019-03-12 15:28:12 -04005059}
5060
5061type OfpOxmOfbField_VlanPcp struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005062 // #define OXM_OF_VLAN_PCP OXM_HEADER (0x8000, OFPXMT_OFB_VLAN_PCP, 1)
5063 VlanPcp uint32 `protobuf:"varint,10,opt,name=vlan_pcp,json=vlanPcp,proto3,oneof"` // Used for OFPXMT_OFB_VLAN_PCP
William Kurkian1b363f42019-03-12 15:28:12 -04005064}
5065
5066type OfpOxmOfbField_IpDscp struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005067 // #define OXM_OF_IP_DSCP OXM_HEADER (0x8000, OFPXMT_OFB_IP_DSCP, 1)
5068 IpDscp uint32 `protobuf:"varint,11,opt,name=ip_dscp,json=ipDscp,proto3,oneof"` // Used for OFPXMT_OFB_IP_DSCP
William Kurkian1b363f42019-03-12 15:28:12 -04005069}
5070
5071type OfpOxmOfbField_IpEcn struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005072 // #define OXM_OF_IP_ECN OXM_HEADER (0x8000, OFPXMT_OFB_IP_ECN, 1)
5073 IpEcn uint32 `protobuf:"varint,12,opt,name=ip_ecn,json=ipEcn,proto3,oneof"` // Used for OFPXMT_OFB_IP_ECN
William Kurkian1b363f42019-03-12 15:28:12 -04005074}
5075
5076type OfpOxmOfbField_IpProto struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005077 // #define OXM_OF_IP_PROTO OXM_HEADER (0x8000, OFPXMT_OFB_IP_PROTO, 1)
5078 IpProto uint32 `protobuf:"varint,13,opt,name=ip_proto,json=ipProto,proto3,oneof"` // Used for OFPXMT_OFB_IP_PROTO
William Kurkian1b363f42019-03-12 15:28:12 -04005079}
5080
5081type OfpOxmOfbField_Ipv4Src struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005082 // #define OXM_OF_IPV4_SRC OXM_HEADER (0x8000, OFPXMT_OFB_IPV4_SRC, 4)
5083 // #define OXM_OF_IPV4_SRC_W OXM_HEADER_W(0x8000, OFPXMT_OFB_IPV4_SRC, 4)
5084 // #define OXM_OF_IPV4_DST OXM_HEADER (0x8000, OFPXMT_OFB_IPV4_DST, 4)
5085 // #define OXM_OF_IPV4_DST_W OXM_HEADER_W(0x8000, OFPXMT_OFB_IPV4_DST, 4)
5086 Ipv4Src uint32 `protobuf:"varint,14,opt,name=ipv4_src,json=ipv4Src,proto3,oneof"` // Used for OFPXMT_OFB_IPV4_SRC
William Kurkian1b363f42019-03-12 15:28:12 -04005087}
5088
5089type OfpOxmOfbField_Ipv4Dst struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005090 Ipv4Dst uint32 `protobuf:"varint,15,opt,name=ipv4_dst,json=ipv4Dst,proto3,oneof"` // Used for OFPXMT_OFB_IPV4_DST
William Kurkian1b363f42019-03-12 15:28:12 -04005091}
5092
5093type OfpOxmOfbField_TcpSrc struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005094 // #define OXM_OF_TCP_SRC OXM_HEADER (0x8000, OFPXMT_OFB_TCP_SRC, 2)
5095 // #define OXM_OF_TCP_DST OXM_HEADER (0x8000, OFPXMT_OFB_TCP_DST, 2)
5096 TcpSrc uint32 `protobuf:"varint,16,opt,name=tcp_src,json=tcpSrc,proto3,oneof"` // Used for OFPXMT_OFB_TCP_SRC
William Kurkian1b363f42019-03-12 15:28:12 -04005097}
5098
5099type OfpOxmOfbField_TcpDst struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005100 TcpDst uint32 `protobuf:"varint,17,opt,name=tcp_dst,json=tcpDst,proto3,oneof"` // Used for OFPXMT_OFB_TCP_DST
William Kurkian1b363f42019-03-12 15:28:12 -04005101}
5102
5103type OfpOxmOfbField_UdpSrc struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005104 // #define OXM_OF_UDP_SRC OXM_HEADER (0x8000, OFPXMT_OFB_UDP_SRC, 2)
5105 // #define OXM_OF_UDP_DST OXM_HEADER (0x8000, OFPXMT_OFB_UDP_DST, 2)
5106 UdpSrc uint32 `protobuf:"varint,18,opt,name=udp_src,json=udpSrc,proto3,oneof"` // Used for OFPXMT_OFB_UDP_SRC
William Kurkian1b363f42019-03-12 15:28:12 -04005107}
5108
5109type OfpOxmOfbField_UdpDst struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005110 UdpDst uint32 `protobuf:"varint,19,opt,name=udp_dst,json=udpDst,proto3,oneof"` // Used for OFPXMT_OFB_UDP_DST
William Kurkian1b363f42019-03-12 15:28:12 -04005111}
5112
5113type OfpOxmOfbField_SctpSrc struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005114 // #define OXM_OF_SCTP_SRC OXM_HEADER (0x8000, OFPXMT_OFB_SCTP_SRC, 2)
5115 // #define OXM_OF_SCTP_DST OXM_HEADER (0x8000, OFPXMT_OFB_SCTP_DST, 2)
5116 SctpSrc uint32 `protobuf:"varint,20,opt,name=sctp_src,json=sctpSrc,proto3,oneof"` // Used for OFPXMT_OFB_SCTP_SRC
William Kurkian1b363f42019-03-12 15:28:12 -04005117}
5118
5119type OfpOxmOfbField_SctpDst struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005120 SctpDst uint32 `protobuf:"varint,21,opt,name=sctp_dst,json=sctpDst,proto3,oneof"` // Used for OFPXMT_OFB_SCTP_DST
William Kurkian1b363f42019-03-12 15:28:12 -04005121}
5122
5123type OfpOxmOfbField_Icmpv4Type struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005124 // #define OXM_OF_ICMPV4_TYPE OXM_HEADER (0x8000, OFPXMT_OFB_ICMPV4_TYPE, 1)
5125 // #define OXM_OF_ICMPV4_CODE OXM_HEADER (0x8000, OFPXMT_OFB_ICMPV4_CODE, 1)
5126 Icmpv4Type uint32 `protobuf:"varint,22,opt,name=icmpv4_type,json=icmpv4Type,proto3,oneof"` // Used for OFPXMT_OFB_ICMPV4_TYPE
William Kurkian1b363f42019-03-12 15:28:12 -04005127}
5128
5129type OfpOxmOfbField_Icmpv4Code struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005130 Icmpv4Code uint32 `protobuf:"varint,23,opt,name=icmpv4_code,json=icmpv4Code,proto3,oneof"` // Used for OFPXMT_OFB_ICMPV4_CODE
William Kurkian1b363f42019-03-12 15:28:12 -04005131}
5132
5133type OfpOxmOfbField_ArpOp struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005134 // #define OXM_OF_ARP_OP OXM_HEADER (0x8000, OFPXMT_OFB_ARP_OP, 2)
5135 ArpOp uint32 `protobuf:"varint,24,opt,name=arp_op,json=arpOp,proto3,oneof"` // Used for OFPXMT_OFB_ARP_OP
William Kurkian1b363f42019-03-12 15:28:12 -04005136}
5137
5138type OfpOxmOfbField_ArpSpa struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005139 // #define OXM_OF_ARP_SPA OXM_HEADER (0x8000, OFPXMT_OFB_ARP_SPA, 4)
5140 // #define OXM_OF_ARP_SPA_W OXM_HEADER_W(0x8000, OFPXMT_OFB_ARP_SPA, 4)
5141 // #define OXM_OF_ARP_TPA OXM_HEADER (0x8000, OFPXMT_OFB_ARP_TPA, 4)
5142 // #define OXM_OF_ARP_TPA_W OXM_HEADER_W(0x8000, OFPXMT_OFB_ARP_TPA, 4)
5143 ArpSpa uint32 `protobuf:"varint,25,opt,name=arp_spa,json=arpSpa,proto3,oneof"` // For OFPXMT_OFB_ARP_SPA
William Kurkian1b363f42019-03-12 15:28:12 -04005144}
5145
5146type OfpOxmOfbField_ArpTpa struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005147 ArpTpa uint32 `protobuf:"varint,26,opt,name=arp_tpa,json=arpTpa,proto3,oneof"` // For OFPXMT_OFB_ARP_TPA
William Kurkian1b363f42019-03-12 15:28:12 -04005148}
5149
5150type OfpOxmOfbField_ArpSha struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005151 // #define OXM_OF_ARP_SHA OXM_HEADER (0x8000, OFPXMT_OFB_ARP_SHA, 6)
5152 // #define OXM_OF_ARP_SHA_W OXM_HEADER_W (0x8000, OFPXMT_OFB_ARP_SHA, 6)
5153 // #define OXM_OF_ARP_THA OXM_HEADER (0x8000, OFPXMT_OFB_ARP_THA, 6)
5154 // #define OXM_OF_ARP_THA_W OXM_HEADER_W (0x8000, OFPXMT_OFB_ARP_THA, 6)
5155 ArpSha []byte `protobuf:"bytes,27,opt,name=arp_sha,json=arpSha,proto3,oneof"` // For OFPXMT_OFB_ARP_SHA (6 bytes)
William Kurkian1b363f42019-03-12 15:28:12 -04005156}
5157
5158type OfpOxmOfbField_ArpTha struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005159 ArpTha []byte `protobuf:"bytes,28,opt,name=arp_tha,json=arpTha,proto3,oneof"` // For OFPXMT_OFB_ARP_THA (6 bytes)
William Kurkian1b363f42019-03-12 15:28:12 -04005160}
5161
5162type OfpOxmOfbField_Ipv6Src struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005163 // #define OXM_OF_IPV6_SRC OXM_HEADER (0x8000, OFPXMT_OFB_IPV6_SRC, 16)
5164 // #define OXM_OF_IPV6_SRC_W OXM_HEADER_W(0x8000, OFPXMT_OFB_IPV6_SRC, 16)
5165 // #define OXM_OF_IPV6_DST OXM_HEADER (0x8000, OFPXMT_OFB_IPV6_DST, 16)
5166 // #define OXM_OF_IPV6_DST_W OXM_HEADER_W(0x8000, OFPXMT_OFB_IPV6_DST, 16)
5167 Ipv6Src []byte `protobuf:"bytes,29,opt,name=ipv6_src,json=ipv6Src,proto3,oneof"` // For OFPXMT_OFB_IPV6_SRC
William Kurkian1b363f42019-03-12 15:28:12 -04005168}
5169
5170type OfpOxmOfbField_Ipv6Dst struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005171 Ipv6Dst []byte `protobuf:"bytes,30,opt,name=ipv6_dst,json=ipv6Dst,proto3,oneof"` // For OFPXMT_OFB_IPV6_DST
William Kurkian1b363f42019-03-12 15:28:12 -04005172}
5173
5174type OfpOxmOfbField_Ipv6Flabel struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005175 // #define OXM_OF_IPV6_FLABEL OXM_HEADER (0x8000, OFPXMT_OFB_IPV6_FLABEL, 4)
5176 // #define OXM_OF_IPV6_FLABEL_W OXM_HEADER_W(0x8000, OFPXMT_OFB_IPV6_FLABEL, 4)
5177 Ipv6Flabel uint32 `protobuf:"varint,31,opt,name=ipv6_flabel,json=ipv6Flabel,proto3,oneof"` // For OFPXMT_OFB_IPV6_FLABEL
William Kurkian1b363f42019-03-12 15:28:12 -04005178}
5179
5180type OfpOxmOfbField_Icmpv6Type struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005181 // #define OXM_OF_ICMPV6_TYPE OXM_HEADER (0x8000, OFPXMT_OFB_ICMPV6_TYPE, 1)
5182 // #define OXM_OF_ICMPV6_CODE OXM_HEADER (0x8000, OFPXMT_OFB_ICMPV6_CODE, 1)
5183 Icmpv6Type uint32 `protobuf:"varint,32,opt,name=icmpv6_type,json=icmpv6Type,proto3,oneof"` // For OFPXMT_OFB_ICMPV6_TYPE
William Kurkian1b363f42019-03-12 15:28:12 -04005184}
5185
5186type OfpOxmOfbField_Icmpv6Code struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005187 Icmpv6Code uint32 `protobuf:"varint,33,opt,name=icmpv6_code,json=icmpv6Code,proto3,oneof"` // For OFPXMT_OFB_ICMPV6_CODE
William Kurkian1b363f42019-03-12 15:28:12 -04005188}
5189
5190type OfpOxmOfbField_Ipv6NdTarget struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005191 // #define OXM_OF_IPV6_ND_TARGET OXM_HEADER \
5192 // (0x8000, OFPXMT_OFB_IPV6_ND_TARGET, 16)
5193 Ipv6NdTarget []byte `protobuf:"bytes,34,opt,name=ipv6_nd_target,json=ipv6NdTarget,proto3,oneof"` // For OFPXMT_OFB_IPV6_ND_TARGET
William Kurkian1b363f42019-03-12 15:28:12 -04005194}
5195
5196type OfpOxmOfbField_Ipv6NdSsl struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005197 // #define OXM_OF_IPV6_ND_SLL OXM_HEADER (0x8000, OFPXMT_OFB_IPV6_ND_SLL, 6)
5198 Ipv6NdSsl []byte `protobuf:"bytes,35,opt,name=ipv6_nd_ssl,json=ipv6NdSsl,proto3,oneof"` // For OFPXMT_OFB_IPV6_ND_SLL
William Kurkian1b363f42019-03-12 15:28:12 -04005199}
5200
5201type OfpOxmOfbField_Ipv6NdTll struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005202 // #define OXM_OF_IPV6_ND_TLL OXM_HEADER (0x8000, OFPXMT_OFB_IPV6_ND_TLL, 6)
5203 Ipv6NdTll []byte `protobuf:"bytes,36,opt,name=ipv6_nd_tll,json=ipv6NdTll,proto3,oneof"` // For OFPXMT_OFB_IPV6_ND_TLL
William Kurkian1b363f42019-03-12 15:28:12 -04005204}
5205
5206type OfpOxmOfbField_MplsLabel struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005207 // #define OXM_OF_MPLS_LABEL OXM_HEADER (0x8000, OFPXMT_OFB_MPLS_LABEL, 4)
5208 MplsLabel uint32 `protobuf:"varint,37,opt,name=mpls_label,json=mplsLabel,proto3,oneof"` // For OFPXMT_OFB_MPLS_LABEL
William Kurkian1b363f42019-03-12 15:28:12 -04005209}
5210
5211type OfpOxmOfbField_MplsTc struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005212 // #define OXM_OF_MPLS_TC OXM_HEADER (0x8000, OFPXMT_OFB_MPLS_TC, 1)
5213 MplsTc uint32 `protobuf:"varint,38,opt,name=mpls_tc,json=mplsTc,proto3,oneof"` // For OFPXMT_OFB_MPLS_TC
William Kurkian1b363f42019-03-12 15:28:12 -04005214}
5215
5216type OfpOxmOfbField_MplsBos struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005217 // #define OXM_OF_MPLS_BOS OXM_HEADER (0x8000, OFPXMT_OFB_MPLS_BOS, 1)
5218 MplsBos uint32 `protobuf:"varint,39,opt,name=mpls_bos,json=mplsBos,proto3,oneof"` // For OFPXMT_OFB_MPLS_BOS
William Kurkian1b363f42019-03-12 15:28:12 -04005219}
5220
5221type OfpOxmOfbField_PbbIsid struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005222 // #define OXM_OF_PBB_ISID OXM_HEADER (0x8000, OFPXMT_OFB_PBB_ISID, 3)
5223 // #define OXM_OF_PBB_ISID_W OXM_HEADER_W(0x8000, OFPXMT_OFB_PBB_ISID, 3)
5224 PbbIsid uint32 `protobuf:"varint,40,opt,name=pbb_isid,json=pbbIsid,proto3,oneof"` // For OFPXMT_OFB_PBB_ISID
William Kurkian1b363f42019-03-12 15:28:12 -04005225}
5226
5227type OfpOxmOfbField_TunnelId struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005228 // #define OXM_OF_TUNNEL_ID OXM_HEADER (0x8000, OFPXMT_OFB_TUNNEL_ID, 8)
5229 // #define OXM_OF_TUNNEL_ID_W OXM_HEADER_W(0x8000, OFPXMT_OFB_TUNNEL_ID, 8)
5230 TunnelId uint64 `protobuf:"varint,41,opt,name=tunnel_id,json=tunnelId,proto3,oneof"` // For OFPXMT_OFB_TUNNEL_ID
William Kurkian1b363f42019-03-12 15:28:12 -04005231}
5232
5233type OfpOxmOfbField_Ipv6Exthdr struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005234 // #define OXM_OF_IPV6_EXTHDR OXM_HEADER (0x8000, OFPXMT_OFB_IPV6_EXTHDR, 2)
5235 // #define OXM_OF_IPV6_EXTHDR_W OXM_HEADER_W(0x8000, OFPXMT_OFB_IPV6_EXTHDR, 2)
5236 Ipv6Exthdr uint32 `protobuf:"varint,42,opt,name=ipv6_exthdr,json=ipv6Exthdr,proto3,oneof"` // For OFPXMT_OFB_IPV6_EXTHDR
William Kurkian1b363f42019-03-12 15:28:12 -04005237}
5238
5239func (*OfpOxmOfbField_Port) isOfpOxmOfbField_Value() {}
5240
5241func (*OfpOxmOfbField_PhysicalPort) isOfpOxmOfbField_Value() {}
5242
5243func (*OfpOxmOfbField_TableMetadata) isOfpOxmOfbField_Value() {}
5244
5245func (*OfpOxmOfbField_EthDst) isOfpOxmOfbField_Value() {}
5246
5247func (*OfpOxmOfbField_EthSrc) isOfpOxmOfbField_Value() {}
5248
5249func (*OfpOxmOfbField_EthType) isOfpOxmOfbField_Value() {}
5250
5251func (*OfpOxmOfbField_VlanVid) isOfpOxmOfbField_Value() {}
5252
5253func (*OfpOxmOfbField_VlanPcp) isOfpOxmOfbField_Value() {}
5254
5255func (*OfpOxmOfbField_IpDscp) isOfpOxmOfbField_Value() {}
5256
5257func (*OfpOxmOfbField_IpEcn) isOfpOxmOfbField_Value() {}
5258
5259func (*OfpOxmOfbField_IpProto) isOfpOxmOfbField_Value() {}
5260
5261func (*OfpOxmOfbField_Ipv4Src) isOfpOxmOfbField_Value() {}
5262
5263func (*OfpOxmOfbField_Ipv4Dst) isOfpOxmOfbField_Value() {}
5264
5265func (*OfpOxmOfbField_TcpSrc) isOfpOxmOfbField_Value() {}
5266
5267func (*OfpOxmOfbField_TcpDst) isOfpOxmOfbField_Value() {}
5268
5269func (*OfpOxmOfbField_UdpSrc) isOfpOxmOfbField_Value() {}
5270
5271func (*OfpOxmOfbField_UdpDst) isOfpOxmOfbField_Value() {}
5272
5273func (*OfpOxmOfbField_SctpSrc) isOfpOxmOfbField_Value() {}
5274
5275func (*OfpOxmOfbField_SctpDst) isOfpOxmOfbField_Value() {}
5276
5277func (*OfpOxmOfbField_Icmpv4Type) isOfpOxmOfbField_Value() {}
5278
5279func (*OfpOxmOfbField_Icmpv4Code) isOfpOxmOfbField_Value() {}
5280
5281func (*OfpOxmOfbField_ArpOp) isOfpOxmOfbField_Value() {}
5282
5283func (*OfpOxmOfbField_ArpSpa) isOfpOxmOfbField_Value() {}
5284
5285func (*OfpOxmOfbField_ArpTpa) isOfpOxmOfbField_Value() {}
5286
5287func (*OfpOxmOfbField_ArpSha) isOfpOxmOfbField_Value() {}
5288
5289func (*OfpOxmOfbField_ArpTha) isOfpOxmOfbField_Value() {}
5290
5291func (*OfpOxmOfbField_Ipv6Src) isOfpOxmOfbField_Value() {}
5292
5293func (*OfpOxmOfbField_Ipv6Dst) isOfpOxmOfbField_Value() {}
5294
5295func (*OfpOxmOfbField_Ipv6Flabel) isOfpOxmOfbField_Value() {}
5296
5297func (*OfpOxmOfbField_Icmpv6Type) isOfpOxmOfbField_Value() {}
5298
5299func (*OfpOxmOfbField_Icmpv6Code) isOfpOxmOfbField_Value() {}
5300
5301func (*OfpOxmOfbField_Ipv6NdTarget) isOfpOxmOfbField_Value() {}
5302
5303func (*OfpOxmOfbField_Ipv6NdSsl) isOfpOxmOfbField_Value() {}
5304
5305func (*OfpOxmOfbField_Ipv6NdTll) isOfpOxmOfbField_Value() {}
5306
5307func (*OfpOxmOfbField_MplsLabel) isOfpOxmOfbField_Value() {}
5308
5309func (*OfpOxmOfbField_MplsTc) isOfpOxmOfbField_Value() {}
5310
5311func (*OfpOxmOfbField_MplsBos) isOfpOxmOfbField_Value() {}
5312
5313func (*OfpOxmOfbField_PbbIsid) isOfpOxmOfbField_Value() {}
5314
5315func (*OfpOxmOfbField_TunnelId) isOfpOxmOfbField_Value() {}
5316
5317func (*OfpOxmOfbField_Ipv6Exthdr) isOfpOxmOfbField_Value() {}
5318
William Kurkian1b363f42019-03-12 15:28:12 -04005319type isOfpOxmOfbField_Mask interface {
5320 isOfpOxmOfbField_Mask()
5321}
5322
5323type OfpOxmOfbField_TableMetadataMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005324 TableMetadataMask uint64 `protobuf:"varint,105,opt,name=table_metadata_mask,json=tableMetadataMask,proto3,oneof"` // For OFPXMT_OFB_METADATA
William Kurkian1b363f42019-03-12 15:28:12 -04005325}
5326
5327type OfpOxmOfbField_EthDstMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005328 EthDstMask []byte `protobuf:"bytes,106,opt,name=eth_dst_mask,json=ethDstMask,proto3,oneof"` // For OFPXMT_OFB_ETH_DST (exactly 6 bytes)
William Kurkian1b363f42019-03-12 15:28:12 -04005329}
5330
5331type OfpOxmOfbField_EthSrcMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005332 EthSrcMask []byte `protobuf:"bytes,107,opt,name=eth_src_mask,json=ethSrcMask,proto3,oneof"` // For OFPXMT_OFB_ETH_SRC (exactly 6 bytes)
William Kurkian1b363f42019-03-12 15:28:12 -04005333}
5334
5335type OfpOxmOfbField_VlanVidMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005336 VlanVidMask uint32 `protobuf:"varint,109,opt,name=vlan_vid_mask,json=vlanVidMask,proto3,oneof"` // For OFPXMT_OFB_VLAN_VID
William Kurkian1b363f42019-03-12 15:28:12 -04005337}
5338
5339type OfpOxmOfbField_Ipv4SrcMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005340 Ipv4SrcMask uint32 `protobuf:"varint,114,opt,name=ipv4_src_mask,json=ipv4SrcMask,proto3,oneof"` // For OFPXMT_OFB_IPV4_SRC
William Kurkian1b363f42019-03-12 15:28:12 -04005341}
5342
5343type OfpOxmOfbField_Ipv4DstMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005344 Ipv4DstMask uint32 `protobuf:"varint,115,opt,name=ipv4_dst_mask,json=ipv4DstMask,proto3,oneof"` // For OFPXMT_OFB_IPV4_DST
William Kurkian1b363f42019-03-12 15:28:12 -04005345}
5346
5347type OfpOxmOfbField_ArpSpaMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005348 ArpSpaMask uint32 `protobuf:"varint,125,opt,name=arp_spa_mask,json=arpSpaMask,proto3,oneof"` // For OFPXMT_OFB_ARP_SPA
William Kurkian1b363f42019-03-12 15:28:12 -04005349}
5350
5351type OfpOxmOfbField_ArpTpaMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005352 ArpTpaMask uint32 `protobuf:"varint,126,opt,name=arp_tpa_mask,json=arpTpaMask,proto3,oneof"` // For OFPXMT_OFB_ARP_TPA
William Kurkian1b363f42019-03-12 15:28:12 -04005353}
5354
5355type OfpOxmOfbField_Ipv6SrcMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005356 Ipv6SrcMask []byte `protobuf:"bytes,129,opt,name=ipv6_src_mask,json=ipv6SrcMask,proto3,oneof"` // For OFPXMT_OFB_IPV6_SRC
William Kurkian1b363f42019-03-12 15:28:12 -04005357}
5358
5359type OfpOxmOfbField_Ipv6DstMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005360 Ipv6DstMask []byte `protobuf:"bytes,130,opt,name=ipv6_dst_mask,json=ipv6DstMask,proto3,oneof"` // For OFPXMT_OFB_IPV6_DST
William Kurkian1b363f42019-03-12 15:28:12 -04005361}
5362
5363type OfpOxmOfbField_Ipv6FlabelMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005364 Ipv6FlabelMask uint32 `protobuf:"varint,131,opt,name=ipv6_flabel_mask,json=ipv6FlabelMask,proto3,oneof"` // For OFPXMT_OFB_IPV6_FLABEL
William Kurkian1b363f42019-03-12 15:28:12 -04005365}
5366
5367type OfpOxmOfbField_PbbIsidMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005368 PbbIsidMask uint32 `protobuf:"varint,140,opt,name=pbb_isid_mask,json=pbbIsidMask,proto3,oneof"` // For OFPXMT_OFB_PBB_ISID
William Kurkian1b363f42019-03-12 15:28:12 -04005369}
5370
5371type OfpOxmOfbField_TunnelIdMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005372 TunnelIdMask uint64 `protobuf:"varint,141,opt,name=tunnel_id_mask,json=tunnelIdMask,proto3,oneof"` // For OFPXMT_OFB_TUNNEL_ID
William Kurkian1b363f42019-03-12 15:28:12 -04005373}
5374
5375type OfpOxmOfbField_Ipv6ExthdrMask struct {
Abhay Kumar03713392025-12-30 05:20:58 +00005376 Ipv6ExthdrMask uint32 `protobuf:"varint,142,opt,name=ipv6_exthdr_mask,json=ipv6ExthdrMask,proto3,oneof"` // For OFPXMT_OFB_IPV6_EXTHDR
William Kurkian1b363f42019-03-12 15:28:12 -04005377}
5378
5379func (*OfpOxmOfbField_TableMetadataMask) isOfpOxmOfbField_Mask() {}
5380
5381func (*OfpOxmOfbField_EthDstMask) isOfpOxmOfbField_Mask() {}
5382
5383func (*OfpOxmOfbField_EthSrcMask) isOfpOxmOfbField_Mask() {}
5384
5385func (*OfpOxmOfbField_VlanVidMask) isOfpOxmOfbField_Mask() {}
5386
5387func (*OfpOxmOfbField_Ipv4SrcMask) isOfpOxmOfbField_Mask() {}
5388
5389func (*OfpOxmOfbField_Ipv4DstMask) isOfpOxmOfbField_Mask() {}
5390
5391func (*OfpOxmOfbField_ArpSpaMask) isOfpOxmOfbField_Mask() {}
5392
5393func (*OfpOxmOfbField_ArpTpaMask) isOfpOxmOfbField_Mask() {}
5394
5395func (*OfpOxmOfbField_Ipv6SrcMask) isOfpOxmOfbField_Mask() {}
5396
5397func (*OfpOxmOfbField_Ipv6DstMask) isOfpOxmOfbField_Mask() {}
5398
5399func (*OfpOxmOfbField_Ipv6FlabelMask) isOfpOxmOfbField_Mask() {}
5400
5401func (*OfpOxmOfbField_PbbIsidMask) isOfpOxmOfbField_Mask() {}
5402
5403func (*OfpOxmOfbField_TunnelIdMask) isOfpOxmOfbField_Mask() {}
5404
5405func (*OfpOxmOfbField_Ipv6ExthdrMask) isOfpOxmOfbField_Mask() {}
5406
Abhay Kumar03713392025-12-30 05:20:58 +00005407// Header for OXM experimenter match fields.
5408// The experimenter class should not use OXM_HEADER() macros for defining
5409// fields due to this extra header.
5410type OfpOxmExperimenterField struct {
5411 state protoimpl.MessageState `protogen:"open.v1"`
5412 OxmHeader uint32 `protobuf:"varint,1,opt,name=oxm_header,json=oxmHeader,proto3" json:"oxm_header,omitempty"` // oxm_class = OFPXMC_EXPERIMENTER
5413 Experimenter uint32 `protobuf:"varint,2,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
5414 unknownFields protoimpl.UnknownFields
5415 sizeCache protoimpl.SizeCache
5416}
5417
5418func (x *OfpOxmExperimenterField) Reset() {
5419 *x = OfpOxmExperimenterField{}
5420 mi := &file_voltha_protos_openflow_13_proto_msgTypes[14]
5421 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5422 ms.StoreMessageInfo(mi)
5423}
5424
5425func (x *OfpOxmExperimenterField) String() string {
5426 return protoimpl.X.MessageStringOf(x)
5427}
5428
5429func (*OfpOxmExperimenterField) ProtoMessage() {}
5430
5431func (x *OfpOxmExperimenterField) ProtoReflect() protoreflect.Message {
5432 mi := &file_voltha_protos_openflow_13_proto_msgTypes[14]
5433 if x != nil {
5434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5435 if ms.LoadMessageInfo() == nil {
5436 ms.StoreMessageInfo(mi)
5437 }
5438 return ms
5439 }
5440 return mi.MessageOf(x)
5441}
5442
5443// Deprecated: Use OfpOxmExperimenterField.ProtoReflect.Descriptor instead.
5444func (*OfpOxmExperimenterField) Descriptor() ([]byte, []int) {
5445 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{14}
5446}
5447
5448func (x *OfpOxmExperimenterField) GetOxmHeader() uint32 {
5449 if x != nil {
5450 return x.OxmHeader
5451 }
5452 return 0
5453}
5454
5455func (x *OfpOxmExperimenterField) GetExperimenter() uint32 {
5456 if x != nil {
5457 return x.Experimenter
5458 }
5459 return 0
5460}
5461
5462// Action header that is common to all actions. The length includes the
5463// header and any padding used to make the action 64-bit aligned.
5464// NB: The length of an action *must* always be a multiple of eight.
5465type OfpAction struct {
5466 state protoimpl.MessageState `protogen:"open.v1"`
5467 Type OfpActionType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpActionType" json:"type,omitempty"` // One of OFPAT_*.
5468 // Types that are valid to be assigned to Action:
5469 //
5470 // *OfpAction_Output
5471 // *OfpAction_MplsTtl
5472 // *OfpAction_Push
5473 // *OfpAction_PopMpls
5474 // *OfpAction_Group
5475 // *OfpAction_NwTtl
5476 // *OfpAction_SetField
5477 // *OfpAction_Experimenter
5478 Action isOfpAction_Action `protobuf_oneof:"action"`
5479 unknownFields protoimpl.UnknownFields
5480 sizeCache protoimpl.SizeCache
5481}
5482
5483func (x *OfpAction) Reset() {
5484 *x = OfpAction{}
5485 mi := &file_voltha_protos_openflow_13_proto_msgTypes[15]
5486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5487 ms.StoreMessageInfo(mi)
5488}
5489
5490func (x *OfpAction) String() string {
5491 return protoimpl.X.MessageStringOf(x)
5492}
5493
5494func (*OfpAction) ProtoMessage() {}
5495
5496func (x *OfpAction) ProtoReflect() protoreflect.Message {
5497 mi := &file_voltha_protos_openflow_13_proto_msgTypes[15]
5498 if x != nil {
5499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5500 if ms.LoadMessageInfo() == nil {
5501 ms.StoreMessageInfo(mi)
5502 }
5503 return ms
5504 }
5505 return mi.MessageOf(x)
5506}
5507
5508// Deprecated: Use OfpAction.ProtoReflect.Descriptor instead.
5509func (*OfpAction) Descriptor() ([]byte, []int) {
5510 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{15}
5511}
5512
5513func (x *OfpAction) GetType() OfpActionType {
5514 if x != nil {
5515 return x.Type
5516 }
5517 return OfpActionType_OFPAT_OUTPUT
5518}
5519
5520func (x *OfpAction) GetAction() isOfpAction_Action {
5521 if x != nil {
5522 return x.Action
William Kurkian1b363f42019-03-12 15:28:12 -04005523 }
5524 return nil
5525}
5526
Abhay Kumar03713392025-12-30 05:20:58 +00005527func (x *OfpAction) GetOutput() *OfpActionOutput {
5528 if x != nil {
5529 if x, ok := x.Action.(*OfpAction_Output); ok {
5530 return x.Output
5531 }
William Kurkian1b363f42019-03-12 15:28:12 -04005532 }
5533 return nil
5534}
5535
Abhay Kumar03713392025-12-30 05:20:58 +00005536func (x *OfpAction) GetMplsTtl() *OfpActionMplsTtl {
5537 if x != nil {
5538 if x, ok := x.Action.(*OfpAction_MplsTtl); ok {
5539 return x.MplsTtl
5540 }
William Kurkian1b363f42019-03-12 15:28:12 -04005541 }
5542 return nil
5543}
5544
Abhay Kumar03713392025-12-30 05:20:58 +00005545func (x *OfpAction) GetPush() *OfpActionPush {
5546 if x != nil {
5547 if x, ok := x.Action.(*OfpAction_Push); ok {
5548 return x.Push
5549 }
William Kurkian1b363f42019-03-12 15:28:12 -04005550 }
5551 return nil
5552}
5553
Abhay Kumar03713392025-12-30 05:20:58 +00005554func (x *OfpAction) GetPopMpls() *OfpActionPopMpls {
5555 if x != nil {
5556 if x, ok := x.Action.(*OfpAction_PopMpls); ok {
5557 return x.PopMpls
5558 }
William Kurkian1b363f42019-03-12 15:28:12 -04005559 }
5560 return nil
5561}
5562
Abhay Kumar03713392025-12-30 05:20:58 +00005563func (x *OfpAction) GetGroup() *OfpActionGroup {
5564 if x != nil {
5565 if x, ok := x.Action.(*OfpAction_Group); ok {
5566 return x.Group
5567 }
5568 }
5569 return nil
5570}
5571
5572func (x *OfpAction) GetNwTtl() *OfpActionNwTtl {
5573 if x != nil {
5574 if x, ok := x.Action.(*OfpAction_NwTtl); ok {
5575 return x.NwTtl
5576 }
5577 }
5578 return nil
5579}
5580
5581func (x *OfpAction) GetSetField() *OfpActionSetField {
5582 if x != nil {
5583 if x, ok := x.Action.(*OfpAction_SetField); ok {
5584 return x.SetField
5585 }
5586 }
5587 return nil
5588}
5589
5590func (x *OfpAction) GetExperimenter() *OfpActionExperimenter {
5591 if x != nil {
5592 if x, ok := x.Action.(*OfpAction_Experimenter); ok {
5593 return x.Experimenter
5594 }
5595 }
5596 return nil
5597}
5598
5599type isOfpAction_Action interface {
5600 isOfpAction_Action()
5601}
5602
5603type OfpAction_Output struct {
5604 Output *OfpActionOutput `protobuf:"bytes,2,opt,name=output,proto3,oneof"`
5605}
5606
5607type OfpAction_MplsTtl struct {
5608 MplsTtl *OfpActionMplsTtl `protobuf:"bytes,3,opt,name=mpls_ttl,json=mplsTtl,proto3,oneof"`
5609}
5610
5611type OfpAction_Push struct {
5612 Push *OfpActionPush `protobuf:"bytes,4,opt,name=push,proto3,oneof"`
5613}
5614
5615type OfpAction_PopMpls struct {
5616 PopMpls *OfpActionPopMpls `protobuf:"bytes,5,opt,name=pop_mpls,json=popMpls,proto3,oneof"`
5617}
5618
5619type OfpAction_Group struct {
5620 Group *OfpActionGroup `protobuf:"bytes,6,opt,name=group,proto3,oneof"`
5621}
5622
5623type OfpAction_NwTtl struct {
5624 NwTtl *OfpActionNwTtl `protobuf:"bytes,7,opt,name=nw_ttl,json=nwTtl,proto3,oneof"`
5625}
5626
5627type OfpAction_SetField struct {
5628 SetField *OfpActionSetField `protobuf:"bytes,8,opt,name=set_field,json=setField,proto3,oneof"`
5629}
5630
5631type OfpAction_Experimenter struct {
5632 Experimenter *OfpActionExperimenter `protobuf:"bytes,9,opt,name=experimenter,proto3,oneof"`
5633}
5634
5635func (*OfpAction_Output) isOfpAction_Action() {}
5636
5637func (*OfpAction_MplsTtl) isOfpAction_Action() {}
5638
5639func (*OfpAction_Push) isOfpAction_Action() {}
5640
5641func (*OfpAction_PopMpls) isOfpAction_Action() {}
5642
5643func (*OfpAction_Group) isOfpAction_Action() {}
5644
5645func (*OfpAction_NwTtl) isOfpAction_Action() {}
5646
5647func (*OfpAction_SetField) isOfpAction_Action() {}
5648
5649func (*OfpAction_Experimenter) isOfpAction_Action() {}
5650
5651// Action structure for OFPAT_OUTPUT, which sends packets out 'port'.
5652// When the 'port' is the OFPP_CONTROLLER, 'max_len' indicates the max
5653// number of bytes to send. A 'max_len' of zero means no bytes of the
5654// packet should be sent. A 'max_len' of OFPCML_NO_BUFFER means that
5655// the packet is not buffered and the complete packet is to be sent to
5656// the controller.
5657type OfpActionOutput struct {
5658 state protoimpl.MessageState `protogen:"open.v1"`
5659 Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` // Output port.
5660 MaxLen uint32 `protobuf:"varint,2,opt,name=max_len,json=maxLen,proto3" json:"max_len,omitempty"` // Max length to send to controller.
5661 unknownFields protoimpl.UnknownFields
5662 sizeCache protoimpl.SizeCache
5663}
5664
5665func (x *OfpActionOutput) Reset() {
5666 *x = OfpActionOutput{}
5667 mi := &file_voltha_protos_openflow_13_proto_msgTypes[16]
5668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5669 ms.StoreMessageInfo(mi)
5670}
5671
5672func (x *OfpActionOutput) String() string {
5673 return protoimpl.X.MessageStringOf(x)
5674}
5675
5676func (*OfpActionOutput) ProtoMessage() {}
5677
5678func (x *OfpActionOutput) ProtoReflect() protoreflect.Message {
5679 mi := &file_voltha_protos_openflow_13_proto_msgTypes[16]
5680 if x != nil {
5681 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5682 if ms.LoadMessageInfo() == nil {
5683 ms.StoreMessageInfo(mi)
5684 }
5685 return ms
5686 }
5687 return mi.MessageOf(x)
5688}
5689
5690// Deprecated: Use OfpActionOutput.ProtoReflect.Descriptor instead.
5691func (*OfpActionOutput) Descriptor() ([]byte, []int) {
5692 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{16}
5693}
5694
5695func (x *OfpActionOutput) GetPort() uint32 {
5696 if x != nil {
5697 return x.Port
William Kurkian1b363f42019-03-12 15:28:12 -04005698 }
5699 return 0
5700}
5701
Abhay Kumar03713392025-12-30 05:20:58 +00005702func (x *OfpActionOutput) GetMaxLen() uint32 {
5703 if x != nil {
5704 return x.MaxLen
William Kurkian1b363f42019-03-12 15:28:12 -04005705 }
5706 return 0
5707}
5708
Abhay Kumar03713392025-12-30 05:20:58 +00005709// Action structure for OFPAT_SET_MPLS_TTL.
5710type OfpActionMplsTtl struct {
5711 state protoimpl.MessageState `protogen:"open.v1"`
5712 MplsTtl uint32 `protobuf:"varint,1,opt,name=mpls_ttl,json=mplsTtl,proto3" json:"mpls_ttl,omitempty"` // MPLS TTL
5713 unknownFields protoimpl.UnknownFields
5714 sizeCache protoimpl.SizeCache
5715}
5716
5717func (x *OfpActionMplsTtl) Reset() {
5718 *x = OfpActionMplsTtl{}
5719 mi := &file_voltha_protos_openflow_13_proto_msgTypes[17]
5720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5721 ms.StoreMessageInfo(mi)
5722}
5723
5724func (x *OfpActionMplsTtl) String() string {
5725 return protoimpl.X.MessageStringOf(x)
5726}
5727
5728func (*OfpActionMplsTtl) ProtoMessage() {}
5729
5730func (x *OfpActionMplsTtl) ProtoReflect() protoreflect.Message {
5731 mi := &file_voltha_protos_openflow_13_proto_msgTypes[17]
5732 if x != nil {
5733 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5734 if ms.LoadMessageInfo() == nil {
5735 ms.StoreMessageInfo(mi)
5736 }
5737 return ms
5738 }
5739 return mi.MessageOf(x)
5740}
5741
5742// Deprecated: Use OfpActionMplsTtl.ProtoReflect.Descriptor instead.
5743func (*OfpActionMplsTtl) Descriptor() ([]byte, []int) {
5744 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{17}
5745}
5746
5747func (x *OfpActionMplsTtl) GetMplsTtl() uint32 {
5748 if x != nil {
5749 return x.MplsTtl
William Kurkian1b363f42019-03-12 15:28:12 -04005750 }
5751 return 0
5752}
5753
Abhay Kumar03713392025-12-30 05:20:58 +00005754// Action structure for OFPAT_PUSH_VLAN/MPLS/PBB.
5755type OfpActionPush struct {
5756 state protoimpl.MessageState `protogen:"open.v1"`
5757 Ethertype uint32 `protobuf:"varint,1,opt,name=ethertype,proto3" json:"ethertype,omitempty"` // Ethertype
5758 unknownFields protoimpl.UnknownFields
5759 sizeCache protoimpl.SizeCache
5760}
5761
5762func (x *OfpActionPush) Reset() {
5763 *x = OfpActionPush{}
5764 mi := &file_voltha_protos_openflow_13_proto_msgTypes[18]
5765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5766 ms.StoreMessageInfo(mi)
5767}
5768
5769func (x *OfpActionPush) String() string {
5770 return protoimpl.X.MessageStringOf(x)
5771}
5772
5773func (*OfpActionPush) ProtoMessage() {}
5774
5775func (x *OfpActionPush) ProtoReflect() protoreflect.Message {
5776 mi := &file_voltha_protos_openflow_13_proto_msgTypes[18]
5777 if x != nil {
5778 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5779 if ms.LoadMessageInfo() == nil {
5780 ms.StoreMessageInfo(mi)
5781 }
5782 return ms
5783 }
5784 return mi.MessageOf(x)
5785}
5786
5787// Deprecated: Use OfpActionPush.ProtoReflect.Descriptor instead.
5788func (*OfpActionPush) Descriptor() ([]byte, []int) {
5789 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{18}
5790}
5791
5792func (x *OfpActionPush) GetEthertype() uint32 {
5793 if x != nil {
5794 return x.Ethertype
William Kurkian1b363f42019-03-12 15:28:12 -04005795 }
5796 return 0
5797}
5798
Abhay Kumar03713392025-12-30 05:20:58 +00005799// Action structure for OFPAT_POP_MPLS.
5800type OfpActionPopMpls struct {
5801 state protoimpl.MessageState `protogen:"open.v1"`
5802 Ethertype uint32 `protobuf:"varint,1,opt,name=ethertype,proto3" json:"ethertype,omitempty"` // Ethertype
5803 unknownFields protoimpl.UnknownFields
5804 sizeCache protoimpl.SizeCache
5805}
5806
5807func (x *OfpActionPopMpls) Reset() {
5808 *x = OfpActionPopMpls{}
5809 mi := &file_voltha_protos_openflow_13_proto_msgTypes[19]
5810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5811 ms.StoreMessageInfo(mi)
5812}
5813
5814func (x *OfpActionPopMpls) String() string {
5815 return protoimpl.X.MessageStringOf(x)
5816}
5817
5818func (*OfpActionPopMpls) ProtoMessage() {}
5819
5820func (x *OfpActionPopMpls) ProtoReflect() protoreflect.Message {
5821 mi := &file_voltha_protos_openflow_13_proto_msgTypes[19]
5822 if x != nil {
5823 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5824 if ms.LoadMessageInfo() == nil {
5825 ms.StoreMessageInfo(mi)
5826 }
5827 return ms
5828 }
5829 return mi.MessageOf(x)
5830}
5831
5832// Deprecated: Use OfpActionPopMpls.ProtoReflect.Descriptor instead.
5833func (*OfpActionPopMpls) Descriptor() ([]byte, []int) {
5834 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{19}
5835}
5836
5837func (x *OfpActionPopMpls) GetEthertype() uint32 {
5838 if x != nil {
5839 return x.Ethertype
5840 }
5841 return 0
5842}
5843
5844// Action structure for OFPAT_GROUP.
5845type OfpActionGroup struct {
5846 state protoimpl.MessageState `protogen:"open.v1"`
5847 GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // Group identifier.
5848 unknownFields protoimpl.UnknownFields
5849 sizeCache protoimpl.SizeCache
5850}
5851
5852func (x *OfpActionGroup) Reset() {
5853 *x = OfpActionGroup{}
5854 mi := &file_voltha_protos_openflow_13_proto_msgTypes[20]
5855 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5856 ms.StoreMessageInfo(mi)
5857}
5858
5859func (x *OfpActionGroup) String() string {
5860 return protoimpl.X.MessageStringOf(x)
5861}
5862
5863func (*OfpActionGroup) ProtoMessage() {}
5864
5865func (x *OfpActionGroup) ProtoReflect() protoreflect.Message {
5866 mi := &file_voltha_protos_openflow_13_proto_msgTypes[20]
5867 if x != nil {
5868 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5869 if ms.LoadMessageInfo() == nil {
5870 ms.StoreMessageInfo(mi)
5871 }
5872 return ms
5873 }
5874 return mi.MessageOf(x)
5875}
5876
5877// Deprecated: Use OfpActionGroup.ProtoReflect.Descriptor instead.
5878func (*OfpActionGroup) Descriptor() ([]byte, []int) {
5879 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{20}
5880}
5881
5882func (x *OfpActionGroup) GetGroupId() uint32 {
5883 if x != nil {
5884 return x.GroupId
5885 }
5886 return 0
5887}
5888
5889// Action structure for OFPAT_SET_NW_TTL.
5890type OfpActionNwTtl struct {
5891 state protoimpl.MessageState `protogen:"open.v1"`
5892 NwTtl uint32 `protobuf:"varint,1,opt,name=nw_ttl,json=nwTtl,proto3" json:"nw_ttl,omitempty"` // IP TTL
5893 unknownFields protoimpl.UnknownFields
5894 sizeCache protoimpl.SizeCache
5895}
5896
5897func (x *OfpActionNwTtl) Reset() {
5898 *x = OfpActionNwTtl{}
5899 mi := &file_voltha_protos_openflow_13_proto_msgTypes[21]
5900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5901 ms.StoreMessageInfo(mi)
5902}
5903
5904func (x *OfpActionNwTtl) String() string {
5905 return protoimpl.X.MessageStringOf(x)
5906}
5907
5908func (*OfpActionNwTtl) ProtoMessage() {}
5909
5910func (x *OfpActionNwTtl) ProtoReflect() protoreflect.Message {
5911 mi := &file_voltha_protos_openflow_13_proto_msgTypes[21]
5912 if x != nil {
5913 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5914 if ms.LoadMessageInfo() == nil {
5915 ms.StoreMessageInfo(mi)
5916 }
5917 return ms
5918 }
5919 return mi.MessageOf(x)
5920}
5921
5922// Deprecated: Use OfpActionNwTtl.ProtoReflect.Descriptor instead.
5923func (*OfpActionNwTtl) Descriptor() ([]byte, []int) {
5924 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{21}
5925}
5926
5927func (x *OfpActionNwTtl) GetNwTtl() uint32 {
5928 if x != nil {
5929 return x.NwTtl
5930 }
5931 return 0
5932}
5933
5934// Action structure for OFPAT_SET_FIELD.
5935type OfpActionSetField struct {
5936 state protoimpl.MessageState `protogen:"open.v1"`
5937 Field *OfpOxmField `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
5938 unknownFields protoimpl.UnknownFields
5939 sizeCache protoimpl.SizeCache
5940}
5941
5942func (x *OfpActionSetField) Reset() {
5943 *x = OfpActionSetField{}
5944 mi := &file_voltha_protos_openflow_13_proto_msgTypes[22]
5945 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5946 ms.StoreMessageInfo(mi)
5947}
5948
5949func (x *OfpActionSetField) String() string {
5950 return protoimpl.X.MessageStringOf(x)
5951}
5952
5953func (*OfpActionSetField) ProtoMessage() {}
5954
5955func (x *OfpActionSetField) ProtoReflect() protoreflect.Message {
5956 mi := &file_voltha_protos_openflow_13_proto_msgTypes[22]
5957 if x != nil {
5958 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5959 if ms.LoadMessageInfo() == nil {
5960 ms.StoreMessageInfo(mi)
5961 }
5962 return ms
5963 }
5964 return mi.MessageOf(x)
5965}
5966
5967// Deprecated: Use OfpActionSetField.ProtoReflect.Descriptor instead.
5968func (*OfpActionSetField) Descriptor() ([]byte, []int) {
5969 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{22}
5970}
5971
5972func (x *OfpActionSetField) GetField() *OfpOxmField {
5973 if x != nil {
5974 return x.Field
5975 }
5976 return nil
5977}
5978
5979// Action header for OFPAT_EXPERIMENTER.
5980// The rest of the body is experimenter-defined.
5981type OfpActionExperimenter struct {
5982 state protoimpl.MessageState `protogen:"open.v1"`
5983 Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
5984 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
5985 unknownFields protoimpl.UnknownFields
5986 sizeCache protoimpl.SizeCache
5987}
5988
5989func (x *OfpActionExperimenter) Reset() {
5990 *x = OfpActionExperimenter{}
5991 mi := &file_voltha_protos_openflow_13_proto_msgTypes[23]
5992 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5993 ms.StoreMessageInfo(mi)
5994}
5995
5996func (x *OfpActionExperimenter) String() string {
5997 return protoimpl.X.MessageStringOf(x)
5998}
5999
6000func (*OfpActionExperimenter) ProtoMessage() {}
6001
6002func (x *OfpActionExperimenter) ProtoReflect() protoreflect.Message {
6003 mi := &file_voltha_protos_openflow_13_proto_msgTypes[23]
6004 if x != nil {
6005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6006 if ms.LoadMessageInfo() == nil {
6007 ms.StoreMessageInfo(mi)
6008 }
6009 return ms
6010 }
6011 return mi.MessageOf(x)
6012}
6013
6014// Deprecated: Use OfpActionExperimenter.ProtoReflect.Descriptor instead.
6015func (*OfpActionExperimenter) Descriptor() ([]byte, []int) {
6016 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{23}
6017}
6018
6019func (x *OfpActionExperimenter) GetExperimenter() uint32 {
6020 if x != nil {
6021 return x.Experimenter
6022 }
6023 return 0
6024}
6025
6026func (x *OfpActionExperimenter) GetData() []byte {
6027 if x != nil {
6028 return x.Data
6029 }
6030 return nil
6031}
6032
6033// Instruction header that is common to all instructions. The length includes
6034// the header and any padding used to make the instruction 64-bit aligned.
6035// NB: The length of an instruction *must* always be a multiple of eight.
6036type OfpInstruction struct {
6037 state protoimpl.MessageState `protogen:"open.v1"`
6038 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // Instruction type
6039 // Types that are valid to be assigned to Data:
6040 //
6041 // *OfpInstruction_GotoTable
6042 // *OfpInstruction_WriteMetadata
6043 // *OfpInstruction_Actions
6044 // *OfpInstruction_Meter
6045 // *OfpInstruction_Experimenter
6046 Data isOfpInstruction_Data `protobuf_oneof:"data"`
6047 unknownFields protoimpl.UnknownFields
6048 sizeCache protoimpl.SizeCache
6049}
6050
6051func (x *OfpInstruction) Reset() {
6052 *x = OfpInstruction{}
6053 mi := &file_voltha_protos_openflow_13_proto_msgTypes[24]
6054 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6055 ms.StoreMessageInfo(mi)
6056}
6057
6058func (x *OfpInstruction) String() string {
6059 return protoimpl.X.MessageStringOf(x)
6060}
6061
6062func (*OfpInstruction) ProtoMessage() {}
6063
6064func (x *OfpInstruction) ProtoReflect() protoreflect.Message {
6065 mi := &file_voltha_protos_openflow_13_proto_msgTypes[24]
6066 if x != nil {
6067 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6068 if ms.LoadMessageInfo() == nil {
6069 ms.StoreMessageInfo(mi)
6070 }
6071 return ms
6072 }
6073 return mi.MessageOf(x)
6074}
6075
6076// Deprecated: Use OfpInstruction.ProtoReflect.Descriptor instead.
6077func (*OfpInstruction) Descriptor() ([]byte, []int) {
6078 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{24}
6079}
6080
6081func (x *OfpInstruction) GetType() uint32 {
6082 if x != nil {
6083 return x.Type
6084 }
6085 return 0
6086}
6087
6088func (x *OfpInstruction) GetData() isOfpInstruction_Data {
6089 if x != nil {
6090 return x.Data
6091 }
6092 return nil
6093}
6094
6095func (x *OfpInstruction) GetGotoTable() *OfpInstructionGotoTable {
6096 if x != nil {
6097 if x, ok := x.Data.(*OfpInstruction_GotoTable); ok {
6098 return x.GotoTable
6099 }
6100 }
6101 return nil
6102}
6103
6104func (x *OfpInstruction) GetWriteMetadata() *OfpInstructionWriteMetadata {
6105 if x != nil {
6106 if x, ok := x.Data.(*OfpInstruction_WriteMetadata); ok {
6107 return x.WriteMetadata
6108 }
6109 }
6110 return nil
6111}
6112
6113func (x *OfpInstruction) GetActions() *OfpInstructionActions {
6114 if x != nil {
6115 if x, ok := x.Data.(*OfpInstruction_Actions); ok {
6116 return x.Actions
6117 }
6118 }
6119 return nil
6120}
6121
6122func (x *OfpInstruction) GetMeter() *OfpInstructionMeter {
6123 if x != nil {
6124 if x, ok := x.Data.(*OfpInstruction_Meter); ok {
6125 return x.Meter
6126 }
6127 }
6128 return nil
6129}
6130
6131func (x *OfpInstruction) GetExperimenter() *OfpInstructionExperimenter {
6132 if x != nil {
6133 if x, ok := x.Data.(*OfpInstruction_Experimenter); ok {
6134 return x.Experimenter
6135 }
6136 }
6137 return nil
6138}
6139
6140type isOfpInstruction_Data interface {
6141 isOfpInstruction_Data()
6142}
6143
6144type OfpInstruction_GotoTable struct {
6145 GotoTable *OfpInstructionGotoTable `protobuf:"bytes,2,opt,name=goto_table,json=gotoTable,proto3,oneof"`
6146}
6147
6148type OfpInstruction_WriteMetadata struct {
6149 WriteMetadata *OfpInstructionWriteMetadata `protobuf:"bytes,3,opt,name=write_metadata,json=writeMetadata,proto3,oneof"`
6150}
6151
6152type OfpInstruction_Actions struct {
6153 Actions *OfpInstructionActions `protobuf:"bytes,4,opt,name=actions,proto3,oneof"`
6154}
6155
6156type OfpInstruction_Meter struct {
6157 Meter *OfpInstructionMeter `protobuf:"bytes,5,opt,name=meter,proto3,oneof"`
6158}
6159
6160type OfpInstruction_Experimenter struct {
6161 Experimenter *OfpInstructionExperimenter `protobuf:"bytes,6,opt,name=experimenter,proto3,oneof"`
6162}
6163
6164func (*OfpInstruction_GotoTable) isOfpInstruction_Data() {}
6165
6166func (*OfpInstruction_WriteMetadata) isOfpInstruction_Data() {}
6167
6168func (*OfpInstruction_Actions) isOfpInstruction_Data() {}
6169
6170func (*OfpInstruction_Meter) isOfpInstruction_Data() {}
6171
6172func (*OfpInstruction_Experimenter) isOfpInstruction_Data() {}
6173
6174// Instruction structure for OFPIT_GOTO_TABLE
6175type OfpInstructionGotoTable struct {
6176 state protoimpl.MessageState `protogen:"open.v1"`
6177 TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` // Set next table in the lookup pipeline
6178 unknownFields protoimpl.UnknownFields
6179 sizeCache protoimpl.SizeCache
6180}
6181
6182func (x *OfpInstructionGotoTable) Reset() {
6183 *x = OfpInstructionGotoTable{}
6184 mi := &file_voltha_protos_openflow_13_proto_msgTypes[25]
6185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6186 ms.StoreMessageInfo(mi)
6187}
6188
6189func (x *OfpInstructionGotoTable) String() string {
6190 return protoimpl.X.MessageStringOf(x)
6191}
6192
6193func (*OfpInstructionGotoTable) ProtoMessage() {}
6194
6195func (x *OfpInstructionGotoTable) ProtoReflect() protoreflect.Message {
6196 mi := &file_voltha_protos_openflow_13_proto_msgTypes[25]
6197 if x != nil {
6198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6199 if ms.LoadMessageInfo() == nil {
6200 ms.StoreMessageInfo(mi)
6201 }
6202 return ms
6203 }
6204 return mi.MessageOf(x)
6205}
6206
6207// Deprecated: Use OfpInstructionGotoTable.ProtoReflect.Descriptor instead.
6208func (*OfpInstructionGotoTable) Descriptor() ([]byte, []int) {
6209 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{25}
6210}
6211
6212func (x *OfpInstructionGotoTable) GetTableId() uint32 {
6213 if x != nil {
6214 return x.TableId
6215 }
6216 return 0
6217}
6218
6219// Instruction structure for OFPIT_WRITE_METADATA
6220type OfpInstructionWriteMetadata struct {
6221 state protoimpl.MessageState `protogen:"open.v1"`
6222 Metadata uint64 `protobuf:"varint,1,opt,name=metadata,proto3" json:"metadata,omitempty"` // Metadata value to write
6223 MetadataMask uint64 `protobuf:"varint,2,opt,name=metadata_mask,json=metadataMask,proto3" json:"metadata_mask,omitempty"` // Metadata write bitmask
6224 unknownFields protoimpl.UnknownFields
6225 sizeCache protoimpl.SizeCache
6226}
6227
6228func (x *OfpInstructionWriteMetadata) Reset() {
6229 *x = OfpInstructionWriteMetadata{}
6230 mi := &file_voltha_protos_openflow_13_proto_msgTypes[26]
6231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6232 ms.StoreMessageInfo(mi)
6233}
6234
6235func (x *OfpInstructionWriteMetadata) String() string {
6236 return protoimpl.X.MessageStringOf(x)
6237}
6238
6239func (*OfpInstructionWriteMetadata) ProtoMessage() {}
6240
6241func (x *OfpInstructionWriteMetadata) ProtoReflect() protoreflect.Message {
6242 mi := &file_voltha_protos_openflow_13_proto_msgTypes[26]
6243 if x != nil {
6244 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6245 if ms.LoadMessageInfo() == nil {
6246 ms.StoreMessageInfo(mi)
6247 }
6248 return ms
6249 }
6250 return mi.MessageOf(x)
6251}
6252
6253// Deprecated: Use OfpInstructionWriteMetadata.ProtoReflect.Descriptor instead.
6254func (*OfpInstructionWriteMetadata) Descriptor() ([]byte, []int) {
6255 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{26}
6256}
6257
6258func (x *OfpInstructionWriteMetadata) GetMetadata() uint64 {
6259 if x != nil {
6260 return x.Metadata
6261 }
6262 return 0
6263}
6264
6265func (x *OfpInstructionWriteMetadata) GetMetadataMask() uint64 {
6266 if x != nil {
6267 return x.MetadataMask
6268 }
6269 return 0
6270}
6271
6272// Instruction structure for OFPIT_WRITE/APPLY/CLEAR_ACTIONS
6273type OfpInstructionActions struct {
6274 state protoimpl.MessageState `protogen:"open.v1"`
6275 Actions []*OfpAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"`
6276 unknownFields protoimpl.UnknownFields
6277 sizeCache protoimpl.SizeCache
6278}
6279
6280func (x *OfpInstructionActions) Reset() {
6281 *x = OfpInstructionActions{}
6282 mi := &file_voltha_protos_openflow_13_proto_msgTypes[27]
6283 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6284 ms.StoreMessageInfo(mi)
6285}
6286
6287func (x *OfpInstructionActions) String() string {
6288 return protoimpl.X.MessageStringOf(x)
6289}
6290
6291func (*OfpInstructionActions) ProtoMessage() {}
6292
6293func (x *OfpInstructionActions) ProtoReflect() protoreflect.Message {
6294 mi := &file_voltha_protos_openflow_13_proto_msgTypes[27]
6295 if x != nil {
6296 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6297 if ms.LoadMessageInfo() == nil {
6298 ms.StoreMessageInfo(mi)
6299 }
6300 return ms
6301 }
6302 return mi.MessageOf(x)
6303}
6304
6305// Deprecated: Use OfpInstructionActions.ProtoReflect.Descriptor instead.
6306func (*OfpInstructionActions) Descriptor() ([]byte, []int) {
6307 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{27}
6308}
6309
6310func (x *OfpInstructionActions) GetActions() []*OfpAction {
6311 if x != nil {
6312 return x.Actions
6313 }
6314 return nil
6315}
6316
6317// Instruction structure for OFPIT_METER
6318type OfpInstructionMeter struct {
6319 state protoimpl.MessageState `protogen:"open.v1"`
6320 MeterId uint32 `protobuf:"varint,1,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"` // Meter instance.
6321 unknownFields protoimpl.UnknownFields
6322 sizeCache protoimpl.SizeCache
6323}
6324
6325func (x *OfpInstructionMeter) Reset() {
6326 *x = OfpInstructionMeter{}
6327 mi := &file_voltha_protos_openflow_13_proto_msgTypes[28]
6328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6329 ms.StoreMessageInfo(mi)
6330}
6331
6332func (x *OfpInstructionMeter) String() string {
6333 return protoimpl.X.MessageStringOf(x)
6334}
6335
6336func (*OfpInstructionMeter) ProtoMessage() {}
6337
6338func (x *OfpInstructionMeter) ProtoReflect() protoreflect.Message {
6339 mi := &file_voltha_protos_openflow_13_proto_msgTypes[28]
6340 if x != nil {
6341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6342 if ms.LoadMessageInfo() == nil {
6343 ms.StoreMessageInfo(mi)
6344 }
6345 return ms
6346 }
6347 return mi.MessageOf(x)
6348}
6349
6350// Deprecated: Use OfpInstructionMeter.ProtoReflect.Descriptor instead.
6351func (*OfpInstructionMeter) Descriptor() ([]byte, []int) {
6352 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{28}
6353}
6354
6355func (x *OfpInstructionMeter) GetMeterId() uint32 {
6356 if x != nil {
6357 return x.MeterId
6358 }
6359 return 0
6360}
6361
6362// Instruction structure for experimental instructions
6363type OfpInstructionExperimenter struct {
6364 state protoimpl.MessageState `protogen:"open.v1"`
6365 Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
6366 // Experimenter-defined arbitrary additional data.
6367 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
6368 unknownFields protoimpl.UnknownFields
6369 sizeCache protoimpl.SizeCache
6370}
6371
6372func (x *OfpInstructionExperimenter) Reset() {
6373 *x = OfpInstructionExperimenter{}
6374 mi := &file_voltha_protos_openflow_13_proto_msgTypes[29]
6375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6376 ms.StoreMessageInfo(mi)
6377}
6378
6379func (x *OfpInstructionExperimenter) String() string {
6380 return protoimpl.X.MessageStringOf(x)
6381}
6382
6383func (*OfpInstructionExperimenter) ProtoMessage() {}
6384
6385func (x *OfpInstructionExperimenter) ProtoReflect() protoreflect.Message {
6386 mi := &file_voltha_protos_openflow_13_proto_msgTypes[29]
6387 if x != nil {
6388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6389 if ms.LoadMessageInfo() == nil {
6390 ms.StoreMessageInfo(mi)
6391 }
6392 return ms
6393 }
6394 return mi.MessageOf(x)
6395}
6396
6397// Deprecated: Use OfpInstructionExperimenter.ProtoReflect.Descriptor instead.
6398func (*OfpInstructionExperimenter) Descriptor() ([]byte, []int) {
6399 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{29}
6400}
6401
6402func (x *OfpInstructionExperimenter) GetExperimenter() uint32 {
6403 if x != nil {
6404 return x.Experimenter
6405 }
6406 return 0
6407}
6408
6409func (x *OfpInstructionExperimenter) GetData() []byte {
6410 if x != nil {
6411 return x.Data
6412 }
6413 return nil
6414}
6415
6416// Flow setup and teardown (controller -> datapath).
6417type OfpFlowMod struct {
6418 state protoimpl.MessageState `protogen:"open.v1"`
6419 // ofp_header header;
6420 Cookie uint64 `protobuf:"varint,1,opt,name=cookie,proto3" json:"cookie,omitempty"` // Opaque controller-issued identifier.
6421 CookieMask uint64 `protobuf:"varint,2,opt,name=cookie_mask,json=cookieMask,proto3" json:"cookie_mask,omitempty"`
6422 TableId uint32 `protobuf:"varint,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
6423 Command OfpFlowModCommand `protobuf:"varint,4,opt,name=command,proto3,enum=openflow_13.OfpFlowModCommand" json:"command,omitempty"` // One of OFPFC_*.
6424 IdleTimeout uint32 `protobuf:"varint,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Idle time before discarding (seconds).
6425 HardTimeout uint32 `protobuf:"varint,6,opt,name=hard_timeout,json=hardTimeout,proto3" json:"hard_timeout,omitempty"` // Max time before discarding (seconds).
6426 Priority uint32 `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"` // Priority level of flow entry.
6427 BufferId uint32 `protobuf:"varint,8,opt,name=buffer_id,json=bufferId,proto3" json:"buffer_id,omitempty"`
6428 OutPort uint32 `protobuf:"varint,9,opt,name=out_port,json=outPort,proto3" json:"out_port,omitempty"`
6429 OutGroup uint32 `protobuf:"varint,10,opt,name=out_group,json=outGroup,proto3" json:"out_group,omitempty"`
6430 Flags uint32 `protobuf:"varint,11,opt,name=flags,proto3" json:"flags,omitempty"` // Bitmap of OFPFF_* flags.
6431 Match *OfpMatch `protobuf:"bytes,12,opt,name=match,proto3" json:"match,omitempty"` // Fields to match. Variable size.
6432 Instructions []*OfpInstruction `protobuf:"bytes,13,rep,name=instructions,proto3" json:"instructions,omitempty"` // 0 or more.
6433 unknownFields protoimpl.UnknownFields
6434 sizeCache protoimpl.SizeCache
6435}
6436
6437func (x *OfpFlowMod) Reset() {
6438 *x = OfpFlowMod{}
6439 mi := &file_voltha_protos_openflow_13_proto_msgTypes[30]
6440 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6441 ms.StoreMessageInfo(mi)
6442}
6443
6444func (x *OfpFlowMod) String() string {
6445 return protoimpl.X.MessageStringOf(x)
6446}
6447
6448func (*OfpFlowMod) ProtoMessage() {}
6449
6450func (x *OfpFlowMod) ProtoReflect() protoreflect.Message {
6451 mi := &file_voltha_protos_openflow_13_proto_msgTypes[30]
6452 if x != nil {
6453 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6454 if ms.LoadMessageInfo() == nil {
6455 ms.StoreMessageInfo(mi)
6456 }
6457 return ms
6458 }
6459 return mi.MessageOf(x)
6460}
6461
6462// Deprecated: Use OfpFlowMod.ProtoReflect.Descriptor instead.
6463func (*OfpFlowMod) Descriptor() ([]byte, []int) {
6464 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{30}
6465}
6466
6467func (x *OfpFlowMod) GetCookie() uint64 {
6468 if x != nil {
6469 return x.Cookie
6470 }
6471 return 0
6472}
6473
6474func (x *OfpFlowMod) GetCookieMask() uint64 {
6475 if x != nil {
6476 return x.CookieMask
6477 }
6478 return 0
6479}
6480
6481func (x *OfpFlowMod) GetTableId() uint32 {
6482 if x != nil {
6483 return x.TableId
6484 }
6485 return 0
6486}
6487
6488func (x *OfpFlowMod) GetCommand() OfpFlowModCommand {
6489 if x != nil {
6490 return x.Command
6491 }
6492 return OfpFlowModCommand_OFPFC_ADD
6493}
6494
6495func (x *OfpFlowMod) GetIdleTimeout() uint32 {
6496 if x != nil {
6497 return x.IdleTimeout
6498 }
6499 return 0
6500}
6501
6502func (x *OfpFlowMod) GetHardTimeout() uint32 {
6503 if x != nil {
6504 return x.HardTimeout
6505 }
6506 return 0
6507}
6508
6509func (x *OfpFlowMod) GetPriority() uint32 {
6510 if x != nil {
6511 return x.Priority
6512 }
6513 return 0
6514}
6515
6516func (x *OfpFlowMod) GetBufferId() uint32 {
6517 if x != nil {
6518 return x.BufferId
6519 }
6520 return 0
6521}
6522
6523func (x *OfpFlowMod) GetOutPort() uint32 {
6524 if x != nil {
6525 return x.OutPort
6526 }
6527 return 0
6528}
6529
6530func (x *OfpFlowMod) GetOutGroup() uint32 {
6531 if x != nil {
6532 return x.OutGroup
6533 }
6534 return 0
6535}
6536
6537func (x *OfpFlowMod) GetFlags() uint32 {
6538 if x != nil {
6539 return x.Flags
6540 }
6541 return 0
6542}
6543
6544func (x *OfpFlowMod) GetMatch() *OfpMatch {
6545 if x != nil {
6546 return x.Match
6547 }
6548 return nil
6549}
6550
6551func (x *OfpFlowMod) GetInstructions() []*OfpInstruction {
6552 if x != nil {
6553 return x.Instructions
6554 }
6555 return nil
6556}
6557
6558// Bucket for use in groups.
6559type OfpBucket struct {
6560 state protoimpl.MessageState `protogen:"open.v1"`
6561 Weight uint32 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
6562 WatchPort uint32 `protobuf:"varint,2,opt,name=watch_port,json=watchPort,proto3" json:"watch_port,omitempty"`
6563 WatchGroup uint32 `protobuf:"varint,3,opt,name=watch_group,json=watchGroup,proto3" json:"watch_group,omitempty"`
6564 Actions []*OfpAction `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"`
6565 unknownFields protoimpl.UnknownFields
6566 sizeCache protoimpl.SizeCache
6567}
6568
6569func (x *OfpBucket) Reset() {
6570 *x = OfpBucket{}
6571 mi := &file_voltha_protos_openflow_13_proto_msgTypes[31]
6572 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6573 ms.StoreMessageInfo(mi)
6574}
6575
6576func (x *OfpBucket) String() string {
6577 return protoimpl.X.MessageStringOf(x)
6578}
6579
6580func (*OfpBucket) ProtoMessage() {}
6581
6582func (x *OfpBucket) ProtoReflect() protoreflect.Message {
6583 mi := &file_voltha_protos_openflow_13_proto_msgTypes[31]
6584 if x != nil {
6585 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6586 if ms.LoadMessageInfo() == nil {
6587 ms.StoreMessageInfo(mi)
6588 }
6589 return ms
6590 }
6591 return mi.MessageOf(x)
6592}
6593
6594// Deprecated: Use OfpBucket.ProtoReflect.Descriptor instead.
6595func (*OfpBucket) Descriptor() ([]byte, []int) {
6596 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{31}
6597}
6598
6599func (x *OfpBucket) GetWeight() uint32 {
6600 if x != nil {
6601 return x.Weight
6602 }
6603 return 0
6604}
6605
6606func (x *OfpBucket) GetWatchPort() uint32 {
6607 if x != nil {
6608 return x.WatchPort
6609 }
6610 return 0
6611}
6612
6613func (x *OfpBucket) GetWatchGroup() uint32 {
6614 if x != nil {
6615 return x.WatchGroup
6616 }
6617 return 0
6618}
6619
6620func (x *OfpBucket) GetActions() []*OfpAction {
6621 if x != nil {
6622 return x.Actions
6623 }
6624 return nil
6625}
6626
6627// Group setup and teardown (controller -> datapath).
6628type OfpGroupMod struct {
6629 state protoimpl.MessageState `protogen:"open.v1"`
6630 // ofp_header header;
6631 Command OfpGroupModCommand `protobuf:"varint,1,opt,name=command,proto3,enum=openflow_13.OfpGroupModCommand" json:"command,omitempty"` // One of OFPGC_*.
6632 Type OfpGroupType `protobuf:"varint,2,opt,name=type,proto3,enum=openflow_13.OfpGroupType" json:"type,omitempty"` // One of OFPGT_*.
6633 GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // Group identifier.
6634 Buckets []*OfpBucket `protobuf:"bytes,4,rep,name=buckets,proto3" json:"buckets,omitempty"`
6635 unknownFields protoimpl.UnknownFields
6636 sizeCache protoimpl.SizeCache
6637}
6638
6639func (x *OfpGroupMod) Reset() {
6640 *x = OfpGroupMod{}
6641 mi := &file_voltha_protos_openflow_13_proto_msgTypes[32]
6642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6643 ms.StoreMessageInfo(mi)
6644}
6645
6646func (x *OfpGroupMod) String() string {
6647 return protoimpl.X.MessageStringOf(x)
6648}
6649
6650func (*OfpGroupMod) ProtoMessage() {}
6651
6652func (x *OfpGroupMod) ProtoReflect() protoreflect.Message {
6653 mi := &file_voltha_protos_openflow_13_proto_msgTypes[32]
6654 if x != nil {
6655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6656 if ms.LoadMessageInfo() == nil {
6657 ms.StoreMessageInfo(mi)
6658 }
6659 return ms
6660 }
6661 return mi.MessageOf(x)
6662}
6663
6664// Deprecated: Use OfpGroupMod.ProtoReflect.Descriptor instead.
6665func (*OfpGroupMod) Descriptor() ([]byte, []int) {
6666 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{32}
6667}
6668
6669func (x *OfpGroupMod) GetCommand() OfpGroupModCommand {
6670 if x != nil {
6671 return x.Command
6672 }
6673 return OfpGroupModCommand_OFPGC_ADD
6674}
6675
6676func (x *OfpGroupMod) GetType() OfpGroupType {
6677 if x != nil {
6678 return x.Type
6679 }
6680 return OfpGroupType_OFPGT_ALL
6681}
6682
6683func (x *OfpGroupMod) GetGroupId() uint32 {
6684 if x != nil {
6685 return x.GroupId
6686 }
6687 return 0
6688}
6689
6690func (x *OfpGroupMod) GetBuckets() []*OfpBucket {
6691 if x != nil {
6692 return x.Buckets
6693 }
6694 return nil
6695}
6696
6697// Send packet (controller -> datapath).
6698type OfpPacketOut struct {
6699 state protoimpl.MessageState `protogen:"open.v1"`
6700 // ofp_header header;
6701 BufferId uint32 `protobuf:"varint,1,opt,name=buffer_id,json=bufferId,proto3" json:"buffer_id,omitempty"`
6702 InPort uint32 `protobuf:"varint,2,opt,name=in_port,json=inPort,proto3" json:"in_port,omitempty"` // Packet's input port or OFPP_CONTROLLER.
6703 Actions []*OfpAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` // Action list - 0 or more.
6704 // The variable size action list is optionally followed by packet data.
6705 // This data is only present and meaningful if buffer_id == -1.
6706 Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` // Packet data.
6707 unknownFields protoimpl.UnknownFields
6708 sizeCache protoimpl.SizeCache
6709}
6710
6711func (x *OfpPacketOut) Reset() {
6712 *x = OfpPacketOut{}
6713 mi := &file_voltha_protos_openflow_13_proto_msgTypes[33]
6714 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6715 ms.StoreMessageInfo(mi)
6716}
6717
6718func (x *OfpPacketOut) String() string {
6719 return protoimpl.X.MessageStringOf(x)
6720}
6721
6722func (*OfpPacketOut) ProtoMessage() {}
6723
6724func (x *OfpPacketOut) ProtoReflect() protoreflect.Message {
6725 mi := &file_voltha_protos_openflow_13_proto_msgTypes[33]
6726 if x != nil {
6727 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6728 if ms.LoadMessageInfo() == nil {
6729 ms.StoreMessageInfo(mi)
6730 }
6731 return ms
6732 }
6733 return mi.MessageOf(x)
6734}
6735
6736// Deprecated: Use OfpPacketOut.ProtoReflect.Descriptor instead.
6737func (*OfpPacketOut) Descriptor() ([]byte, []int) {
6738 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{33}
6739}
6740
6741func (x *OfpPacketOut) GetBufferId() uint32 {
6742 if x != nil {
6743 return x.BufferId
6744 }
6745 return 0
6746}
6747
6748func (x *OfpPacketOut) GetInPort() uint32 {
6749 if x != nil {
6750 return x.InPort
6751 }
6752 return 0
6753}
6754
6755func (x *OfpPacketOut) GetActions() []*OfpAction {
6756 if x != nil {
6757 return x.Actions
6758 }
6759 return nil
6760}
6761
6762func (x *OfpPacketOut) GetData() []byte {
6763 if x != nil {
6764 return x.Data
6765 }
6766 return nil
6767}
6768
6769// Packet received on port (datapath -> controller).
6770type OfpPacketIn struct {
6771 state protoimpl.MessageState `protogen:"open.v1"`
6772 // ofp_header header;
6773 BufferId uint32 `protobuf:"varint,1,opt,name=buffer_id,json=bufferId,proto3" json:"buffer_id,omitempty"` // ID assigned by datapath.
6774 Reason OfpPacketInReason `protobuf:"varint,2,opt,name=reason,proto3,enum=openflow_13.OfpPacketInReason" json:"reason,omitempty"` // Reason packet is being sent
6775 TableId uint32 `protobuf:"varint,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` // ID of the table that was looked up
6776 Cookie uint64 `protobuf:"varint,4,opt,name=cookie,proto3" json:"cookie,omitempty"` // Cookie of the flow entry that was looked up.
6777 Match *OfpMatch `protobuf:"bytes,5,opt,name=match,proto3" json:"match,omitempty"` // Packet metadata. Variable size.
6778 Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"` // Ethernet frame
6779 unknownFields protoimpl.UnknownFields
6780 sizeCache protoimpl.SizeCache
6781}
6782
6783func (x *OfpPacketIn) Reset() {
6784 *x = OfpPacketIn{}
6785 mi := &file_voltha_protos_openflow_13_proto_msgTypes[34]
6786 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6787 ms.StoreMessageInfo(mi)
6788}
6789
6790func (x *OfpPacketIn) String() string {
6791 return protoimpl.X.MessageStringOf(x)
6792}
6793
6794func (*OfpPacketIn) ProtoMessage() {}
6795
6796func (x *OfpPacketIn) ProtoReflect() protoreflect.Message {
6797 mi := &file_voltha_protos_openflow_13_proto_msgTypes[34]
6798 if x != nil {
6799 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6800 if ms.LoadMessageInfo() == nil {
6801 ms.StoreMessageInfo(mi)
6802 }
6803 return ms
6804 }
6805 return mi.MessageOf(x)
6806}
6807
6808// Deprecated: Use OfpPacketIn.ProtoReflect.Descriptor instead.
6809func (*OfpPacketIn) Descriptor() ([]byte, []int) {
6810 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{34}
6811}
6812
6813func (x *OfpPacketIn) GetBufferId() uint32 {
6814 if x != nil {
6815 return x.BufferId
6816 }
6817 return 0
6818}
6819
6820func (x *OfpPacketIn) GetReason() OfpPacketInReason {
6821 if x != nil {
6822 return x.Reason
6823 }
6824 return OfpPacketInReason_OFPR_NO_MATCH
6825}
6826
6827func (x *OfpPacketIn) GetTableId() uint32 {
6828 if x != nil {
6829 return x.TableId
6830 }
6831 return 0
6832}
6833
6834func (x *OfpPacketIn) GetCookie() uint64 {
6835 if x != nil {
6836 return x.Cookie
6837 }
6838 return 0
6839}
6840
6841func (x *OfpPacketIn) GetMatch() *OfpMatch {
6842 if x != nil {
6843 return x.Match
6844 }
6845 return nil
6846}
6847
6848func (x *OfpPacketIn) GetData() []byte {
6849 if x != nil {
6850 return x.Data
6851 }
6852 return nil
6853}
6854
6855// Flow removed (datapath -> controller).
6856type OfpFlowRemoved struct {
6857 state protoimpl.MessageState `protogen:"open.v1"`
6858 // ofp_header header;
6859 Cookie uint64 `protobuf:"varint,1,opt,name=cookie,proto3" json:"cookie,omitempty"` // Opaque controller-issued identifier.
6860 Priority uint32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"` // Priority level of flow entry.
6861 Reason OfpFlowRemovedReason `protobuf:"varint,3,opt,name=reason,proto3,enum=openflow_13.OfpFlowRemovedReason" json:"reason,omitempty"` // One of OFPRR_*.
6862 TableId uint32 `protobuf:"varint,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` // ID of the table
6863 DurationSec uint32 `protobuf:"varint,5,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"` // Time flow was alive in seconds.
6864 DurationNsec uint32 `protobuf:"varint,6,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
6865 IdleTimeout uint32 `protobuf:"varint,7,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Idle timeout from original flow mod.
6866 HardTimeout uint32 `protobuf:"varint,8,opt,name=hard_timeout,json=hardTimeout,proto3" json:"hard_timeout,omitempty"` // Hard timeout from original flow mod.
6867 PacketCount uint64 `protobuf:"varint,9,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"`
6868 ByteCount uint64 `protobuf:"varint,10,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
6869 Match *OfpMatch `protobuf:"bytes,121,opt,name=match,proto3" json:"match,omitempty"` // Description of fields. Variable size.
6870 unknownFields protoimpl.UnknownFields
6871 sizeCache protoimpl.SizeCache
6872}
6873
6874func (x *OfpFlowRemoved) Reset() {
6875 *x = OfpFlowRemoved{}
6876 mi := &file_voltha_protos_openflow_13_proto_msgTypes[35]
6877 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6878 ms.StoreMessageInfo(mi)
6879}
6880
6881func (x *OfpFlowRemoved) String() string {
6882 return protoimpl.X.MessageStringOf(x)
6883}
6884
6885func (*OfpFlowRemoved) ProtoMessage() {}
6886
6887func (x *OfpFlowRemoved) ProtoReflect() protoreflect.Message {
6888 mi := &file_voltha_protos_openflow_13_proto_msgTypes[35]
6889 if x != nil {
6890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6891 if ms.LoadMessageInfo() == nil {
6892 ms.StoreMessageInfo(mi)
6893 }
6894 return ms
6895 }
6896 return mi.MessageOf(x)
6897}
6898
6899// Deprecated: Use OfpFlowRemoved.ProtoReflect.Descriptor instead.
6900func (*OfpFlowRemoved) Descriptor() ([]byte, []int) {
6901 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{35}
6902}
6903
6904func (x *OfpFlowRemoved) GetCookie() uint64 {
6905 if x != nil {
6906 return x.Cookie
6907 }
6908 return 0
6909}
6910
6911func (x *OfpFlowRemoved) GetPriority() uint32 {
6912 if x != nil {
6913 return x.Priority
6914 }
6915 return 0
6916}
6917
6918func (x *OfpFlowRemoved) GetReason() OfpFlowRemovedReason {
6919 if x != nil {
6920 return x.Reason
6921 }
6922 return OfpFlowRemovedReason_OFPRR_IDLE_TIMEOUT
6923}
6924
6925func (x *OfpFlowRemoved) GetTableId() uint32 {
6926 if x != nil {
6927 return x.TableId
6928 }
6929 return 0
6930}
6931
6932func (x *OfpFlowRemoved) GetDurationSec() uint32 {
6933 if x != nil {
6934 return x.DurationSec
6935 }
6936 return 0
6937}
6938
6939func (x *OfpFlowRemoved) GetDurationNsec() uint32 {
6940 if x != nil {
6941 return x.DurationNsec
6942 }
6943 return 0
6944}
6945
6946func (x *OfpFlowRemoved) GetIdleTimeout() uint32 {
6947 if x != nil {
6948 return x.IdleTimeout
6949 }
6950 return 0
6951}
6952
6953func (x *OfpFlowRemoved) GetHardTimeout() uint32 {
6954 if x != nil {
6955 return x.HardTimeout
6956 }
6957 return 0
6958}
6959
6960func (x *OfpFlowRemoved) GetPacketCount() uint64 {
6961 if x != nil {
6962 return x.PacketCount
6963 }
6964 return 0
6965}
6966
6967func (x *OfpFlowRemoved) GetByteCount() uint64 {
6968 if x != nil {
6969 return x.ByteCount
6970 }
6971 return 0
6972}
6973
6974func (x *OfpFlowRemoved) GetMatch() *OfpMatch {
6975 if x != nil {
6976 return x.Match
6977 }
6978 return nil
6979}
6980
6981// Common header for all meter bands
6982type OfpMeterBandHeader struct {
6983 state protoimpl.MessageState `protogen:"open.v1"`
6984 Type OfpMeterBandType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMeterBandType" json:"type,omitempty"` // One of OFPMBT_*.
6985 Rate uint32 `protobuf:"varint,2,opt,name=rate,proto3" json:"rate,omitempty"` // Rate for this band.
6986 BurstSize uint32 `protobuf:"varint,3,opt,name=burst_size,json=burstSize,proto3" json:"burst_size,omitempty"` // Size of bursts.
6987 // Types that are valid to be assigned to Data:
6988 //
6989 // *OfpMeterBandHeader_Drop
6990 // *OfpMeterBandHeader_DscpRemark
6991 // *OfpMeterBandHeader_Experimenter
6992 Data isOfpMeterBandHeader_Data `protobuf_oneof:"data"`
6993 unknownFields protoimpl.UnknownFields
6994 sizeCache protoimpl.SizeCache
6995}
6996
6997func (x *OfpMeterBandHeader) Reset() {
6998 *x = OfpMeterBandHeader{}
6999 mi := &file_voltha_protos_openflow_13_proto_msgTypes[36]
7000 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7001 ms.StoreMessageInfo(mi)
7002}
7003
7004func (x *OfpMeterBandHeader) String() string {
7005 return protoimpl.X.MessageStringOf(x)
7006}
7007
7008func (*OfpMeterBandHeader) ProtoMessage() {}
7009
7010func (x *OfpMeterBandHeader) ProtoReflect() protoreflect.Message {
7011 mi := &file_voltha_protos_openflow_13_proto_msgTypes[36]
7012 if x != nil {
7013 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7014 if ms.LoadMessageInfo() == nil {
7015 ms.StoreMessageInfo(mi)
7016 }
7017 return ms
7018 }
7019 return mi.MessageOf(x)
7020}
7021
7022// Deprecated: Use OfpMeterBandHeader.ProtoReflect.Descriptor instead.
7023func (*OfpMeterBandHeader) Descriptor() ([]byte, []int) {
7024 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{36}
7025}
7026
7027func (x *OfpMeterBandHeader) GetType() OfpMeterBandType {
7028 if x != nil {
7029 return x.Type
7030 }
7031 return OfpMeterBandType_OFPMBT_INVALID
7032}
7033
7034func (x *OfpMeterBandHeader) GetRate() uint32 {
7035 if x != nil {
7036 return x.Rate
7037 }
7038 return 0
7039}
7040
7041func (x *OfpMeterBandHeader) GetBurstSize() uint32 {
7042 if x != nil {
7043 return x.BurstSize
7044 }
7045 return 0
7046}
7047
7048func (x *OfpMeterBandHeader) GetData() isOfpMeterBandHeader_Data {
7049 if x != nil {
7050 return x.Data
7051 }
7052 return nil
7053}
7054
7055func (x *OfpMeterBandHeader) GetDrop() *OfpMeterBandDrop {
7056 if x != nil {
7057 if x, ok := x.Data.(*OfpMeterBandHeader_Drop); ok {
7058 return x.Drop
7059 }
7060 }
7061 return nil
7062}
7063
7064func (x *OfpMeterBandHeader) GetDscpRemark() *OfpMeterBandDscpRemark {
7065 if x != nil {
7066 if x, ok := x.Data.(*OfpMeterBandHeader_DscpRemark); ok {
7067 return x.DscpRemark
7068 }
7069 }
7070 return nil
7071}
7072
7073func (x *OfpMeterBandHeader) GetExperimenter() *OfpMeterBandExperimenter {
7074 if x != nil {
7075 if x, ok := x.Data.(*OfpMeterBandHeader_Experimenter); ok {
7076 return x.Experimenter
7077 }
7078 }
7079 return nil
7080}
7081
7082type isOfpMeterBandHeader_Data interface {
7083 isOfpMeterBandHeader_Data()
7084}
7085
7086type OfpMeterBandHeader_Drop struct {
7087 Drop *OfpMeterBandDrop `protobuf:"bytes,4,opt,name=drop,proto3,oneof"`
7088}
7089
7090type OfpMeterBandHeader_DscpRemark struct {
7091 DscpRemark *OfpMeterBandDscpRemark `protobuf:"bytes,5,opt,name=dscp_remark,json=dscpRemark,proto3,oneof"`
7092}
7093
7094type OfpMeterBandHeader_Experimenter struct {
7095 Experimenter *OfpMeterBandExperimenter `protobuf:"bytes,6,opt,name=experimenter,proto3,oneof"`
7096}
7097
7098func (*OfpMeterBandHeader_Drop) isOfpMeterBandHeader_Data() {}
7099
7100func (*OfpMeterBandHeader_DscpRemark) isOfpMeterBandHeader_Data() {}
7101
7102func (*OfpMeterBandHeader_Experimenter) isOfpMeterBandHeader_Data() {}
7103
7104// OFPMBT_DROP band - drop packets
7105type OfpMeterBandDrop struct {
7106 state protoimpl.MessageState `protogen:"open.v1"`
7107 unknownFields protoimpl.UnknownFields
7108 sizeCache protoimpl.SizeCache
7109}
7110
7111func (x *OfpMeterBandDrop) Reset() {
7112 *x = OfpMeterBandDrop{}
7113 mi := &file_voltha_protos_openflow_13_proto_msgTypes[37]
7114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7115 ms.StoreMessageInfo(mi)
7116}
7117
7118func (x *OfpMeterBandDrop) String() string {
7119 return protoimpl.X.MessageStringOf(x)
7120}
7121
7122func (*OfpMeterBandDrop) ProtoMessage() {}
7123
7124func (x *OfpMeterBandDrop) ProtoReflect() protoreflect.Message {
7125 mi := &file_voltha_protos_openflow_13_proto_msgTypes[37]
7126 if x != nil {
7127 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7128 if ms.LoadMessageInfo() == nil {
7129 ms.StoreMessageInfo(mi)
7130 }
7131 return ms
7132 }
7133 return mi.MessageOf(x)
7134}
7135
7136// Deprecated: Use OfpMeterBandDrop.ProtoReflect.Descriptor instead.
7137func (*OfpMeterBandDrop) Descriptor() ([]byte, []int) {
7138 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{37}
7139}
7140
7141// OFPMBT_DSCP_REMARK band - Remark DSCP in the IP header
7142type OfpMeterBandDscpRemark struct {
7143 state protoimpl.MessageState `protogen:"open.v1"`
7144 PrecLevel uint32 `protobuf:"varint,1,opt,name=prec_level,json=precLevel,proto3" json:"prec_level,omitempty"` // Number of drop precedence level to add.
7145 unknownFields protoimpl.UnknownFields
7146 sizeCache protoimpl.SizeCache
7147}
7148
7149func (x *OfpMeterBandDscpRemark) Reset() {
7150 *x = OfpMeterBandDscpRemark{}
7151 mi := &file_voltha_protos_openflow_13_proto_msgTypes[38]
7152 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7153 ms.StoreMessageInfo(mi)
7154}
7155
7156func (x *OfpMeterBandDscpRemark) String() string {
7157 return protoimpl.X.MessageStringOf(x)
7158}
7159
7160func (*OfpMeterBandDscpRemark) ProtoMessage() {}
7161
7162func (x *OfpMeterBandDscpRemark) ProtoReflect() protoreflect.Message {
7163 mi := &file_voltha_protos_openflow_13_proto_msgTypes[38]
7164 if x != nil {
7165 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7166 if ms.LoadMessageInfo() == nil {
7167 ms.StoreMessageInfo(mi)
7168 }
7169 return ms
7170 }
7171 return mi.MessageOf(x)
7172}
7173
7174// Deprecated: Use OfpMeterBandDscpRemark.ProtoReflect.Descriptor instead.
7175func (*OfpMeterBandDscpRemark) Descriptor() ([]byte, []int) {
7176 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{38}
7177}
7178
7179func (x *OfpMeterBandDscpRemark) GetPrecLevel() uint32 {
7180 if x != nil {
7181 return x.PrecLevel
7182 }
7183 return 0
7184}
7185
7186// OFPMBT_EXPERIMENTER band - Experimenter type.
7187// The rest of the band is experimenter-defined.
7188type OfpMeterBandExperimenter struct {
7189 state protoimpl.MessageState `protogen:"open.v1"`
7190 Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
7191 unknownFields protoimpl.UnknownFields
7192 sizeCache protoimpl.SizeCache
7193}
7194
7195func (x *OfpMeterBandExperimenter) Reset() {
7196 *x = OfpMeterBandExperimenter{}
7197 mi := &file_voltha_protos_openflow_13_proto_msgTypes[39]
7198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7199 ms.StoreMessageInfo(mi)
7200}
7201
7202func (x *OfpMeterBandExperimenter) String() string {
7203 return protoimpl.X.MessageStringOf(x)
7204}
7205
7206func (*OfpMeterBandExperimenter) ProtoMessage() {}
7207
7208func (x *OfpMeterBandExperimenter) ProtoReflect() protoreflect.Message {
7209 mi := &file_voltha_protos_openflow_13_proto_msgTypes[39]
7210 if x != nil {
7211 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7212 if ms.LoadMessageInfo() == nil {
7213 ms.StoreMessageInfo(mi)
7214 }
7215 return ms
7216 }
7217 return mi.MessageOf(x)
7218}
7219
7220// Deprecated: Use OfpMeterBandExperimenter.ProtoReflect.Descriptor instead.
7221func (*OfpMeterBandExperimenter) Descriptor() ([]byte, []int) {
7222 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{39}
7223}
7224
7225func (x *OfpMeterBandExperimenter) GetExperimenter() uint32 {
7226 if x != nil {
7227 return x.Experimenter
7228 }
7229 return 0
7230}
7231
7232// Meter configuration. OFPT_METER_MOD.
7233type OfpMeterMod struct {
7234 state protoimpl.MessageState `protogen:"open.v1"`
7235 Command OfpMeterModCommand `protobuf:"varint,1,opt,name=command,proto3,enum=openflow_13.OfpMeterModCommand" json:"command,omitempty"` // One of OFPMC_*.
7236 Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` // Bitmap of OFPMF_* flags.
7237 MeterId uint32 `protobuf:"varint,3,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"` // Meter instance.
7238 Bands []*OfpMeterBandHeader `protobuf:"bytes,4,rep,name=bands,proto3" json:"bands,omitempty"`
7239 unknownFields protoimpl.UnknownFields
7240 sizeCache protoimpl.SizeCache
7241}
7242
7243func (x *OfpMeterMod) Reset() {
7244 *x = OfpMeterMod{}
7245 mi := &file_voltha_protos_openflow_13_proto_msgTypes[40]
7246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7247 ms.StoreMessageInfo(mi)
7248}
7249
7250func (x *OfpMeterMod) String() string {
7251 return protoimpl.X.MessageStringOf(x)
7252}
7253
7254func (*OfpMeterMod) ProtoMessage() {}
7255
7256func (x *OfpMeterMod) ProtoReflect() protoreflect.Message {
7257 mi := &file_voltha_protos_openflow_13_proto_msgTypes[40]
7258 if x != nil {
7259 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7260 if ms.LoadMessageInfo() == nil {
7261 ms.StoreMessageInfo(mi)
7262 }
7263 return ms
7264 }
7265 return mi.MessageOf(x)
7266}
7267
7268// Deprecated: Use OfpMeterMod.ProtoReflect.Descriptor instead.
7269func (*OfpMeterMod) Descriptor() ([]byte, []int) {
7270 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{40}
7271}
7272
7273func (x *OfpMeterMod) GetCommand() OfpMeterModCommand {
7274 if x != nil {
7275 return x.Command
7276 }
7277 return OfpMeterModCommand_OFPMC_ADD
7278}
7279
7280func (x *OfpMeterMod) GetFlags() uint32 {
7281 if x != nil {
7282 return x.Flags
7283 }
7284 return 0
7285}
7286
7287func (x *OfpMeterMod) GetMeterId() uint32 {
7288 if x != nil {
7289 return x.MeterId
7290 }
7291 return 0
7292}
7293
7294func (x *OfpMeterMod) GetBands() []*OfpMeterBandHeader {
7295 if x != nil {
7296 return x.Bands
7297 }
7298 return nil
7299}
7300
7301// OFPT_ERROR: Error message (datapath -> controller).
7302type OfpErrorMsg struct {
7303 state protoimpl.MessageState `protogen:"open.v1"`
7304 Header *OfpHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
7305 Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
7306 Code uint32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"`
7307 Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
7308 unknownFields protoimpl.UnknownFields
7309 sizeCache protoimpl.SizeCache
7310}
7311
7312func (x *OfpErrorMsg) Reset() {
7313 *x = OfpErrorMsg{}
7314 mi := &file_voltha_protos_openflow_13_proto_msgTypes[41]
7315 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7316 ms.StoreMessageInfo(mi)
7317}
7318
7319func (x *OfpErrorMsg) String() string {
7320 return protoimpl.X.MessageStringOf(x)
7321}
7322
7323func (*OfpErrorMsg) ProtoMessage() {}
7324
7325func (x *OfpErrorMsg) ProtoReflect() protoreflect.Message {
7326 mi := &file_voltha_protos_openflow_13_proto_msgTypes[41]
7327 if x != nil {
7328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7329 if ms.LoadMessageInfo() == nil {
7330 ms.StoreMessageInfo(mi)
7331 }
7332 return ms
7333 }
7334 return mi.MessageOf(x)
7335}
7336
7337// Deprecated: Use OfpErrorMsg.ProtoReflect.Descriptor instead.
7338func (*OfpErrorMsg) Descriptor() ([]byte, []int) {
7339 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{41}
7340}
7341
7342func (x *OfpErrorMsg) GetHeader() *OfpHeader {
7343 if x != nil {
7344 return x.Header
7345 }
7346 return nil
7347}
7348
7349func (x *OfpErrorMsg) GetType() uint32 {
7350 if x != nil {
7351 return x.Type
7352 }
7353 return 0
7354}
7355
7356func (x *OfpErrorMsg) GetCode() uint32 {
7357 if x != nil {
7358 return x.Code
7359 }
7360 return 0
7361}
7362
7363func (x *OfpErrorMsg) GetData() []byte {
7364 if x != nil {
7365 return x.Data
7366 }
7367 return nil
7368}
7369
7370// OFPET_EXPERIMENTER: Error message (datapath -> controller).
7371type OfpErrorExperimenterMsg struct {
7372 state protoimpl.MessageState `protogen:"open.v1"`
7373 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // OFPET_EXPERIMENTER.
7374 ExpType uint32 `protobuf:"varint,2,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"` // Experimenter defined.
7375 Experimenter uint32 `protobuf:"varint,3,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
7376 Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
7377 unknownFields protoimpl.UnknownFields
7378 sizeCache protoimpl.SizeCache
7379}
7380
7381func (x *OfpErrorExperimenterMsg) Reset() {
7382 *x = OfpErrorExperimenterMsg{}
7383 mi := &file_voltha_protos_openflow_13_proto_msgTypes[42]
7384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7385 ms.StoreMessageInfo(mi)
7386}
7387
7388func (x *OfpErrorExperimenterMsg) String() string {
7389 return protoimpl.X.MessageStringOf(x)
7390}
7391
7392func (*OfpErrorExperimenterMsg) ProtoMessage() {}
7393
7394func (x *OfpErrorExperimenterMsg) ProtoReflect() protoreflect.Message {
7395 mi := &file_voltha_protos_openflow_13_proto_msgTypes[42]
7396 if x != nil {
7397 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7398 if ms.LoadMessageInfo() == nil {
7399 ms.StoreMessageInfo(mi)
7400 }
7401 return ms
7402 }
7403 return mi.MessageOf(x)
7404}
7405
7406// Deprecated: Use OfpErrorExperimenterMsg.ProtoReflect.Descriptor instead.
7407func (*OfpErrorExperimenterMsg) Descriptor() ([]byte, []int) {
7408 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{42}
7409}
7410
7411func (x *OfpErrorExperimenterMsg) GetType() uint32 {
7412 if x != nil {
7413 return x.Type
7414 }
7415 return 0
7416}
7417
7418func (x *OfpErrorExperimenterMsg) GetExpType() uint32 {
7419 if x != nil {
7420 return x.ExpType
7421 }
7422 return 0
7423}
7424
7425func (x *OfpErrorExperimenterMsg) GetExperimenter() uint32 {
7426 if x != nil {
7427 return x.Experimenter
7428 }
7429 return 0
7430}
7431
7432func (x *OfpErrorExperimenterMsg) GetData() []byte {
7433 if x != nil {
7434 return x.Data
7435 }
7436 return nil
7437}
7438
7439type OfpMultipartRequest struct {
7440 state protoimpl.MessageState `protogen:"open.v1"`
7441 // ofp_header header;
7442 Type OfpMultipartType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMultipartType" json:"type,omitempty"` // One of the OFPMP_* constants.
7443 Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` // OFPMPF_REQ_* flags.
7444 Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` // Body of the request. 0 or more bytes.
7445 unknownFields protoimpl.UnknownFields
7446 sizeCache protoimpl.SizeCache
7447}
7448
7449func (x *OfpMultipartRequest) Reset() {
7450 *x = OfpMultipartRequest{}
7451 mi := &file_voltha_protos_openflow_13_proto_msgTypes[43]
7452 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7453 ms.StoreMessageInfo(mi)
7454}
7455
7456func (x *OfpMultipartRequest) String() string {
7457 return protoimpl.X.MessageStringOf(x)
7458}
7459
7460func (*OfpMultipartRequest) ProtoMessage() {}
7461
7462func (x *OfpMultipartRequest) ProtoReflect() protoreflect.Message {
7463 mi := &file_voltha_protos_openflow_13_proto_msgTypes[43]
7464 if x != nil {
7465 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7466 if ms.LoadMessageInfo() == nil {
7467 ms.StoreMessageInfo(mi)
7468 }
7469 return ms
7470 }
7471 return mi.MessageOf(x)
7472}
7473
7474// Deprecated: Use OfpMultipartRequest.ProtoReflect.Descriptor instead.
7475func (*OfpMultipartRequest) Descriptor() ([]byte, []int) {
7476 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{43}
7477}
7478
7479func (x *OfpMultipartRequest) GetType() OfpMultipartType {
7480 if x != nil {
7481 return x.Type
7482 }
7483 return OfpMultipartType_OFPMP_DESC
7484}
7485
7486func (x *OfpMultipartRequest) GetFlags() uint32 {
7487 if x != nil {
7488 return x.Flags
7489 }
7490 return 0
7491}
7492
7493func (x *OfpMultipartRequest) GetBody() []byte {
7494 if x != nil {
7495 return x.Body
7496 }
7497 return nil
7498}
7499
7500type OfpMultipartReply struct {
7501 state protoimpl.MessageState `protogen:"open.v1"`
7502 // ofp_header header;
7503 Type OfpMultipartType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpMultipartType" json:"type,omitempty"` // One of the OFPMP_* constants.
7504 Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` // OFPMPF_REPLY_* flags.
7505 Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` // Body of the reply. 0 or more bytes.
7506 unknownFields protoimpl.UnknownFields
7507 sizeCache protoimpl.SizeCache
7508}
7509
7510func (x *OfpMultipartReply) Reset() {
7511 *x = OfpMultipartReply{}
7512 mi := &file_voltha_protos_openflow_13_proto_msgTypes[44]
7513 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7514 ms.StoreMessageInfo(mi)
7515}
7516
7517func (x *OfpMultipartReply) String() string {
7518 return protoimpl.X.MessageStringOf(x)
7519}
7520
7521func (*OfpMultipartReply) ProtoMessage() {}
7522
7523func (x *OfpMultipartReply) ProtoReflect() protoreflect.Message {
7524 mi := &file_voltha_protos_openflow_13_proto_msgTypes[44]
7525 if x != nil {
7526 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7527 if ms.LoadMessageInfo() == nil {
7528 ms.StoreMessageInfo(mi)
7529 }
7530 return ms
7531 }
7532 return mi.MessageOf(x)
7533}
7534
7535// Deprecated: Use OfpMultipartReply.ProtoReflect.Descriptor instead.
7536func (*OfpMultipartReply) Descriptor() ([]byte, []int) {
7537 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{44}
7538}
7539
7540func (x *OfpMultipartReply) GetType() OfpMultipartType {
7541 if x != nil {
7542 return x.Type
7543 }
7544 return OfpMultipartType_OFPMP_DESC
7545}
7546
7547func (x *OfpMultipartReply) GetFlags() uint32 {
7548 if x != nil {
7549 return x.Flags
7550 }
7551 return 0
7552}
7553
7554func (x *OfpMultipartReply) GetBody() []byte {
7555 if x != nil {
7556 return x.Body
7557 }
7558 return nil
7559}
7560
7561// Body of reply to OFPMP_DESC request. Each entry is a NULL-terminated
7562// ASCII string.
7563type OfpDesc struct {
7564 state protoimpl.MessageState `protogen:"open.v1"`
7565 MfrDesc string `protobuf:"bytes,1,opt,name=mfr_desc,json=mfrDesc,proto3" json:"mfr_desc,omitempty"` // Manufacturer description.
7566 HwDesc string `protobuf:"bytes,2,opt,name=hw_desc,json=hwDesc,proto3" json:"hw_desc,omitempty"` // Hardware description.
7567 SwDesc string `protobuf:"bytes,3,opt,name=sw_desc,json=swDesc,proto3" json:"sw_desc,omitempty"` // Software description.
7568 SerialNum string `protobuf:"bytes,4,opt,name=serial_num,json=serialNum,proto3" json:"serial_num,omitempty"` // Serial number.
7569 DpDesc string `protobuf:"bytes,5,opt,name=dp_desc,json=dpDesc,proto3" json:"dp_desc,omitempty"` // Human readable description of datapath.
7570 unknownFields protoimpl.UnknownFields
7571 sizeCache protoimpl.SizeCache
7572}
7573
7574func (x *OfpDesc) Reset() {
7575 *x = OfpDesc{}
7576 mi := &file_voltha_protos_openflow_13_proto_msgTypes[45]
7577 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7578 ms.StoreMessageInfo(mi)
7579}
7580
7581func (x *OfpDesc) String() string {
7582 return protoimpl.X.MessageStringOf(x)
7583}
7584
7585func (*OfpDesc) ProtoMessage() {}
7586
7587func (x *OfpDesc) ProtoReflect() protoreflect.Message {
7588 mi := &file_voltha_protos_openflow_13_proto_msgTypes[45]
7589 if x != nil {
7590 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7591 if ms.LoadMessageInfo() == nil {
7592 ms.StoreMessageInfo(mi)
7593 }
7594 return ms
7595 }
7596 return mi.MessageOf(x)
7597}
7598
7599// Deprecated: Use OfpDesc.ProtoReflect.Descriptor instead.
7600func (*OfpDesc) Descriptor() ([]byte, []int) {
7601 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{45}
7602}
7603
7604func (x *OfpDesc) GetMfrDesc() string {
7605 if x != nil {
7606 return x.MfrDesc
7607 }
7608 return ""
7609}
7610
7611func (x *OfpDesc) GetHwDesc() string {
7612 if x != nil {
7613 return x.HwDesc
7614 }
7615 return ""
7616}
7617
7618func (x *OfpDesc) GetSwDesc() string {
7619 if x != nil {
7620 return x.SwDesc
7621 }
7622 return ""
7623}
7624
7625func (x *OfpDesc) GetSerialNum() string {
7626 if x != nil {
7627 return x.SerialNum
7628 }
7629 return ""
7630}
7631
7632func (x *OfpDesc) GetDpDesc() string {
7633 if x != nil {
7634 return x.DpDesc
7635 }
7636 return ""
7637}
7638
7639// Body for ofp_multipart_request of type OFPMP_FLOW.
7640type OfpFlowStatsRequest struct {
7641 state protoimpl.MessageState `protogen:"open.v1"`
7642 TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
7643 OutPort uint32 `protobuf:"varint,2,opt,name=out_port,json=outPort,proto3" json:"out_port,omitempty"`
7644 OutGroup uint32 `protobuf:"varint,3,opt,name=out_group,json=outGroup,proto3" json:"out_group,omitempty"`
7645 Cookie uint64 `protobuf:"varint,4,opt,name=cookie,proto3" json:"cookie,omitempty"`
7646 CookieMask uint64 `protobuf:"varint,5,opt,name=cookie_mask,json=cookieMask,proto3" json:"cookie_mask,omitempty"`
7647 Match *OfpMatch `protobuf:"bytes,6,opt,name=match,proto3" json:"match,omitempty"` // Fields to match. Variable size.
7648 unknownFields protoimpl.UnknownFields
7649 sizeCache protoimpl.SizeCache
7650}
7651
7652func (x *OfpFlowStatsRequest) Reset() {
7653 *x = OfpFlowStatsRequest{}
7654 mi := &file_voltha_protos_openflow_13_proto_msgTypes[46]
7655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7656 ms.StoreMessageInfo(mi)
7657}
7658
7659func (x *OfpFlowStatsRequest) String() string {
7660 return protoimpl.X.MessageStringOf(x)
7661}
7662
7663func (*OfpFlowStatsRequest) ProtoMessage() {}
7664
7665func (x *OfpFlowStatsRequest) ProtoReflect() protoreflect.Message {
7666 mi := &file_voltha_protos_openflow_13_proto_msgTypes[46]
7667 if x != nil {
7668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7669 if ms.LoadMessageInfo() == nil {
7670 ms.StoreMessageInfo(mi)
7671 }
7672 return ms
7673 }
7674 return mi.MessageOf(x)
7675}
7676
7677// Deprecated: Use OfpFlowStatsRequest.ProtoReflect.Descriptor instead.
7678func (*OfpFlowStatsRequest) Descriptor() ([]byte, []int) {
7679 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{46}
7680}
7681
7682func (x *OfpFlowStatsRequest) GetTableId() uint32 {
7683 if x != nil {
7684 return x.TableId
7685 }
7686 return 0
7687}
7688
7689func (x *OfpFlowStatsRequest) GetOutPort() uint32 {
7690 if x != nil {
7691 return x.OutPort
7692 }
7693 return 0
7694}
7695
7696func (x *OfpFlowStatsRequest) GetOutGroup() uint32 {
7697 if x != nil {
7698 return x.OutGroup
7699 }
7700 return 0
7701}
7702
7703func (x *OfpFlowStatsRequest) GetCookie() uint64 {
7704 if x != nil {
7705 return x.Cookie
7706 }
7707 return 0
7708}
7709
7710func (x *OfpFlowStatsRequest) GetCookieMask() uint64 {
7711 if x != nil {
7712 return x.CookieMask
7713 }
7714 return 0
7715}
7716
7717func (x *OfpFlowStatsRequest) GetMatch() *OfpMatch {
7718 if x != nil {
7719 return x.Match
7720 }
7721 return nil
7722}
7723
7724// Body of reply to OFPMP_FLOW request.
7725type OfpFlowStats struct {
7726 state protoimpl.MessageState `protogen:"open.v1"`
7727 Id uint64 `protobuf:"varint,14,opt,name=id,proto3" json:"id,omitempty"` // Unique ID of flow within device.
7728 TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` // ID of table flow came from.
7729 DurationSec uint32 `protobuf:"varint,2,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"` // Time flow has been alive in seconds.
7730 DurationNsec uint32 `protobuf:"varint,3,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
7731 Priority uint32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"` // Priority of the entry.
7732 IdleTimeout uint32 `protobuf:"varint,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Number of seconds idle before expiration.
7733 HardTimeout uint32 `protobuf:"varint,6,opt,name=hard_timeout,json=hardTimeout,proto3" json:"hard_timeout,omitempty"` // Number of seconds before expiration.
7734 Flags uint32 `protobuf:"varint,7,opt,name=flags,proto3" json:"flags,omitempty"` // Bitmap of OFPFF_* flags.
7735 Cookie uint64 `protobuf:"varint,8,opt,name=cookie,proto3" json:"cookie,omitempty"` // Opaque controller-issued identifier.
7736 PacketCount uint64 `protobuf:"varint,9,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"` // Number of packets in flow.
7737 ByteCount uint64 `protobuf:"varint,10,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"` // Number of bytes in flow.
7738 Match *OfpMatch `protobuf:"bytes,12,opt,name=match,proto3" json:"match,omitempty"` // Description of fields. Variable size.
7739 Instructions []*OfpInstruction `protobuf:"bytes,13,rep,name=instructions,proto3" json:"instructions,omitempty"`
7740 unknownFields protoimpl.UnknownFields
7741 sizeCache protoimpl.SizeCache
7742}
7743
7744func (x *OfpFlowStats) Reset() {
7745 *x = OfpFlowStats{}
7746 mi := &file_voltha_protos_openflow_13_proto_msgTypes[47]
7747 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7748 ms.StoreMessageInfo(mi)
7749}
7750
7751func (x *OfpFlowStats) String() string {
7752 return protoimpl.X.MessageStringOf(x)
7753}
7754
7755func (*OfpFlowStats) ProtoMessage() {}
7756
7757func (x *OfpFlowStats) ProtoReflect() protoreflect.Message {
7758 mi := &file_voltha_protos_openflow_13_proto_msgTypes[47]
7759 if x != nil {
7760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7761 if ms.LoadMessageInfo() == nil {
7762 ms.StoreMessageInfo(mi)
7763 }
7764 return ms
7765 }
7766 return mi.MessageOf(x)
7767}
7768
7769// Deprecated: Use OfpFlowStats.ProtoReflect.Descriptor instead.
7770func (*OfpFlowStats) Descriptor() ([]byte, []int) {
7771 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{47}
7772}
7773
7774func (x *OfpFlowStats) GetId() uint64 {
7775 if x != nil {
7776 return x.Id
7777 }
7778 return 0
7779}
7780
7781func (x *OfpFlowStats) GetTableId() uint32 {
7782 if x != nil {
7783 return x.TableId
7784 }
7785 return 0
7786}
7787
7788func (x *OfpFlowStats) GetDurationSec() uint32 {
7789 if x != nil {
7790 return x.DurationSec
7791 }
7792 return 0
7793}
7794
7795func (x *OfpFlowStats) GetDurationNsec() uint32 {
7796 if x != nil {
7797 return x.DurationNsec
7798 }
7799 return 0
7800}
7801
7802func (x *OfpFlowStats) GetPriority() uint32 {
7803 if x != nil {
7804 return x.Priority
7805 }
7806 return 0
7807}
7808
7809func (x *OfpFlowStats) GetIdleTimeout() uint32 {
7810 if x != nil {
7811 return x.IdleTimeout
7812 }
7813 return 0
7814}
7815
7816func (x *OfpFlowStats) GetHardTimeout() uint32 {
7817 if x != nil {
7818 return x.HardTimeout
7819 }
7820 return 0
7821}
7822
7823func (x *OfpFlowStats) GetFlags() uint32 {
7824 if x != nil {
7825 return x.Flags
7826 }
7827 return 0
7828}
7829
7830func (x *OfpFlowStats) GetCookie() uint64 {
7831 if x != nil {
7832 return x.Cookie
7833 }
7834 return 0
7835}
7836
7837func (x *OfpFlowStats) GetPacketCount() uint64 {
7838 if x != nil {
7839 return x.PacketCount
7840 }
7841 return 0
7842}
7843
7844func (x *OfpFlowStats) GetByteCount() uint64 {
7845 if x != nil {
7846 return x.ByteCount
7847 }
7848 return 0
7849}
7850
7851func (x *OfpFlowStats) GetMatch() *OfpMatch {
7852 if x != nil {
7853 return x.Match
7854 }
7855 return nil
7856}
7857
7858func (x *OfpFlowStats) GetInstructions() []*OfpInstruction {
7859 if x != nil {
7860 return x.Instructions
7861 }
7862 return nil
7863}
7864
7865// Body for ofp_multipart_request of type OFPMP_AGGREGATE.
7866type OfpAggregateStatsRequest struct {
7867 state protoimpl.MessageState `protogen:"open.v1"`
7868 TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
7869 OutPort uint32 `protobuf:"varint,2,opt,name=out_port,json=outPort,proto3" json:"out_port,omitempty"`
7870 OutGroup uint32 `protobuf:"varint,3,opt,name=out_group,json=outGroup,proto3" json:"out_group,omitempty"`
7871 Cookie uint64 `protobuf:"varint,4,opt,name=cookie,proto3" json:"cookie,omitempty"`
7872 CookieMask uint64 `protobuf:"varint,5,opt,name=cookie_mask,json=cookieMask,proto3" json:"cookie_mask,omitempty"`
7873 Match *OfpMatch `protobuf:"bytes,6,opt,name=match,proto3" json:"match,omitempty"` // Fields to match. Variable size.
7874 unknownFields protoimpl.UnknownFields
7875 sizeCache protoimpl.SizeCache
7876}
7877
7878func (x *OfpAggregateStatsRequest) Reset() {
7879 *x = OfpAggregateStatsRequest{}
7880 mi := &file_voltha_protos_openflow_13_proto_msgTypes[48]
7881 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7882 ms.StoreMessageInfo(mi)
7883}
7884
7885func (x *OfpAggregateStatsRequest) String() string {
7886 return protoimpl.X.MessageStringOf(x)
7887}
7888
7889func (*OfpAggregateStatsRequest) ProtoMessage() {}
7890
7891func (x *OfpAggregateStatsRequest) ProtoReflect() protoreflect.Message {
7892 mi := &file_voltha_protos_openflow_13_proto_msgTypes[48]
7893 if x != nil {
7894 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7895 if ms.LoadMessageInfo() == nil {
7896 ms.StoreMessageInfo(mi)
7897 }
7898 return ms
7899 }
7900 return mi.MessageOf(x)
7901}
7902
7903// Deprecated: Use OfpAggregateStatsRequest.ProtoReflect.Descriptor instead.
7904func (*OfpAggregateStatsRequest) Descriptor() ([]byte, []int) {
7905 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{48}
7906}
7907
7908func (x *OfpAggregateStatsRequest) GetTableId() uint32 {
7909 if x != nil {
7910 return x.TableId
7911 }
7912 return 0
7913}
7914
7915func (x *OfpAggregateStatsRequest) GetOutPort() uint32 {
7916 if x != nil {
7917 return x.OutPort
7918 }
7919 return 0
7920}
7921
7922func (x *OfpAggregateStatsRequest) GetOutGroup() uint32 {
7923 if x != nil {
7924 return x.OutGroup
7925 }
7926 return 0
7927}
7928
7929func (x *OfpAggregateStatsRequest) GetCookie() uint64 {
7930 if x != nil {
7931 return x.Cookie
7932 }
7933 return 0
7934}
7935
7936func (x *OfpAggregateStatsRequest) GetCookieMask() uint64 {
7937 if x != nil {
7938 return x.CookieMask
7939 }
7940 return 0
7941}
7942
7943func (x *OfpAggregateStatsRequest) GetMatch() *OfpMatch {
7944 if x != nil {
7945 return x.Match
7946 }
7947 return nil
7948}
7949
7950// Body of reply to OFPMP_AGGREGATE request.
7951type OfpAggregateStatsReply struct {
7952 state protoimpl.MessageState `protogen:"open.v1"`
7953 PacketCount uint64 `protobuf:"varint,1,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"` // Number of packets in flows.
7954 ByteCount uint64 `protobuf:"varint,2,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"` // Number of bytes in flows.
7955 FlowCount uint32 `protobuf:"varint,3,opt,name=flow_count,json=flowCount,proto3" json:"flow_count,omitempty"` // Number of flows.
7956 unknownFields protoimpl.UnknownFields
7957 sizeCache protoimpl.SizeCache
7958}
7959
7960func (x *OfpAggregateStatsReply) Reset() {
7961 *x = OfpAggregateStatsReply{}
7962 mi := &file_voltha_protos_openflow_13_proto_msgTypes[49]
7963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7964 ms.StoreMessageInfo(mi)
7965}
7966
7967func (x *OfpAggregateStatsReply) String() string {
7968 return protoimpl.X.MessageStringOf(x)
7969}
7970
7971func (*OfpAggregateStatsReply) ProtoMessage() {}
7972
7973func (x *OfpAggregateStatsReply) ProtoReflect() protoreflect.Message {
7974 mi := &file_voltha_protos_openflow_13_proto_msgTypes[49]
7975 if x != nil {
7976 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7977 if ms.LoadMessageInfo() == nil {
7978 ms.StoreMessageInfo(mi)
7979 }
7980 return ms
7981 }
7982 return mi.MessageOf(x)
7983}
7984
7985// Deprecated: Use OfpAggregateStatsReply.ProtoReflect.Descriptor instead.
7986func (*OfpAggregateStatsReply) Descriptor() ([]byte, []int) {
7987 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{49}
7988}
7989
7990func (x *OfpAggregateStatsReply) GetPacketCount() uint64 {
7991 if x != nil {
7992 return x.PacketCount
7993 }
7994 return 0
7995}
7996
7997func (x *OfpAggregateStatsReply) GetByteCount() uint64 {
7998 if x != nil {
7999 return x.ByteCount
8000 }
8001 return 0
8002}
8003
8004func (x *OfpAggregateStatsReply) GetFlowCount() uint32 {
8005 if x != nil {
8006 return x.FlowCount
8007 }
8008 return 0
8009}
8010
8011// Common header for all Table Feature Properties
8012type OfpTableFeatureProperty struct {
8013 state protoimpl.MessageState `protogen:"open.v1"`
8014 Type OfpTableFeaturePropType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpTableFeaturePropType" json:"type,omitempty"` // One of OFPTFPT_*.
8015 // Types that are valid to be assigned to Value:
8016 //
8017 // *OfpTableFeatureProperty_Instructions
8018 // *OfpTableFeatureProperty_NextTables
8019 // *OfpTableFeatureProperty_Actions
8020 // *OfpTableFeatureProperty_Oxm
8021 // *OfpTableFeatureProperty_Experimenter
8022 Value isOfpTableFeatureProperty_Value `protobuf_oneof:"value"`
8023 unknownFields protoimpl.UnknownFields
8024 sizeCache protoimpl.SizeCache
8025}
8026
8027func (x *OfpTableFeatureProperty) Reset() {
8028 *x = OfpTableFeatureProperty{}
8029 mi := &file_voltha_protos_openflow_13_proto_msgTypes[50]
8030 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8031 ms.StoreMessageInfo(mi)
8032}
8033
8034func (x *OfpTableFeatureProperty) String() string {
8035 return protoimpl.X.MessageStringOf(x)
8036}
8037
8038func (*OfpTableFeatureProperty) ProtoMessage() {}
8039
8040func (x *OfpTableFeatureProperty) ProtoReflect() protoreflect.Message {
8041 mi := &file_voltha_protos_openflow_13_proto_msgTypes[50]
8042 if x != nil {
8043 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8044 if ms.LoadMessageInfo() == nil {
8045 ms.StoreMessageInfo(mi)
8046 }
8047 return ms
8048 }
8049 return mi.MessageOf(x)
8050}
8051
8052// Deprecated: Use OfpTableFeatureProperty.ProtoReflect.Descriptor instead.
8053func (*OfpTableFeatureProperty) Descriptor() ([]byte, []int) {
8054 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{50}
8055}
8056
8057func (x *OfpTableFeatureProperty) GetType() OfpTableFeaturePropType {
8058 if x != nil {
8059 return x.Type
8060 }
8061 return OfpTableFeaturePropType_OFPTFPT_INSTRUCTIONS
8062}
8063
8064func (x *OfpTableFeatureProperty) GetValue() isOfpTableFeatureProperty_Value {
8065 if x != nil {
8066 return x.Value
8067 }
8068 return nil
8069}
8070
8071func (x *OfpTableFeatureProperty) GetInstructions() *OfpTableFeaturePropInstructions {
8072 if x != nil {
8073 if x, ok := x.Value.(*OfpTableFeatureProperty_Instructions); ok {
8074 return x.Instructions
8075 }
8076 }
8077 return nil
8078}
8079
8080func (x *OfpTableFeatureProperty) GetNextTables() *OfpTableFeaturePropNextTables {
8081 if x != nil {
8082 if x, ok := x.Value.(*OfpTableFeatureProperty_NextTables); ok {
8083 return x.NextTables
8084 }
8085 }
8086 return nil
8087}
8088
8089func (x *OfpTableFeatureProperty) GetActions() *OfpTableFeaturePropActions {
8090 if x != nil {
8091 if x, ok := x.Value.(*OfpTableFeatureProperty_Actions); ok {
8092 return x.Actions
8093 }
8094 }
8095 return nil
8096}
8097
8098func (x *OfpTableFeatureProperty) GetOxm() *OfpTableFeaturePropOxm {
8099 if x != nil {
8100 if x, ok := x.Value.(*OfpTableFeatureProperty_Oxm); ok {
8101 return x.Oxm
8102 }
8103 }
8104 return nil
8105}
8106
8107func (x *OfpTableFeatureProperty) GetExperimenter() *OfpTableFeaturePropExperimenter {
8108 if x != nil {
8109 if x, ok := x.Value.(*OfpTableFeatureProperty_Experimenter); ok {
8110 return x.Experimenter
8111 }
8112 }
8113 return nil
8114}
8115
8116type isOfpTableFeatureProperty_Value interface {
8117 isOfpTableFeatureProperty_Value()
8118}
8119
8120type OfpTableFeatureProperty_Instructions struct {
8121 Instructions *OfpTableFeaturePropInstructions `protobuf:"bytes,2,opt,name=instructions,proto3,oneof"`
8122}
8123
8124type OfpTableFeatureProperty_NextTables struct {
8125 NextTables *OfpTableFeaturePropNextTables `protobuf:"bytes,3,opt,name=next_tables,json=nextTables,proto3,oneof"`
8126}
8127
8128type OfpTableFeatureProperty_Actions struct {
8129 Actions *OfpTableFeaturePropActions `protobuf:"bytes,4,opt,name=actions,proto3,oneof"`
8130}
8131
8132type OfpTableFeatureProperty_Oxm struct {
8133 Oxm *OfpTableFeaturePropOxm `protobuf:"bytes,5,opt,name=oxm,proto3,oneof"`
8134}
8135
8136type OfpTableFeatureProperty_Experimenter struct {
8137 Experimenter *OfpTableFeaturePropExperimenter `protobuf:"bytes,6,opt,name=experimenter,proto3,oneof"`
8138}
8139
8140func (*OfpTableFeatureProperty_Instructions) isOfpTableFeatureProperty_Value() {}
8141
8142func (*OfpTableFeatureProperty_NextTables) isOfpTableFeatureProperty_Value() {}
8143
8144func (*OfpTableFeatureProperty_Actions) isOfpTableFeatureProperty_Value() {}
8145
8146func (*OfpTableFeatureProperty_Oxm) isOfpTableFeatureProperty_Value() {}
8147
8148func (*OfpTableFeatureProperty_Experimenter) isOfpTableFeatureProperty_Value() {}
8149
8150// Instructions property
8151type OfpTableFeaturePropInstructions struct {
8152 state protoimpl.MessageState `protogen:"open.v1"`
8153 // One of OFPTFPT_INSTRUCTIONS,
8154 // OFPTFPT_INSTRUCTIONS_MISS.
8155 Instructions []*OfpInstruction `protobuf:"bytes,1,rep,name=instructions,proto3" json:"instructions,omitempty"` // List of instructions
8156 unknownFields protoimpl.UnknownFields
8157 sizeCache protoimpl.SizeCache
8158}
8159
8160func (x *OfpTableFeaturePropInstructions) Reset() {
8161 *x = OfpTableFeaturePropInstructions{}
8162 mi := &file_voltha_protos_openflow_13_proto_msgTypes[51]
8163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8164 ms.StoreMessageInfo(mi)
8165}
8166
8167func (x *OfpTableFeaturePropInstructions) String() string {
8168 return protoimpl.X.MessageStringOf(x)
8169}
8170
8171func (*OfpTableFeaturePropInstructions) ProtoMessage() {}
8172
8173func (x *OfpTableFeaturePropInstructions) ProtoReflect() protoreflect.Message {
8174 mi := &file_voltha_protos_openflow_13_proto_msgTypes[51]
8175 if x != nil {
8176 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8177 if ms.LoadMessageInfo() == nil {
8178 ms.StoreMessageInfo(mi)
8179 }
8180 return ms
8181 }
8182 return mi.MessageOf(x)
8183}
8184
8185// Deprecated: Use OfpTableFeaturePropInstructions.ProtoReflect.Descriptor instead.
8186func (*OfpTableFeaturePropInstructions) Descriptor() ([]byte, []int) {
8187 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{51}
8188}
8189
8190func (x *OfpTableFeaturePropInstructions) GetInstructions() []*OfpInstruction {
8191 if x != nil {
8192 return x.Instructions
8193 }
8194 return nil
8195}
8196
8197// Next Tables property
8198type OfpTableFeaturePropNextTables struct {
8199 state protoimpl.MessageState `protogen:"open.v1"`
8200 // One of OFPTFPT_NEXT_TABLES,
8201 // OFPTFPT_NEXT_TABLES_MISS.
8202 NextTableIds []uint32 `protobuf:"varint,1,rep,packed,name=next_table_ids,json=nextTableIds,proto3" json:"next_table_ids,omitempty"` // List of table ids.
8203 unknownFields protoimpl.UnknownFields
8204 sizeCache protoimpl.SizeCache
8205}
8206
8207func (x *OfpTableFeaturePropNextTables) Reset() {
8208 *x = OfpTableFeaturePropNextTables{}
8209 mi := &file_voltha_protos_openflow_13_proto_msgTypes[52]
8210 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8211 ms.StoreMessageInfo(mi)
8212}
8213
8214func (x *OfpTableFeaturePropNextTables) String() string {
8215 return protoimpl.X.MessageStringOf(x)
8216}
8217
8218func (*OfpTableFeaturePropNextTables) ProtoMessage() {}
8219
8220func (x *OfpTableFeaturePropNextTables) ProtoReflect() protoreflect.Message {
8221 mi := &file_voltha_protos_openflow_13_proto_msgTypes[52]
8222 if x != nil {
8223 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8224 if ms.LoadMessageInfo() == nil {
8225 ms.StoreMessageInfo(mi)
8226 }
8227 return ms
8228 }
8229 return mi.MessageOf(x)
8230}
8231
8232// Deprecated: Use OfpTableFeaturePropNextTables.ProtoReflect.Descriptor instead.
8233func (*OfpTableFeaturePropNextTables) Descriptor() ([]byte, []int) {
8234 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{52}
8235}
8236
8237func (x *OfpTableFeaturePropNextTables) GetNextTableIds() []uint32 {
8238 if x != nil {
8239 return x.NextTableIds
8240 }
8241 return nil
8242}
8243
8244// Actions property
8245type OfpTableFeaturePropActions struct {
8246 state protoimpl.MessageState `protogen:"open.v1"`
8247 // One of OFPTFPT_WRITE_ACTIONS,
8248 // OFPTFPT_WRITE_ACTIONS_MISS,
8249 // OFPTFPT_APPLY_ACTIONS,
8250 // OFPTFPT_APPLY_ACTIONS_MISS.
8251 Actions []*OfpAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` // List of actions
8252 unknownFields protoimpl.UnknownFields
8253 sizeCache protoimpl.SizeCache
8254}
8255
8256func (x *OfpTableFeaturePropActions) Reset() {
8257 *x = OfpTableFeaturePropActions{}
8258 mi := &file_voltha_protos_openflow_13_proto_msgTypes[53]
8259 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8260 ms.StoreMessageInfo(mi)
8261}
8262
8263func (x *OfpTableFeaturePropActions) String() string {
8264 return protoimpl.X.MessageStringOf(x)
8265}
8266
8267func (*OfpTableFeaturePropActions) ProtoMessage() {}
8268
8269func (x *OfpTableFeaturePropActions) ProtoReflect() protoreflect.Message {
8270 mi := &file_voltha_protos_openflow_13_proto_msgTypes[53]
8271 if x != nil {
8272 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8273 if ms.LoadMessageInfo() == nil {
8274 ms.StoreMessageInfo(mi)
8275 }
8276 return ms
8277 }
8278 return mi.MessageOf(x)
8279}
8280
8281// Deprecated: Use OfpTableFeaturePropActions.ProtoReflect.Descriptor instead.
8282func (*OfpTableFeaturePropActions) Descriptor() ([]byte, []int) {
8283 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{53}
8284}
8285
8286func (x *OfpTableFeaturePropActions) GetActions() []*OfpAction {
8287 if x != nil {
8288 return x.Actions
8289 }
8290 return nil
8291}
8292
8293// Match, Wildcard or Set-Field property
8294type OfpTableFeaturePropOxm struct {
8295 state protoimpl.MessageState `protogen:"open.v1"`
8296 // TODO is this a uint32???
8297 OxmIds []uint32 `protobuf:"varint,3,rep,packed,name=oxm_ids,json=oxmIds,proto3" json:"oxm_ids,omitempty"` // Array of OXM headers
8298 unknownFields protoimpl.UnknownFields
8299 sizeCache protoimpl.SizeCache
8300}
8301
8302func (x *OfpTableFeaturePropOxm) Reset() {
8303 *x = OfpTableFeaturePropOxm{}
8304 mi := &file_voltha_protos_openflow_13_proto_msgTypes[54]
8305 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8306 ms.StoreMessageInfo(mi)
8307}
8308
8309func (x *OfpTableFeaturePropOxm) String() string {
8310 return protoimpl.X.MessageStringOf(x)
8311}
8312
8313func (*OfpTableFeaturePropOxm) ProtoMessage() {}
8314
8315func (x *OfpTableFeaturePropOxm) ProtoReflect() protoreflect.Message {
8316 mi := &file_voltha_protos_openflow_13_proto_msgTypes[54]
8317 if x != nil {
8318 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8319 if ms.LoadMessageInfo() == nil {
8320 ms.StoreMessageInfo(mi)
8321 }
8322 return ms
8323 }
8324 return mi.MessageOf(x)
8325}
8326
8327// Deprecated: Use OfpTableFeaturePropOxm.ProtoReflect.Descriptor instead.
8328func (*OfpTableFeaturePropOxm) Descriptor() ([]byte, []int) {
8329 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{54}
8330}
8331
8332func (x *OfpTableFeaturePropOxm) GetOxmIds() []uint32 {
8333 if x != nil {
8334 return x.OxmIds
8335 }
8336 return nil
8337}
8338
8339// Experimenter table feature property
8340type OfpTableFeaturePropExperimenter struct {
8341 state protoimpl.MessageState `protogen:"open.v1"`
8342 // One of OFPTFPT_EXPERIMENTER,
8343 // OFPTFPT_EXPERIMENTER_MISS.
8344 Experimenter uint32 `protobuf:"varint,2,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
8345 ExpType uint32 `protobuf:"varint,3,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"` // Experimenter defined.
8346 ExperimenterData []uint32 `protobuf:"varint,4,rep,packed,name=experimenter_data,json=experimenterData,proto3" json:"experimenter_data,omitempty"`
8347 unknownFields protoimpl.UnknownFields
8348 sizeCache protoimpl.SizeCache
8349}
8350
8351func (x *OfpTableFeaturePropExperimenter) Reset() {
8352 *x = OfpTableFeaturePropExperimenter{}
8353 mi := &file_voltha_protos_openflow_13_proto_msgTypes[55]
8354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8355 ms.StoreMessageInfo(mi)
8356}
8357
8358func (x *OfpTableFeaturePropExperimenter) String() string {
8359 return protoimpl.X.MessageStringOf(x)
8360}
8361
8362func (*OfpTableFeaturePropExperimenter) ProtoMessage() {}
8363
8364func (x *OfpTableFeaturePropExperimenter) ProtoReflect() protoreflect.Message {
8365 mi := &file_voltha_protos_openflow_13_proto_msgTypes[55]
8366 if x != nil {
8367 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8368 if ms.LoadMessageInfo() == nil {
8369 ms.StoreMessageInfo(mi)
8370 }
8371 return ms
8372 }
8373 return mi.MessageOf(x)
8374}
8375
8376// Deprecated: Use OfpTableFeaturePropExperimenter.ProtoReflect.Descriptor instead.
8377func (*OfpTableFeaturePropExperimenter) Descriptor() ([]byte, []int) {
8378 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{55}
8379}
8380
8381func (x *OfpTableFeaturePropExperimenter) GetExperimenter() uint32 {
8382 if x != nil {
8383 return x.Experimenter
8384 }
8385 return 0
8386}
8387
8388func (x *OfpTableFeaturePropExperimenter) GetExpType() uint32 {
8389 if x != nil {
8390 return x.ExpType
8391 }
8392 return 0
8393}
8394
8395func (x *OfpTableFeaturePropExperimenter) GetExperimenterData() []uint32 {
8396 if x != nil {
8397 return x.ExperimenterData
8398 }
8399 return nil
8400}
8401
8402// Body for ofp_multipart_request of type OFPMP_TABLE_FEATURES./
8403// Body of reply to OFPMP_TABLE_FEATURES request.
8404type OfpTableFeatures struct {
8405 state protoimpl.MessageState `protogen:"open.v1"`
8406 TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
8407 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
8408 MetadataMatch uint64 `protobuf:"varint,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // Bits of metadata table can match.
8409 MetadataWrite uint64 `protobuf:"varint,4,opt,name=metadata_write,json=metadataWrite,proto3" json:"metadata_write,omitempty"` // Bits of metadata table can write.
8410 Config uint32 `protobuf:"varint,5,opt,name=config,proto3" json:"config,omitempty"` // Bitmap of OFPTC_* values
8411 MaxEntries uint32 `protobuf:"varint,6,opt,name=max_entries,json=maxEntries,proto3" json:"max_entries,omitempty"` // Max number of entries supported.
8412 // Table Feature Property list
8413 Properties []*OfpTableFeatureProperty `protobuf:"bytes,7,rep,name=properties,proto3" json:"properties,omitempty"`
8414 unknownFields protoimpl.UnknownFields
8415 sizeCache protoimpl.SizeCache
8416}
8417
8418func (x *OfpTableFeatures) Reset() {
8419 *x = OfpTableFeatures{}
8420 mi := &file_voltha_protos_openflow_13_proto_msgTypes[56]
8421 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8422 ms.StoreMessageInfo(mi)
8423}
8424
8425func (x *OfpTableFeatures) String() string {
8426 return protoimpl.X.MessageStringOf(x)
8427}
8428
8429func (*OfpTableFeatures) ProtoMessage() {}
8430
8431func (x *OfpTableFeatures) ProtoReflect() protoreflect.Message {
8432 mi := &file_voltha_protos_openflow_13_proto_msgTypes[56]
8433 if x != nil {
8434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8435 if ms.LoadMessageInfo() == nil {
8436 ms.StoreMessageInfo(mi)
8437 }
8438 return ms
8439 }
8440 return mi.MessageOf(x)
8441}
8442
8443// Deprecated: Use OfpTableFeatures.ProtoReflect.Descriptor instead.
8444func (*OfpTableFeatures) Descriptor() ([]byte, []int) {
8445 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{56}
8446}
8447
8448func (x *OfpTableFeatures) GetTableId() uint32 {
8449 if x != nil {
8450 return x.TableId
8451 }
8452 return 0
8453}
8454
8455func (x *OfpTableFeatures) GetName() string {
8456 if x != nil {
8457 return x.Name
8458 }
8459 return ""
8460}
8461
8462func (x *OfpTableFeatures) GetMetadataMatch() uint64 {
8463 if x != nil {
8464 return x.MetadataMatch
8465 }
8466 return 0
8467}
8468
8469func (x *OfpTableFeatures) GetMetadataWrite() uint64 {
8470 if x != nil {
8471 return x.MetadataWrite
8472 }
8473 return 0
8474}
8475
8476func (x *OfpTableFeatures) GetConfig() uint32 {
8477 if x != nil {
8478 return x.Config
8479 }
8480 return 0
8481}
8482
8483func (x *OfpTableFeatures) GetMaxEntries() uint32 {
8484 if x != nil {
8485 return x.MaxEntries
8486 }
8487 return 0
8488}
8489
8490func (x *OfpTableFeatures) GetProperties() []*OfpTableFeatureProperty {
8491 if x != nil {
8492 return x.Properties
8493 }
8494 return nil
8495}
8496
8497// Body of reply to OFPMP_TABLE request.
8498type OfpTableStats struct {
8499 state protoimpl.MessageState `protogen:"open.v1"`
8500 TableId uint32 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
8501 ActiveCount uint32 `protobuf:"varint,2,opt,name=active_count,json=activeCount,proto3" json:"active_count,omitempty"` // Number of active entries.
8502 LookupCount uint64 `protobuf:"varint,3,opt,name=lookup_count,json=lookupCount,proto3" json:"lookup_count,omitempty"` // Number of packets looked up in table.
8503 MatchedCount uint64 `protobuf:"varint,4,opt,name=matched_count,json=matchedCount,proto3" json:"matched_count,omitempty"` // Number of packets that hit table.
8504 unknownFields protoimpl.UnknownFields
8505 sizeCache protoimpl.SizeCache
8506}
8507
8508func (x *OfpTableStats) Reset() {
8509 *x = OfpTableStats{}
8510 mi := &file_voltha_protos_openflow_13_proto_msgTypes[57]
8511 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8512 ms.StoreMessageInfo(mi)
8513}
8514
8515func (x *OfpTableStats) String() string {
8516 return protoimpl.X.MessageStringOf(x)
8517}
8518
8519func (*OfpTableStats) ProtoMessage() {}
8520
8521func (x *OfpTableStats) ProtoReflect() protoreflect.Message {
8522 mi := &file_voltha_protos_openflow_13_proto_msgTypes[57]
8523 if x != nil {
8524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8525 if ms.LoadMessageInfo() == nil {
8526 ms.StoreMessageInfo(mi)
8527 }
8528 return ms
8529 }
8530 return mi.MessageOf(x)
8531}
8532
8533// Deprecated: Use OfpTableStats.ProtoReflect.Descriptor instead.
8534func (*OfpTableStats) Descriptor() ([]byte, []int) {
8535 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{57}
8536}
8537
8538func (x *OfpTableStats) GetTableId() uint32 {
8539 if x != nil {
8540 return x.TableId
8541 }
8542 return 0
8543}
8544
8545func (x *OfpTableStats) GetActiveCount() uint32 {
8546 if x != nil {
8547 return x.ActiveCount
8548 }
8549 return 0
8550}
8551
8552func (x *OfpTableStats) GetLookupCount() uint64 {
8553 if x != nil {
8554 return x.LookupCount
8555 }
8556 return 0
8557}
8558
8559func (x *OfpTableStats) GetMatchedCount() uint64 {
8560 if x != nil {
8561 return x.MatchedCount
8562 }
8563 return 0
8564}
8565
8566// Body for ofp_multipart_request of type OFPMP_PORT.
8567type OfpPortStatsRequest struct {
8568 state protoimpl.MessageState `protogen:"open.v1"`
8569 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
8570 unknownFields protoimpl.UnknownFields
8571 sizeCache protoimpl.SizeCache
8572}
8573
8574func (x *OfpPortStatsRequest) Reset() {
8575 *x = OfpPortStatsRequest{}
8576 mi := &file_voltha_protos_openflow_13_proto_msgTypes[58]
8577 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8578 ms.StoreMessageInfo(mi)
8579}
8580
8581func (x *OfpPortStatsRequest) String() string {
8582 return protoimpl.X.MessageStringOf(x)
8583}
8584
8585func (*OfpPortStatsRequest) ProtoMessage() {}
8586
8587func (x *OfpPortStatsRequest) ProtoReflect() protoreflect.Message {
8588 mi := &file_voltha_protos_openflow_13_proto_msgTypes[58]
8589 if x != nil {
8590 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8591 if ms.LoadMessageInfo() == nil {
8592 ms.StoreMessageInfo(mi)
8593 }
8594 return ms
8595 }
8596 return mi.MessageOf(x)
8597}
8598
8599// Deprecated: Use OfpPortStatsRequest.ProtoReflect.Descriptor instead.
8600func (*OfpPortStatsRequest) Descriptor() ([]byte, []int) {
8601 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{58}
8602}
8603
8604func (x *OfpPortStatsRequest) GetPortNo() uint32 {
8605 if x != nil {
8606 return x.PortNo
8607 }
8608 return 0
8609}
8610
8611// Body of reply to OFPMP_PORT request. If a counter is unsupported, set
8612// the field to all ones.
8613type OfpPortStats struct {
8614 state protoimpl.MessageState `protogen:"open.v1"`
8615 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
8616 RxPackets uint64 `protobuf:"varint,2,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"` // Number of received packets.
8617 TxPackets uint64 `protobuf:"varint,3,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"` // Number of transmitted packets.
8618 RxBytes uint64 `protobuf:"varint,4,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"` // Number of received bytes.
8619 TxBytes uint64 `protobuf:"varint,5,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"` // Number of transmitted bytes.
8620 RxDropped uint64 `protobuf:"varint,6,opt,name=rx_dropped,json=rxDropped,proto3" json:"rx_dropped,omitempty"` // Number of packets dropped by RX.
8621 TxDropped uint64 `protobuf:"varint,7,opt,name=tx_dropped,json=txDropped,proto3" json:"tx_dropped,omitempty"` // Number of packets dropped by TX.
8622 RxErrors uint64 `protobuf:"varint,8,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
8623 TxErrors uint64 `protobuf:"varint,9,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
8624 RxFrameErr uint64 `protobuf:"varint,10,opt,name=rx_frame_err,json=rxFrameErr,proto3" json:"rx_frame_err,omitempty"` // Number of frame alignment errors.
8625 RxOverErr uint64 `protobuf:"varint,11,opt,name=rx_over_err,json=rxOverErr,proto3" json:"rx_over_err,omitempty"` // Number of packets with RX overrun.
8626 RxCrcErr uint64 `protobuf:"varint,12,opt,name=rx_crc_err,json=rxCrcErr,proto3" json:"rx_crc_err,omitempty"` // Number of CRC errors.
8627 Collisions uint64 `protobuf:"varint,13,opt,name=collisions,proto3" json:"collisions,omitempty"` // Number of collisions.
8628 DurationSec uint32 `protobuf:"varint,14,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"` // Time port has been alive in seconds.
8629 DurationNsec uint32 `protobuf:"varint,15,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
8630 unknownFields protoimpl.UnknownFields
8631 sizeCache protoimpl.SizeCache
8632}
8633
8634func (x *OfpPortStats) Reset() {
8635 *x = OfpPortStats{}
8636 mi := &file_voltha_protos_openflow_13_proto_msgTypes[59]
8637 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8638 ms.StoreMessageInfo(mi)
8639}
8640
8641func (x *OfpPortStats) String() string {
8642 return protoimpl.X.MessageStringOf(x)
8643}
8644
8645func (*OfpPortStats) ProtoMessage() {}
8646
8647func (x *OfpPortStats) ProtoReflect() protoreflect.Message {
8648 mi := &file_voltha_protos_openflow_13_proto_msgTypes[59]
8649 if x != nil {
8650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8651 if ms.LoadMessageInfo() == nil {
8652 ms.StoreMessageInfo(mi)
8653 }
8654 return ms
8655 }
8656 return mi.MessageOf(x)
8657}
8658
8659// Deprecated: Use OfpPortStats.ProtoReflect.Descriptor instead.
8660func (*OfpPortStats) Descriptor() ([]byte, []int) {
8661 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{59}
8662}
8663
8664func (x *OfpPortStats) GetPortNo() uint32 {
8665 if x != nil {
8666 return x.PortNo
8667 }
8668 return 0
8669}
8670
8671func (x *OfpPortStats) GetRxPackets() uint64 {
8672 if x != nil {
8673 return x.RxPackets
8674 }
8675 return 0
8676}
8677
8678func (x *OfpPortStats) GetTxPackets() uint64 {
8679 if x != nil {
8680 return x.TxPackets
8681 }
8682 return 0
8683}
8684
8685func (x *OfpPortStats) GetRxBytes() uint64 {
8686 if x != nil {
8687 return x.RxBytes
8688 }
8689 return 0
8690}
8691
8692func (x *OfpPortStats) GetTxBytes() uint64 {
8693 if x != nil {
8694 return x.TxBytes
8695 }
8696 return 0
8697}
8698
8699func (x *OfpPortStats) GetRxDropped() uint64 {
8700 if x != nil {
8701 return x.RxDropped
8702 }
8703 return 0
8704}
8705
8706func (x *OfpPortStats) GetTxDropped() uint64 {
8707 if x != nil {
8708 return x.TxDropped
8709 }
8710 return 0
8711}
8712
8713func (x *OfpPortStats) GetRxErrors() uint64 {
8714 if x != nil {
8715 return x.RxErrors
8716 }
8717 return 0
8718}
8719
8720func (x *OfpPortStats) GetTxErrors() uint64 {
8721 if x != nil {
8722 return x.TxErrors
8723 }
8724 return 0
8725}
8726
8727func (x *OfpPortStats) GetRxFrameErr() uint64 {
8728 if x != nil {
8729 return x.RxFrameErr
8730 }
8731 return 0
8732}
8733
8734func (x *OfpPortStats) GetRxOverErr() uint64 {
8735 if x != nil {
8736 return x.RxOverErr
8737 }
8738 return 0
8739}
8740
8741func (x *OfpPortStats) GetRxCrcErr() uint64 {
8742 if x != nil {
8743 return x.RxCrcErr
8744 }
8745 return 0
8746}
8747
8748func (x *OfpPortStats) GetCollisions() uint64 {
8749 if x != nil {
8750 return x.Collisions
8751 }
8752 return 0
8753}
8754
8755func (x *OfpPortStats) GetDurationSec() uint32 {
8756 if x != nil {
8757 return x.DurationSec
8758 }
8759 return 0
8760}
8761
8762func (x *OfpPortStats) GetDurationNsec() uint32 {
8763 if x != nil {
8764 return x.DurationNsec
8765 }
8766 return 0
8767}
8768
8769// Body of OFPMP_GROUP request.
8770type OfpGroupStatsRequest struct {
8771 state protoimpl.MessageState `protogen:"open.v1"`
8772 GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // All groups if OFPG_ALL.
8773 unknownFields protoimpl.UnknownFields
8774 sizeCache protoimpl.SizeCache
8775}
8776
8777func (x *OfpGroupStatsRequest) Reset() {
8778 *x = OfpGroupStatsRequest{}
8779 mi := &file_voltha_protos_openflow_13_proto_msgTypes[60]
8780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8781 ms.StoreMessageInfo(mi)
8782}
8783
8784func (x *OfpGroupStatsRequest) String() string {
8785 return protoimpl.X.MessageStringOf(x)
8786}
8787
8788func (*OfpGroupStatsRequest) ProtoMessage() {}
8789
8790func (x *OfpGroupStatsRequest) ProtoReflect() protoreflect.Message {
8791 mi := &file_voltha_protos_openflow_13_proto_msgTypes[60]
8792 if x != nil {
8793 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8794 if ms.LoadMessageInfo() == nil {
8795 ms.StoreMessageInfo(mi)
8796 }
8797 return ms
8798 }
8799 return mi.MessageOf(x)
8800}
8801
8802// Deprecated: Use OfpGroupStatsRequest.ProtoReflect.Descriptor instead.
8803func (*OfpGroupStatsRequest) Descriptor() ([]byte, []int) {
8804 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{60}
8805}
8806
8807func (x *OfpGroupStatsRequest) GetGroupId() uint32 {
8808 if x != nil {
8809 return x.GroupId
8810 }
8811 return 0
8812}
8813
8814// Used in group stats replies.
8815type OfpBucketCounter struct {
8816 state protoimpl.MessageState `protogen:"open.v1"`
8817 PacketCount uint64 `protobuf:"varint,1,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"` // Number of packets processed by bucket.
8818 ByteCount uint64 `protobuf:"varint,2,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"` // Number of bytes processed by bucket.
8819 unknownFields protoimpl.UnknownFields
8820 sizeCache protoimpl.SizeCache
8821}
8822
8823func (x *OfpBucketCounter) Reset() {
8824 *x = OfpBucketCounter{}
8825 mi := &file_voltha_protos_openflow_13_proto_msgTypes[61]
8826 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8827 ms.StoreMessageInfo(mi)
8828}
8829
8830func (x *OfpBucketCounter) String() string {
8831 return protoimpl.X.MessageStringOf(x)
8832}
8833
8834func (*OfpBucketCounter) ProtoMessage() {}
8835
8836func (x *OfpBucketCounter) ProtoReflect() protoreflect.Message {
8837 mi := &file_voltha_protos_openflow_13_proto_msgTypes[61]
8838 if x != nil {
8839 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8840 if ms.LoadMessageInfo() == nil {
8841 ms.StoreMessageInfo(mi)
8842 }
8843 return ms
8844 }
8845 return mi.MessageOf(x)
8846}
8847
8848// Deprecated: Use OfpBucketCounter.ProtoReflect.Descriptor instead.
8849func (*OfpBucketCounter) Descriptor() ([]byte, []int) {
8850 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{61}
8851}
8852
8853func (x *OfpBucketCounter) GetPacketCount() uint64 {
8854 if x != nil {
8855 return x.PacketCount
8856 }
8857 return 0
8858}
8859
8860func (x *OfpBucketCounter) GetByteCount() uint64 {
8861 if x != nil {
8862 return x.ByteCount
8863 }
8864 return 0
8865}
8866
8867// Body of reply to OFPMP_GROUP request.
8868type OfpGroupStats struct {
8869 state protoimpl.MessageState `protogen:"open.v1"`
8870 GroupId uint32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // Group identifier.
8871 RefCount uint32 `protobuf:"varint,2,opt,name=ref_count,json=refCount,proto3" json:"ref_count,omitempty"`
8872 PacketCount uint64 `protobuf:"varint,3,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"` // Number of packets processed by group.
8873 ByteCount uint64 `protobuf:"varint,4,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"` // Number of bytes processed by group.
8874 DurationSec uint32 `protobuf:"varint,5,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"` // Time group has been alive in seconds.
8875 DurationNsec uint32 `protobuf:"varint,6,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
8876 BucketStats []*OfpBucketCounter `protobuf:"bytes,7,rep,name=bucket_stats,json=bucketStats,proto3" json:"bucket_stats,omitempty"`
8877 unknownFields protoimpl.UnknownFields
8878 sizeCache protoimpl.SizeCache
8879}
8880
8881func (x *OfpGroupStats) Reset() {
8882 *x = OfpGroupStats{}
8883 mi := &file_voltha_protos_openflow_13_proto_msgTypes[62]
8884 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8885 ms.StoreMessageInfo(mi)
8886}
8887
8888func (x *OfpGroupStats) String() string {
8889 return protoimpl.X.MessageStringOf(x)
8890}
8891
8892func (*OfpGroupStats) ProtoMessage() {}
8893
8894func (x *OfpGroupStats) ProtoReflect() protoreflect.Message {
8895 mi := &file_voltha_protos_openflow_13_proto_msgTypes[62]
8896 if x != nil {
8897 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8898 if ms.LoadMessageInfo() == nil {
8899 ms.StoreMessageInfo(mi)
8900 }
8901 return ms
8902 }
8903 return mi.MessageOf(x)
8904}
8905
8906// Deprecated: Use OfpGroupStats.ProtoReflect.Descriptor instead.
8907func (*OfpGroupStats) Descriptor() ([]byte, []int) {
8908 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{62}
8909}
8910
8911func (x *OfpGroupStats) GetGroupId() uint32 {
8912 if x != nil {
8913 return x.GroupId
8914 }
8915 return 0
8916}
8917
8918func (x *OfpGroupStats) GetRefCount() uint32 {
8919 if x != nil {
8920 return x.RefCount
8921 }
8922 return 0
8923}
8924
8925func (x *OfpGroupStats) GetPacketCount() uint64 {
8926 if x != nil {
8927 return x.PacketCount
8928 }
8929 return 0
8930}
8931
8932func (x *OfpGroupStats) GetByteCount() uint64 {
8933 if x != nil {
8934 return x.ByteCount
8935 }
8936 return 0
8937}
8938
8939func (x *OfpGroupStats) GetDurationSec() uint32 {
8940 if x != nil {
8941 return x.DurationSec
8942 }
8943 return 0
8944}
8945
8946func (x *OfpGroupStats) GetDurationNsec() uint32 {
8947 if x != nil {
8948 return x.DurationNsec
8949 }
8950 return 0
8951}
8952
8953func (x *OfpGroupStats) GetBucketStats() []*OfpBucketCounter {
8954 if x != nil {
8955 return x.BucketStats
8956 }
8957 return nil
8958}
8959
8960// Body of reply to OFPMP_GROUP_DESC request.
8961type OfpGroupDesc struct {
8962 state protoimpl.MessageState `protogen:"open.v1"`
8963 Type OfpGroupType `protobuf:"varint,1,opt,name=type,proto3,enum=openflow_13.OfpGroupType" json:"type,omitempty"` // One of OFPGT_*.
8964 GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // Group identifier.
8965 Buckets []*OfpBucket `protobuf:"bytes,3,rep,name=buckets,proto3" json:"buckets,omitempty"` // List of buckets - 0 or more.
8966 unknownFields protoimpl.UnknownFields
8967 sizeCache protoimpl.SizeCache
8968}
8969
8970func (x *OfpGroupDesc) Reset() {
8971 *x = OfpGroupDesc{}
8972 mi := &file_voltha_protos_openflow_13_proto_msgTypes[63]
8973 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8974 ms.StoreMessageInfo(mi)
8975}
8976
8977func (x *OfpGroupDesc) String() string {
8978 return protoimpl.X.MessageStringOf(x)
8979}
8980
8981func (*OfpGroupDesc) ProtoMessage() {}
8982
8983func (x *OfpGroupDesc) ProtoReflect() protoreflect.Message {
8984 mi := &file_voltha_protos_openflow_13_proto_msgTypes[63]
8985 if x != nil {
8986 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8987 if ms.LoadMessageInfo() == nil {
8988 ms.StoreMessageInfo(mi)
8989 }
8990 return ms
8991 }
8992 return mi.MessageOf(x)
8993}
8994
8995// Deprecated: Use OfpGroupDesc.ProtoReflect.Descriptor instead.
8996func (*OfpGroupDesc) Descriptor() ([]byte, []int) {
8997 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{63}
8998}
8999
9000func (x *OfpGroupDesc) GetType() OfpGroupType {
9001 if x != nil {
9002 return x.Type
9003 }
9004 return OfpGroupType_OFPGT_ALL
9005}
9006
9007func (x *OfpGroupDesc) GetGroupId() uint32 {
9008 if x != nil {
9009 return x.GroupId
9010 }
9011 return 0
9012}
9013
9014func (x *OfpGroupDesc) GetBuckets() []*OfpBucket {
9015 if x != nil {
9016 return x.Buckets
9017 }
9018 return nil
9019}
9020
9021type OfpGroupEntry struct {
9022 state protoimpl.MessageState `protogen:"open.v1"`
9023 Desc *OfpGroupDesc `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"`
9024 Stats *OfpGroupStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
9025 unknownFields protoimpl.UnknownFields
9026 sizeCache protoimpl.SizeCache
9027}
9028
9029func (x *OfpGroupEntry) Reset() {
9030 *x = OfpGroupEntry{}
9031 mi := &file_voltha_protos_openflow_13_proto_msgTypes[64]
9032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9033 ms.StoreMessageInfo(mi)
9034}
9035
9036func (x *OfpGroupEntry) String() string {
9037 return protoimpl.X.MessageStringOf(x)
9038}
9039
9040func (*OfpGroupEntry) ProtoMessage() {}
9041
9042func (x *OfpGroupEntry) ProtoReflect() protoreflect.Message {
9043 mi := &file_voltha_protos_openflow_13_proto_msgTypes[64]
9044 if x != nil {
9045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9046 if ms.LoadMessageInfo() == nil {
9047 ms.StoreMessageInfo(mi)
9048 }
9049 return ms
9050 }
9051 return mi.MessageOf(x)
9052}
9053
9054// Deprecated: Use OfpGroupEntry.ProtoReflect.Descriptor instead.
9055func (*OfpGroupEntry) Descriptor() ([]byte, []int) {
9056 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{64}
9057}
9058
9059func (x *OfpGroupEntry) GetDesc() *OfpGroupDesc {
9060 if x != nil {
9061 return x.Desc
9062 }
9063 return nil
9064}
9065
9066func (x *OfpGroupEntry) GetStats() *OfpGroupStats {
9067 if x != nil {
9068 return x.Stats
9069 }
9070 return nil
9071}
9072
9073// Body of reply to OFPMP_GROUP_FEATURES request. Group features.
9074type OfpGroupFeatures struct {
9075 state protoimpl.MessageState `protogen:"open.v1"`
9076 Types uint32 `protobuf:"varint,1,opt,name=types,proto3" json:"types,omitempty"` // Bitmap of (1 << OFPGT_*) values supported.
9077 Capabilities uint32 `protobuf:"varint,2,opt,name=capabilities,proto3" json:"capabilities,omitempty"` // Bitmap of OFPGFC_* capability supported.
9078 MaxGroups []uint32 `protobuf:"varint,3,rep,packed,name=max_groups,json=maxGroups,proto3" json:"max_groups,omitempty"` // Maximum number of groups for each type.
9079 Actions []uint32 `protobuf:"varint,4,rep,packed,name=actions,proto3" json:"actions,omitempty"`
9080 unknownFields protoimpl.UnknownFields
9081 sizeCache protoimpl.SizeCache
9082}
9083
9084func (x *OfpGroupFeatures) Reset() {
9085 *x = OfpGroupFeatures{}
9086 mi := &file_voltha_protos_openflow_13_proto_msgTypes[65]
9087 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9088 ms.StoreMessageInfo(mi)
9089}
9090
9091func (x *OfpGroupFeatures) String() string {
9092 return protoimpl.X.MessageStringOf(x)
9093}
9094
9095func (*OfpGroupFeatures) ProtoMessage() {}
9096
9097func (x *OfpGroupFeatures) ProtoReflect() protoreflect.Message {
9098 mi := &file_voltha_protos_openflow_13_proto_msgTypes[65]
9099 if x != nil {
9100 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9101 if ms.LoadMessageInfo() == nil {
9102 ms.StoreMessageInfo(mi)
9103 }
9104 return ms
9105 }
9106 return mi.MessageOf(x)
9107}
9108
9109// Deprecated: Use OfpGroupFeatures.ProtoReflect.Descriptor instead.
9110func (*OfpGroupFeatures) Descriptor() ([]byte, []int) {
9111 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{65}
9112}
9113
9114func (x *OfpGroupFeatures) GetTypes() uint32 {
9115 if x != nil {
9116 return x.Types
9117 }
9118 return 0
9119}
9120
9121func (x *OfpGroupFeatures) GetCapabilities() uint32 {
9122 if x != nil {
9123 return x.Capabilities
9124 }
9125 return 0
9126}
9127
9128func (x *OfpGroupFeatures) GetMaxGroups() []uint32 {
9129 if x != nil {
9130 return x.MaxGroups
9131 }
9132 return nil
9133}
9134
9135func (x *OfpGroupFeatures) GetActions() []uint32 {
9136 if x != nil {
9137 return x.Actions
9138 }
9139 return nil
9140}
9141
9142// Body of OFPMP_METER and OFPMP_METER_CONFIG requests.
9143type OfpMeterMultipartRequest struct {
9144 state protoimpl.MessageState `protogen:"open.v1"`
9145 MeterId uint32 `protobuf:"varint,1,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"` // Meter instance, or OFPM_ALL.
9146 unknownFields protoimpl.UnknownFields
9147 sizeCache protoimpl.SizeCache
9148}
9149
9150func (x *OfpMeterMultipartRequest) Reset() {
9151 *x = OfpMeterMultipartRequest{}
9152 mi := &file_voltha_protos_openflow_13_proto_msgTypes[66]
9153 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9154 ms.StoreMessageInfo(mi)
9155}
9156
9157func (x *OfpMeterMultipartRequest) String() string {
9158 return protoimpl.X.MessageStringOf(x)
9159}
9160
9161func (*OfpMeterMultipartRequest) ProtoMessage() {}
9162
9163func (x *OfpMeterMultipartRequest) ProtoReflect() protoreflect.Message {
9164 mi := &file_voltha_protos_openflow_13_proto_msgTypes[66]
9165 if x != nil {
9166 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9167 if ms.LoadMessageInfo() == nil {
9168 ms.StoreMessageInfo(mi)
9169 }
9170 return ms
9171 }
9172 return mi.MessageOf(x)
9173}
9174
9175// Deprecated: Use OfpMeterMultipartRequest.ProtoReflect.Descriptor instead.
9176func (*OfpMeterMultipartRequest) Descriptor() ([]byte, []int) {
9177 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{66}
9178}
9179
9180func (x *OfpMeterMultipartRequest) GetMeterId() uint32 {
9181 if x != nil {
9182 return x.MeterId
9183 }
9184 return 0
9185}
9186
9187// Statistics for each meter band
9188type OfpMeterBandStats struct {
9189 state protoimpl.MessageState `protogen:"open.v1"`
9190 PacketBandCount uint64 `protobuf:"varint,1,opt,name=packet_band_count,json=packetBandCount,proto3" json:"packet_band_count,omitempty"` // Number of packets in band.
9191 ByteBandCount uint64 `protobuf:"varint,2,opt,name=byte_band_count,json=byteBandCount,proto3" json:"byte_band_count,omitempty"` // Number of bytes in band.
9192 unknownFields protoimpl.UnknownFields
9193 sizeCache protoimpl.SizeCache
9194}
9195
9196func (x *OfpMeterBandStats) Reset() {
9197 *x = OfpMeterBandStats{}
9198 mi := &file_voltha_protos_openflow_13_proto_msgTypes[67]
9199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9200 ms.StoreMessageInfo(mi)
9201}
9202
9203func (x *OfpMeterBandStats) String() string {
9204 return protoimpl.X.MessageStringOf(x)
9205}
9206
9207func (*OfpMeterBandStats) ProtoMessage() {}
9208
9209func (x *OfpMeterBandStats) ProtoReflect() protoreflect.Message {
9210 mi := &file_voltha_protos_openflow_13_proto_msgTypes[67]
9211 if x != nil {
9212 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9213 if ms.LoadMessageInfo() == nil {
9214 ms.StoreMessageInfo(mi)
9215 }
9216 return ms
9217 }
9218 return mi.MessageOf(x)
9219}
9220
9221// Deprecated: Use OfpMeterBandStats.ProtoReflect.Descriptor instead.
9222func (*OfpMeterBandStats) Descriptor() ([]byte, []int) {
9223 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{67}
9224}
9225
9226func (x *OfpMeterBandStats) GetPacketBandCount() uint64 {
9227 if x != nil {
9228 return x.PacketBandCount
9229 }
9230 return 0
9231}
9232
9233func (x *OfpMeterBandStats) GetByteBandCount() uint64 {
9234 if x != nil {
9235 return x.ByteBandCount
9236 }
9237 return 0
9238}
9239
9240// Body of reply to OFPMP_METER request. Meter statistics.
9241type OfpMeterStats struct {
9242 state protoimpl.MessageState `protogen:"open.v1"`
9243 MeterId uint32 `protobuf:"varint,1,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"` // Meter instance.
9244 FlowCount uint32 `protobuf:"varint,2,opt,name=flow_count,json=flowCount,proto3" json:"flow_count,omitempty"` // Number of flows bound to meter.
9245 PacketInCount uint64 `protobuf:"varint,3,opt,name=packet_in_count,json=packetInCount,proto3" json:"packet_in_count,omitempty"` // Number of packets in input.
9246 ByteInCount uint64 `protobuf:"varint,4,opt,name=byte_in_count,json=byteInCount,proto3" json:"byte_in_count,omitempty"` // Number of bytes in input.
9247 DurationSec uint32 `protobuf:"varint,5,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"` // Time meter has been alive in seconds.
9248 DurationNsec uint32 `protobuf:"varint,6,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
9249 BandStats []*OfpMeterBandStats `protobuf:"bytes,7,rep,name=band_stats,json=bandStats,proto3" json:"band_stats,omitempty"`
9250 unknownFields protoimpl.UnknownFields
9251 sizeCache protoimpl.SizeCache
9252}
9253
9254func (x *OfpMeterStats) Reset() {
9255 *x = OfpMeterStats{}
9256 mi := &file_voltha_protos_openflow_13_proto_msgTypes[68]
9257 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9258 ms.StoreMessageInfo(mi)
9259}
9260
9261func (x *OfpMeterStats) String() string {
9262 return protoimpl.X.MessageStringOf(x)
9263}
9264
9265func (*OfpMeterStats) ProtoMessage() {}
9266
9267func (x *OfpMeterStats) ProtoReflect() protoreflect.Message {
9268 mi := &file_voltha_protos_openflow_13_proto_msgTypes[68]
9269 if x != nil {
9270 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9271 if ms.LoadMessageInfo() == nil {
9272 ms.StoreMessageInfo(mi)
9273 }
9274 return ms
9275 }
9276 return mi.MessageOf(x)
9277}
9278
9279// Deprecated: Use OfpMeterStats.ProtoReflect.Descriptor instead.
9280func (*OfpMeterStats) Descriptor() ([]byte, []int) {
9281 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{68}
9282}
9283
9284func (x *OfpMeterStats) GetMeterId() uint32 {
9285 if x != nil {
9286 return x.MeterId
9287 }
9288 return 0
9289}
9290
9291func (x *OfpMeterStats) GetFlowCount() uint32 {
9292 if x != nil {
9293 return x.FlowCount
9294 }
9295 return 0
9296}
9297
9298func (x *OfpMeterStats) GetPacketInCount() uint64 {
9299 if x != nil {
9300 return x.PacketInCount
9301 }
9302 return 0
9303}
9304
9305func (x *OfpMeterStats) GetByteInCount() uint64 {
9306 if x != nil {
9307 return x.ByteInCount
9308 }
9309 return 0
9310}
9311
9312func (x *OfpMeterStats) GetDurationSec() uint32 {
9313 if x != nil {
9314 return x.DurationSec
9315 }
9316 return 0
9317}
9318
9319func (x *OfpMeterStats) GetDurationNsec() uint32 {
9320 if x != nil {
9321 return x.DurationNsec
9322 }
9323 return 0
9324}
9325
9326func (x *OfpMeterStats) GetBandStats() []*OfpMeterBandStats {
9327 if x != nil {
9328 return x.BandStats
9329 }
9330 return nil
9331}
9332
9333// Body of reply to OFPMP_METER_CONFIG request. Meter configuration.
9334type OfpMeterConfig struct {
9335 state protoimpl.MessageState `protogen:"open.v1"`
9336 Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` // All OFPMF_* that apply.
9337 MeterId uint32 `protobuf:"varint,2,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"` // Meter instance.
9338 Bands []*OfpMeterBandHeader `protobuf:"bytes,3,rep,name=bands,proto3" json:"bands,omitempty"`
9339 unknownFields protoimpl.UnknownFields
9340 sizeCache protoimpl.SizeCache
9341}
9342
9343func (x *OfpMeterConfig) Reset() {
9344 *x = OfpMeterConfig{}
9345 mi := &file_voltha_protos_openflow_13_proto_msgTypes[69]
9346 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9347 ms.StoreMessageInfo(mi)
9348}
9349
9350func (x *OfpMeterConfig) String() string {
9351 return protoimpl.X.MessageStringOf(x)
9352}
9353
9354func (*OfpMeterConfig) ProtoMessage() {}
9355
9356func (x *OfpMeterConfig) ProtoReflect() protoreflect.Message {
9357 mi := &file_voltha_protos_openflow_13_proto_msgTypes[69]
9358 if x != nil {
9359 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9360 if ms.LoadMessageInfo() == nil {
9361 ms.StoreMessageInfo(mi)
9362 }
9363 return ms
9364 }
9365 return mi.MessageOf(x)
9366}
9367
9368// Deprecated: Use OfpMeterConfig.ProtoReflect.Descriptor instead.
9369func (*OfpMeterConfig) Descriptor() ([]byte, []int) {
9370 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{69}
9371}
9372
9373func (x *OfpMeterConfig) GetFlags() uint32 {
9374 if x != nil {
9375 return x.Flags
9376 }
9377 return 0
9378}
9379
9380func (x *OfpMeterConfig) GetMeterId() uint32 {
9381 if x != nil {
9382 return x.MeterId
9383 }
9384 return 0
9385}
9386
9387func (x *OfpMeterConfig) GetBands() []*OfpMeterBandHeader {
9388 if x != nil {
9389 return x.Bands
9390 }
9391 return nil
9392}
9393
9394// Body of reply to OFPMP_METER_FEATURES request. Meter features.
9395type OfpMeterFeatures struct {
9396 state protoimpl.MessageState `protogen:"open.v1"`
9397 MaxMeter uint32 `protobuf:"varint,1,opt,name=max_meter,json=maxMeter,proto3" json:"max_meter,omitempty"` // Maximum number of meters.
9398 BandTypes uint32 `protobuf:"varint,2,opt,name=band_types,json=bandTypes,proto3" json:"band_types,omitempty"` // Bitmaps of (1 << OFPMBT_*) values supported.
9399 Capabilities uint32 `protobuf:"varint,3,opt,name=capabilities,proto3" json:"capabilities,omitempty"` // Bitmaps of "ofp_meter_flags".
9400 MaxBands uint32 `protobuf:"varint,4,opt,name=max_bands,json=maxBands,proto3" json:"max_bands,omitempty"` // Maximum bands per meters
9401 MaxColor uint32 `protobuf:"varint,5,opt,name=max_color,json=maxColor,proto3" json:"max_color,omitempty"` // Maximum color value
9402 unknownFields protoimpl.UnknownFields
9403 sizeCache protoimpl.SizeCache
9404}
9405
9406func (x *OfpMeterFeatures) Reset() {
9407 *x = OfpMeterFeatures{}
9408 mi := &file_voltha_protos_openflow_13_proto_msgTypes[70]
9409 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9410 ms.StoreMessageInfo(mi)
9411}
9412
9413func (x *OfpMeterFeatures) String() string {
9414 return protoimpl.X.MessageStringOf(x)
9415}
9416
9417func (*OfpMeterFeatures) ProtoMessage() {}
9418
9419func (x *OfpMeterFeatures) ProtoReflect() protoreflect.Message {
9420 mi := &file_voltha_protos_openflow_13_proto_msgTypes[70]
9421 if x != nil {
9422 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9423 if ms.LoadMessageInfo() == nil {
9424 ms.StoreMessageInfo(mi)
9425 }
9426 return ms
9427 }
9428 return mi.MessageOf(x)
9429}
9430
9431// Deprecated: Use OfpMeterFeatures.ProtoReflect.Descriptor instead.
9432func (*OfpMeterFeatures) Descriptor() ([]byte, []int) {
9433 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{70}
9434}
9435
9436func (x *OfpMeterFeatures) GetMaxMeter() uint32 {
9437 if x != nil {
9438 return x.MaxMeter
9439 }
9440 return 0
9441}
9442
9443func (x *OfpMeterFeatures) GetBandTypes() uint32 {
9444 if x != nil {
9445 return x.BandTypes
9446 }
9447 return 0
9448}
9449
9450func (x *OfpMeterFeatures) GetCapabilities() uint32 {
9451 if x != nil {
9452 return x.Capabilities
9453 }
9454 return 0
9455}
9456
9457func (x *OfpMeterFeatures) GetMaxBands() uint32 {
9458 if x != nil {
9459 return x.MaxBands
9460 }
9461 return 0
9462}
9463
9464func (x *OfpMeterFeatures) GetMaxColor() uint32 {
9465 if x != nil {
9466 return x.MaxColor
9467 }
9468 return 0
9469}
9470
9471type OfpMeterEntry struct {
9472 state protoimpl.MessageState `protogen:"open.v1"`
9473 Config *OfpMeterConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
9474 Stats *OfpMeterStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
9475 unknownFields protoimpl.UnknownFields
9476 sizeCache protoimpl.SizeCache
9477}
9478
9479func (x *OfpMeterEntry) Reset() {
9480 *x = OfpMeterEntry{}
9481 mi := &file_voltha_protos_openflow_13_proto_msgTypes[71]
9482 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9483 ms.StoreMessageInfo(mi)
9484}
9485
9486func (x *OfpMeterEntry) String() string {
9487 return protoimpl.X.MessageStringOf(x)
9488}
9489
9490func (*OfpMeterEntry) ProtoMessage() {}
9491
9492func (x *OfpMeterEntry) ProtoReflect() protoreflect.Message {
9493 mi := &file_voltha_protos_openflow_13_proto_msgTypes[71]
9494 if x != nil {
9495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9496 if ms.LoadMessageInfo() == nil {
9497 ms.StoreMessageInfo(mi)
9498 }
9499 return ms
9500 }
9501 return mi.MessageOf(x)
9502}
9503
9504// Deprecated: Use OfpMeterEntry.ProtoReflect.Descriptor instead.
9505func (*OfpMeterEntry) Descriptor() ([]byte, []int) {
9506 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{71}
9507}
9508
9509func (x *OfpMeterEntry) GetConfig() *OfpMeterConfig {
9510 if x != nil {
9511 return x.Config
9512 }
9513 return nil
9514}
9515
9516func (x *OfpMeterEntry) GetStats() *OfpMeterStats {
9517 if x != nil {
9518 return x.Stats
9519 }
9520 return nil
9521}
9522
9523// Body for ofp_multipart_request/reply of type OFPMP_EXPERIMENTER.
9524type OfpExperimenterMultipartHeader struct {
9525 state protoimpl.MessageState `protogen:"open.v1"`
9526 Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
9527 ExpType uint32 `protobuf:"varint,2,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"` // Experimenter defined.
9528 Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // Experimenter-defined arbitrary additional data.
9529 unknownFields protoimpl.UnknownFields
9530 sizeCache protoimpl.SizeCache
9531}
9532
9533func (x *OfpExperimenterMultipartHeader) Reset() {
9534 *x = OfpExperimenterMultipartHeader{}
9535 mi := &file_voltha_protos_openflow_13_proto_msgTypes[72]
9536 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9537 ms.StoreMessageInfo(mi)
9538}
9539
9540func (x *OfpExperimenterMultipartHeader) String() string {
9541 return protoimpl.X.MessageStringOf(x)
9542}
9543
9544func (*OfpExperimenterMultipartHeader) ProtoMessage() {}
9545
9546func (x *OfpExperimenterMultipartHeader) ProtoReflect() protoreflect.Message {
9547 mi := &file_voltha_protos_openflow_13_proto_msgTypes[72]
9548 if x != nil {
9549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9550 if ms.LoadMessageInfo() == nil {
9551 ms.StoreMessageInfo(mi)
9552 }
9553 return ms
9554 }
9555 return mi.MessageOf(x)
9556}
9557
9558// Deprecated: Use OfpExperimenterMultipartHeader.ProtoReflect.Descriptor instead.
9559func (*OfpExperimenterMultipartHeader) Descriptor() ([]byte, []int) {
9560 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{72}
9561}
9562
9563func (x *OfpExperimenterMultipartHeader) GetExperimenter() uint32 {
9564 if x != nil {
9565 return x.Experimenter
9566 }
9567 return 0
9568}
9569
9570func (x *OfpExperimenterMultipartHeader) GetExpType() uint32 {
9571 if x != nil {
9572 return x.ExpType
9573 }
9574 return 0
9575}
9576
9577func (x *OfpExperimenterMultipartHeader) GetData() []byte {
9578 if x != nil {
9579 return x.Data
9580 }
9581 return nil
9582}
9583
9584// Experimenter extension.
9585type OfpExperimenterHeader struct {
9586 state protoimpl.MessageState `protogen:"open.v1"`
9587 // ofp_header header; /* Type OFPT_EXPERIMENTER. */
9588 Experimenter uint32 `protobuf:"varint,1,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
9589 ExpType uint32 `protobuf:"varint,2,opt,name=exp_type,json=expType,proto3" json:"exp_type,omitempty"` // Experimenter defined.
9590 Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // Experimenter-defined arbitrary additional data.
9591 unknownFields protoimpl.UnknownFields
9592 sizeCache protoimpl.SizeCache
9593}
9594
9595func (x *OfpExperimenterHeader) Reset() {
9596 *x = OfpExperimenterHeader{}
9597 mi := &file_voltha_protos_openflow_13_proto_msgTypes[73]
9598 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9599 ms.StoreMessageInfo(mi)
9600}
9601
9602func (x *OfpExperimenterHeader) String() string {
9603 return protoimpl.X.MessageStringOf(x)
9604}
9605
9606func (*OfpExperimenterHeader) ProtoMessage() {}
9607
9608func (x *OfpExperimenterHeader) ProtoReflect() protoreflect.Message {
9609 mi := &file_voltha_protos_openflow_13_proto_msgTypes[73]
9610 if x != nil {
9611 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9612 if ms.LoadMessageInfo() == nil {
9613 ms.StoreMessageInfo(mi)
9614 }
9615 return ms
9616 }
9617 return mi.MessageOf(x)
9618}
9619
9620// Deprecated: Use OfpExperimenterHeader.ProtoReflect.Descriptor instead.
9621func (*OfpExperimenterHeader) Descriptor() ([]byte, []int) {
9622 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{73}
9623}
9624
9625func (x *OfpExperimenterHeader) GetExperimenter() uint32 {
9626 if x != nil {
9627 return x.Experimenter
9628 }
9629 return 0
9630}
9631
9632func (x *OfpExperimenterHeader) GetExpType() uint32 {
9633 if x != nil {
9634 return x.ExpType
9635 }
9636 return 0
9637}
9638
9639func (x *OfpExperimenterHeader) GetData() []byte {
9640 if x != nil {
9641 return x.Data
9642 }
9643 return nil
9644}
9645
9646// Common description for a queue.
9647type OfpQueuePropHeader struct {
9648 state protoimpl.MessageState `protogen:"open.v1"`
9649 Property uint32 `protobuf:"varint,1,opt,name=property,proto3" json:"property,omitempty"` // One of OFPQT_.
9650 Len uint32 `protobuf:"varint,2,opt,name=len,proto3" json:"len,omitempty"` // Length of property, including this header.
9651 unknownFields protoimpl.UnknownFields
9652 sizeCache protoimpl.SizeCache
9653}
9654
9655func (x *OfpQueuePropHeader) Reset() {
9656 *x = OfpQueuePropHeader{}
9657 mi := &file_voltha_protos_openflow_13_proto_msgTypes[74]
9658 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9659 ms.StoreMessageInfo(mi)
9660}
9661
9662func (x *OfpQueuePropHeader) String() string {
9663 return protoimpl.X.MessageStringOf(x)
9664}
9665
9666func (*OfpQueuePropHeader) ProtoMessage() {}
9667
9668func (x *OfpQueuePropHeader) ProtoReflect() protoreflect.Message {
9669 mi := &file_voltha_protos_openflow_13_proto_msgTypes[74]
9670 if x != nil {
9671 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9672 if ms.LoadMessageInfo() == nil {
9673 ms.StoreMessageInfo(mi)
9674 }
9675 return ms
9676 }
9677 return mi.MessageOf(x)
9678}
9679
9680// Deprecated: Use OfpQueuePropHeader.ProtoReflect.Descriptor instead.
9681func (*OfpQueuePropHeader) Descriptor() ([]byte, []int) {
9682 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{74}
9683}
9684
9685func (x *OfpQueuePropHeader) GetProperty() uint32 {
9686 if x != nil {
9687 return x.Property
9688 }
9689 return 0
9690}
9691
9692func (x *OfpQueuePropHeader) GetLen() uint32 {
9693 if x != nil {
9694 return x.Len
9695 }
9696 return 0
9697}
9698
9699// Min-Rate queue property description.
9700type OfpQueuePropMinRate struct {
9701 state protoimpl.MessageState `protogen:"open.v1"`
9702 PropHeader *OfpQueuePropHeader `protobuf:"bytes,1,opt,name=prop_header,json=propHeader,proto3" json:"prop_header,omitempty"` // prop: OFPQT_MIN, len: 16.
9703 Rate uint32 `protobuf:"varint,2,opt,name=rate,proto3" json:"rate,omitempty"` // In 1/10 of a percent = 0;>1000 -> disabled.
9704 unknownFields protoimpl.UnknownFields
9705 sizeCache protoimpl.SizeCache
9706}
9707
9708func (x *OfpQueuePropMinRate) Reset() {
9709 *x = OfpQueuePropMinRate{}
9710 mi := &file_voltha_protos_openflow_13_proto_msgTypes[75]
9711 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9712 ms.StoreMessageInfo(mi)
9713}
9714
9715func (x *OfpQueuePropMinRate) String() string {
9716 return protoimpl.X.MessageStringOf(x)
9717}
9718
9719func (*OfpQueuePropMinRate) ProtoMessage() {}
9720
9721func (x *OfpQueuePropMinRate) ProtoReflect() protoreflect.Message {
9722 mi := &file_voltha_protos_openflow_13_proto_msgTypes[75]
9723 if x != nil {
9724 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9725 if ms.LoadMessageInfo() == nil {
9726 ms.StoreMessageInfo(mi)
9727 }
9728 return ms
9729 }
9730 return mi.MessageOf(x)
9731}
9732
9733// Deprecated: Use OfpQueuePropMinRate.ProtoReflect.Descriptor instead.
9734func (*OfpQueuePropMinRate) Descriptor() ([]byte, []int) {
9735 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{75}
9736}
9737
9738func (x *OfpQueuePropMinRate) GetPropHeader() *OfpQueuePropHeader {
9739 if x != nil {
9740 return x.PropHeader
9741 }
9742 return nil
9743}
9744
9745func (x *OfpQueuePropMinRate) GetRate() uint32 {
9746 if x != nil {
9747 return x.Rate
9748 }
9749 return 0
9750}
9751
9752// Max-Rate queue property description.
9753type OfpQueuePropMaxRate struct {
9754 state protoimpl.MessageState `protogen:"open.v1"`
9755 PropHeader *OfpQueuePropHeader `protobuf:"bytes,1,opt,name=prop_header,json=propHeader,proto3" json:"prop_header,omitempty"` // prop: OFPQT_MAX, len: 16.
9756 Rate uint32 `protobuf:"varint,2,opt,name=rate,proto3" json:"rate,omitempty"` // In 1/10 of a percent = 0;>1000 -> disabled.
9757 unknownFields protoimpl.UnknownFields
9758 sizeCache protoimpl.SizeCache
9759}
9760
9761func (x *OfpQueuePropMaxRate) Reset() {
9762 *x = OfpQueuePropMaxRate{}
9763 mi := &file_voltha_protos_openflow_13_proto_msgTypes[76]
9764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9765 ms.StoreMessageInfo(mi)
9766}
9767
9768func (x *OfpQueuePropMaxRate) String() string {
9769 return protoimpl.X.MessageStringOf(x)
9770}
9771
9772func (*OfpQueuePropMaxRate) ProtoMessage() {}
9773
9774func (x *OfpQueuePropMaxRate) ProtoReflect() protoreflect.Message {
9775 mi := &file_voltha_protos_openflow_13_proto_msgTypes[76]
9776 if x != nil {
9777 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9778 if ms.LoadMessageInfo() == nil {
9779 ms.StoreMessageInfo(mi)
9780 }
9781 return ms
9782 }
9783 return mi.MessageOf(x)
9784}
9785
9786// Deprecated: Use OfpQueuePropMaxRate.ProtoReflect.Descriptor instead.
9787func (*OfpQueuePropMaxRate) Descriptor() ([]byte, []int) {
9788 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{76}
9789}
9790
9791func (x *OfpQueuePropMaxRate) GetPropHeader() *OfpQueuePropHeader {
9792 if x != nil {
9793 return x.PropHeader
9794 }
9795 return nil
9796}
9797
9798func (x *OfpQueuePropMaxRate) GetRate() uint32 {
9799 if x != nil {
9800 return x.Rate
9801 }
9802 return 0
9803}
9804
9805// Experimenter queue property description.
9806type OfpQueuePropExperimenter struct {
9807 state protoimpl.MessageState `protogen:"open.v1"`
9808 PropHeader *OfpQueuePropHeader `protobuf:"bytes,1,opt,name=prop_header,json=propHeader,proto3" json:"prop_header,omitempty"` // prop: OFPQT_EXPERIMENTER
9809 Experimenter uint32 `protobuf:"varint,2,opt,name=experimenter,proto3" json:"experimenter,omitempty"`
9810 Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // Experimenter defined data.
9811 unknownFields protoimpl.UnknownFields
9812 sizeCache protoimpl.SizeCache
9813}
9814
9815func (x *OfpQueuePropExperimenter) Reset() {
9816 *x = OfpQueuePropExperimenter{}
9817 mi := &file_voltha_protos_openflow_13_proto_msgTypes[77]
9818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9819 ms.StoreMessageInfo(mi)
9820}
9821
9822func (x *OfpQueuePropExperimenter) String() string {
9823 return protoimpl.X.MessageStringOf(x)
9824}
9825
9826func (*OfpQueuePropExperimenter) ProtoMessage() {}
9827
9828func (x *OfpQueuePropExperimenter) ProtoReflect() protoreflect.Message {
9829 mi := &file_voltha_protos_openflow_13_proto_msgTypes[77]
9830 if x != nil {
9831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9832 if ms.LoadMessageInfo() == nil {
9833 ms.StoreMessageInfo(mi)
9834 }
9835 return ms
9836 }
9837 return mi.MessageOf(x)
9838}
9839
9840// Deprecated: Use OfpQueuePropExperimenter.ProtoReflect.Descriptor instead.
9841func (*OfpQueuePropExperimenter) Descriptor() ([]byte, []int) {
9842 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{77}
9843}
9844
9845func (x *OfpQueuePropExperimenter) GetPropHeader() *OfpQueuePropHeader {
9846 if x != nil {
9847 return x.PropHeader
9848 }
9849 return nil
9850}
9851
9852func (x *OfpQueuePropExperimenter) GetExperimenter() uint32 {
9853 if x != nil {
9854 return x.Experimenter
9855 }
9856 return 0
9857}
9858
9859func (x *OfpQueuePropExperimenter) GetData() []byte {
9860 if x != nil {
9861 return x.Data
9862 }
9863 return nil
9864}
9865
9866// Full description for a queue.
9867type OfpPacketQueue struct {
9868 state protoimpl.MessageState `protogen:"open.v1"`
9869 QueueId uint32 `protobuf:"varint,1,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"` // id for the specific queue.
9870 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` // Port this queue is attached to.
9871 Properties []*OfpQueuePropHeader `protobuf:"bytes,4,rep,name=properties,proto3" json:"properties,omitempty"` // List of properties.
9872 unknownFields protoimpl.UnknownFields
9873 sizeCache protoimpl.SizeCache
9874}
9875
9876func (x *OfpPacketQueue) Reset() {
9877 *x = OfpPacketQueue{}
9878 mi := &file_voltha_protos_openflow_13_proto_msgTypes[78]
9879 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9880 ms.StoreMessageInfo(mi)
9881}
9882
9883func (x *OfpPacketQueue) String() string {
9884 return protoimpl.X.MessageStringOf(x)
9885}
9886
9887func (*OfpPacketQueue) ProtoMessage() {}
9888
9889func (x *OfpPacketQueue) ProtoReflect() protoreflect.Message {
9890 mi := &file_voltha_protos_openflow_13_proto_msgTypes[78]
9891 if x != nil {
9892 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9893 if ms.LoadMessageInfo() == nil {
9894 ms.StoreMessageInfo(mi)
9895 }
9896 return ms
9897 }
9898 return mi.MessageOf(x)
9899}
9900
9901// Deprecated: Use OfpPacketQueue.ProtoReflect.Descriptor instead.
9902func (*OfpPacketQueue) Descriptor() ([]byte, []int) {
9903 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{78}
9904}
9905
9906func (x *OfpPacketQueue) GetQueueId() uint32 {
9907 if x != nil {
9908 return x.QueueId
9909 }
9910 return 0
9911}
9912
9913func (x *OfpPacketQueue) GetPort() uint32 {
9914 if x != nil {
9915 return x.Port
9916 }
9917 return 0
9918}
9919
9920func (x *OfpPacketQueue) GetProperties() []*OfpQueuePropHeader {
9921 if x != nil {
9922 return x.Properties
9923 }
9924 return nil
9925}
9926
9927// Query for port queue configuration.
9928type OfpQueueGetConfigRequest struct {
9929 state protoimpl.MessageState `protogen:"open.v1"`
9930 // ofp_header header;
9931 Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
9932 unknownFields protoimpl.UnknownFields
9933 sizeCache protoimpl.SizeCache
9934}
9935
9936func (x *OfpQueueGetConfigRequest) Reset() {
9937 *x = OfpQueueGetConfigRequest{}
9938 mi := &file_voltha_protos_openflow_13_proto_msgTypes[79]
9939 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9940 ms.StoreMessageInfo(mi)
9941}
9942
9943func (x *OfpQueueGetConfigRequest) String() string {
9944 return protoimpl.X.MessageStringOf(x)
9945}
9946
9947func (*OfpQueueGetConfigRequest) ProtoMessage() {}
9948
9949func (x *OfpQueueGetConfigRequest) ProtoReflect() protoreflect.Message {
9950 mi := &file_voltha_protos_openflow_13_proto_msgTypes[79]
9951 if x != nil {
9952 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9953 if ms.LoadMessageInfo() == nil {
9954 ms.StoreMessageInfo(mi)
9955 }
9956 return ms
9957 }
9958 return mi.MessageOf(x)
9959}
9960
9961// Deprecated: Use OfpQueueGetConfigRequest.ProtoReflect.Descriptor instead.
9962func (*OfpQueueGetConfigRequest) Descriptor() ([]byte, []int) {
9963 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{79}
9964}
9965
9966func (x *OfpQueueGetConfigRequest) GetPort() uint32 {
9967 if x != nil {
9968 return x.Port
9969 }
9970 return 0
9971}
9972
9973// Queue configuration for a given port.
9974type OfpQueueGetConfigReply struct {
9975 state protoimpl.MessageState `protogen:"open.v1"`
9976 // ofp_header header;
9977 Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
9978 Queues []*OfpPacketQueue `protobuf:"bytes,2,rep,name=queues,proto3" json:"queues,omitempty"` // List of configured queues.
9979 unknownFields protoimpl.UnknownFields
9980 sizeCache protoimpl.SizeCache
9981}
9982
9983func (x *OfpQueueGetConfigReply) Reset() {
9984 *x = OfpQueueGetConfigReply{}
9985 mi := &file_voltha_protos_openflow_13_proto_msgTypes[80]
9986 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9987 ms.StoreMessageInfo(mi)
9988}
9989
9990func (x *OfpQueueGetConfigReply) String() string {
9991 return protoimpl.X.MessageStringOf(x)
9992}
9993
9994func (*OfpQueueGetConfigReply) ProtoMessage() {}
9995
9996func (x *OfpQueueGetConfigReply) ProtoReflect() protoreflect.Message {
9997 mi := &file_voltha_protos_openflow_13_proto_msgTypes[80]
9998 if x != nil {
9999 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10000 if ms.LoadMessageInfo() == nil {
10001 ms.StoreMessageInfo(mi)
10002 }
10003 return ms
10004 }
10005 return mi.MessageOf(x)
10006}
10007
10008// Deprecated: Use OfpQueueGetConfigReply.ProtoReflect.Descriptor instead.
10009func (*OfpQueueGetConfigReply) Descriptor() ([]byte, []int) {
10010 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{80}
10011}
10012
10013func (x *OfpQueueGetConfigReply) GetPort() uint32 {
10014 if x != nil {
10015 return x.Port
10016 }
10017 return 0
10018}
10019
10020func (x *OfpQueueGetConfigReply) GetQueues() []*OfpPacketQueue {
10021 if x != nil {
10022 return x.Queues
10023 }
10024 return nil
10025}
10026
10027// OFPAT_SET_QUEUE action struct: send packets to given queue on port.
10028type OfpActionSetQueue struct {
10029 state protoimpl.MessageState `protogen:"open.v1"`
10030 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // OFPAT_SET_QUEUE.
10031 QueueId uint32 `protobuf:"varint,3,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"` // Queue id for the packets.
10032 unknownFields protoimpl.UnknownFields
10033 sizeCache protoimpl.SizeCache
10034}
10035
10036func (x *OfpActionSetQueue) Reset() {
10037 *x = OfpActionSetQueue{}
10038 mi := &file_voltha_protos_openflow_13_proto_msgTypes[81]
10039 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10040 ms.StoreMessageInfo(mi)
10041}
10042
10043func (x *OfpActionSetQueue) String() string {
10044 return protoimpl.X.MessageStringOf(x)
10045}
10046
10047func (*OfpActionSetQueue) ProtoMessage() {}
10048
10049func (x *OfpActionSetQueue) ProtoReflect() protoreflect.Message {
10050 mi := &file_voltha_protos_openflow_13_proto_msgTypes[81]
10051 if x != nil {
10052 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10053 if ms.LoadMessageInfo() == nil {
10054 ms.StoreMessageInfo(mi)
10055 }
10056 return ms
10057 }
10058 return mi.MessageOf(x)
10059}
10060
10061// Deprecated: Use OfpActionSetQueue.ProtoReflect.Descriptor instead.
10062func (*OfpActionSetQueue) Descriptor() ([]byte, []int) {
10063 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{81}
10064}
10065
10066func (x *OfpActionSetQueue) GetType() uint32 {
10067 if x != nil {
10068 return x.Type
10069 }
10070 return 0
10071}
10072
10073func (x *OfpActionSetQueue) GetQueueId() uint32 {
10074 if x != nil {
10075 return x.QueueId
10076 }
10077 return 0
10078}
10079
10080type OfpQueueStatsRequest struct {
10081 state protoimpl.MessageState `protogen:"open.v1"`
10082 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"` // All ports if OFPP_ANY.
10083 QueueId uint32 `protobuf:"varint,2,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"` // All queues if OFPQ_ALL.
10084 unknownFields protoimpl.UnknownFields
10085 sizeCache protoimpl.SizeCache
10086}
10087
10088func (x *OfpQueueStatsRequest) Reset() {
10089 *x = OfpQueueStatsRequest{}
10090 mi := &file_voltha_protos_openflow_13_proto_msgTypes[82]
10091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10092 ms.StoreMessageInfo(mi)
10093}
10094
10095func (x *OfpQueueStatsRequest) String() string {
10096 return protoimpl.X.MessageStringOf(x)
10097}
10098
10099func (*OfpQueueStatsRequest) ProtoMessage() {}
10100
10101func (x *OfpQueueStatsRequest) ProtoReflect() protoreflect.Message {
10102 mi := &file_voltha_protos_openflow_13_proto_msgTypes[82]
10103 if x != nil {
10104 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10105 if ms.LoadMessageInfo() == nil {
10106 ms.StoreMessageInfo(mi)
10107 }
10108 return ms
10109 }
10110 return mi.MessageOf(x)
10111}
10112
10113// Deprecated: Use OfpQueueStatsRequest.ProtoReflect.Descriptor instead.
10114func (*OfpQueueStatsRequest) Descriptor() ([]byte, []int) {
10115 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{82}
10116}
10117
10118func (x *OfpQueueStatsRequest) GetPortNo() uint32 {
10119 if x != nil {
10120 return x.PortNo
10121 }
10122 return 0
10123}
10124
10125func (x *OfpQueueStatsRequest) GetQueueId() uint32 {
10126 if x != nil {
10127 return x.QueueId
10128 }
10129 return 0
10130}
10131
10132type OfpQueueStats struct {
10133 state protoimpl.MessageState `protogen:"open.v1"`
10134 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
10135 QueueId uint32 `protobuf:"varint,2,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"` // Queue i.d
10136 TxBytes uint64 `protobuf:"varint,3,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"` // Number of transmitted bytes.
10137 TxPackets uint64 `protobuf:"varint,4,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"` // Number of transmitted packets.
10138 TxErrors uint64 `protobuf:"varint,5,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"` // Number of packets dropped due to overrun.
10139 DurationSec uint32 `protobuf:"varint,6,opt,name=duration_sec,json=durationSec,proto3" json:"duration_sec,omitempty"` // Time queue has been alive in seconds.
10140 DurationNsec uint32 `protobuf:"varint,7,opt,name=duration_nsec,json=durationNsec,proto3" json:"duration_nsec,omitempty"`
10141 unknownFields protoimpl.UnknownFields
10142 sizeCache protoimpl.SizeCache
10143}
10144
10145func (x *OfpQueueStats) Reset() {
10146 *x = OfpQueueStats{}
10147 mi := &file_voltha_protos_openflow_13_proto_msgTypes[83]
10148 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10149 ms.StoreMessageInfo(mi)
10150}
10151
10152func (x *OfpQueueStats) String() string {
10153 return protoimpl.X.MessageStringOf(x)
10154}
10155
10156func (*OfpQueueStats) ProtoMessage() {}
10157
10158func (x *OfpQueueStats) ProtoReflect() protoreflect.Message {
10159 mi := &file_voltha_protos_openflow_13_proto_msgTypes[83]
10160 if x != nil {
10161 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10162 if ms.LoadMessageInfo() == nil {
10163 ms.StoreMessageInfo(mi)
10164 }
10165 return ms
10166 }
10167 return mi.MessageOf(x)
10168}
10169
10170// Deprecated: Use OfpQueueStats.ProtoReflect.Descriptor instead.
10171func (*OfpQueueStats) Descriptor() ([]byte, []int) {
10172 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{83}
10173}
10174
10175func (x *OfpQueueStats) GetPortNo() uint32 {
10176 if x != nil {
10177 return x.PortNo
10178 }
10179 return 0
10180}
10181
10182func (x *OfpQueueStats) GetQueueId() uint32 {
10183 if x != nil {
10184 return x.QueueId
10185 }
10186 return 0
10187}
10188
10189func (x *OfpQueueStats) GetTxBytes() uint64 {
10190 if x != nil {
10191 return x.TxBytes
10192 }
10193 return 0
10194}
10195
10196func (x *OfpQueueStats) GetTxPackets() uint64 {
10197 if x != nil {
10198 return x.TxPackets
10199 }
10200 return 0
10201}
10202
10203func (x *OfpQueueStats) GetTxErrors() uint64 {
10204 if x != nil {
10205 return x.TxErrors
10206 }
10207 return 0
10208}
10209
10210func (x *OfpQueueStats) GetDurationSec() uint32 {
10211 if x != nil {
10212 return x.DurationSec
10213 }
10214 return 0
10215}
10216
10217func (x *OfpQueueStats) GetDurationNsec() uint32 {
10218 if x != nil {
10219 return x.DurationNsec
10220 }
10221 return 0
10222}
10223
10224// Role request and reply message.
10225type OfpRoleRequest struct {
10226 state protoimpl.MessageState `protogen:"open.v1"`
10227 // ofp_header header; /* Type OFPT_ROLE_REQUEST/OFPT_ROLE_REPLY. */
10228 Role OfpControllerRole `protobuf:"varint,1,opt,name=role,proto3,enum=openflow_13.OfpControllerRole" json:"role,omitempty"` // One of OFPCR_ROLE_*.
10229 GenerationId uint64 `protobuf:"varint,2,opt,name=generation_id,json=generationId,proto3" json:"generation_id,omitempty"` // Master Election Generation Id
10230 unknownFields protoimpl.UnknownFields
10231 sizeCache protoimpl.SizeCache
10232}
10233
10234func (x *OfpRoleRequest) Reset() {
10235 *x = OfpRoleRequest{}
10236 mi := &file_voltha_protos_openflow_13_proto_msgTypes[84]
10237 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10238 ms.StoreMessageInfo(mi)
10239}
10240
10241func (x *OfpRoleRequest) String() string {
10242 return protoimpl.X.MessageStringOf(x)
10243}
10244
10245func (*OfpRoleRequest) ProtoMessage() {}
10246
10247func (x *OfpRoleRequest) ProtoReflect() protoreflect.Message {
10248 mi := &file_voltha_protos_openflow_13_proto_msgTypes[84]
10249 if x != nil {
10250 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10251 if ms.LoadMessageInfo() == nil {
10252 ms.StoreMessageInfo(mi)
10253 }
10254 return ms
10255 }
10256 return mi.MessageOf(x)
10257}
10258
10259// Deprecated: Use OfpRoleRequest.ProtoReflect.Descriptor instead.
10260func (*OfpRoleRequest) Descriptor() ([]byte, []int) {
10261 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{84}
10262}
10263
10264func (x *OfpRoleRequest) GetRole() OfpControllerRole {
10265 if x != nil {
10266 return x.Role
10267 }
10268 return OfpControllerRole_OFPCR_ROLE_NOCHANGE
10269}
10270
10271func (x *OfpRoleRequest) GetGenerationId() uint64 {
10272 if x != nil {
10273 return x.GenerationId
10274 }
10275 return 0
10276}
10277
10278// Asynchronous message configuration.
10279type OfpAsyncConfig struct {
10280 state protoimpl.MessageState `protogen:"open.v1"`
10281 // ofp_header header; /* OFPT_GET_ASYNC_REPLY or OFPT_SET_ASYNC. */
10282 PacketInMask []uint32 `protobuf:"varint,1,rep,packed,name=packet_in_mask,json=packetInMask,proto3" json:"packet_in_mask,omitempty"` // Bitmasks of OFPR_* values.
10283 PortStatusMask []uint32 `protobuf:"varint,2,rep,packed,name=port_status_mask,json=portStatusMask,proto3" json:"port_status_mask,omitempty"` // Bitmasks of OFPPR_* values.
10284 FlowRemovedMask []uint32 `protobuf:"varint,3,rep,packed,name=flow_removed_mask,json=flowRemovedMask,proto3" json:"flow_removed_mask,omitempty"` // Bitmasks of OFPRR_* values.
10285 unknownFields protoimpl.UnknownFields
10286 sizeCache protoimpl.SizeCache
10287}
10288
10289func (x *OfpAsyncConfig) Reset() {
10290 *x = OfpAsyncConfig{}
10291 mi := &file_voltha_protos_openflow_13_proto_msgTypes[85]
10292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10293 ms.StoreMessageInfo(mi)
10294}
10295
10296func (x *OfpAsyncConfig) String() string {
10297 return protoimpl.X.MessageStringOf(x)
10298}
10299
10300func (*OfpAsyncConfig) ProtoMessage() {}
10301
10302func (x *OfpAsyncConfig) ProtoReflect() protoreflect.Message {
10303 mi := &file_voltha_protos_openflow_13_proto_msgTypes[85]
10304 if x != nil {
10305 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10306 if ms.LoadMessageInfo() == nil {
10307 ms.StoreMessageInfo(mi)
10308 }
10309 return ms
10310 }
10311 return mi.MessageOf(x)
10312}
10313
10314// Deprecated: Use OfpAsyncConfig.ProtoReflect.Descriptor instead.
10315func (*OfpAsyncConfig) Descriptor() ([]byte, []int) {
10316 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{85}
10317}
10318
10319func (x *OfpAsyncConfig) GetPacketInMask() []uint32 {
10320 if x != nil {
10321 return x.PacketInMask
10322 }
10323 return nil
10324}
10325
10326func (x *OfpAsyncConfig) GetPortStatusMask() []uint32 {
10327 if x != nil {
10328 return x.PortStatusMask
10329 }
10330 return nil
10331}
10332
10333func (x *OfpAsyncConfig) GetFlowRemovedMask() []uint32 {
10334 if x != nil {
10335 return x.FlowRemovedMask
10336 }
10337 return nil
10338}
10339
10340type MeterModUpdate struct {
10341 state protoimpl.MessageState `protogen:"open.v1"`
10342 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Device.id or LogicalDevice.id
10343 MeterMod *OfpMeterMod `protobuf:"bytes,2,opt,name=meter_mod,json=meterMod,proto3" json:"meter_mod,omitempty"`
10344 Xid uint32 `protobuf:"varint,3,opt,name=xid,proto3" json:"xid,omitempty"` //Transaction id associated with this request.
10345 unknownFields protoimpl.UnknownFields
10346 sizeCache protoimpl.SizeCache
10347}
10348
10349func (x *MeterModUpdate) Reset() {
10350 *x = MeterModUpdate{}
10351 mi := &file_voltha_protos_openflow_13_proto_msgTypes[86]
10352 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10353 ms.StoreMessageInfo(mi)
10354}
10355
10356func (x *MeterModUpdate) String() string {
10357 return protoimpl.X.MessageStringOf(x)
10358}
10359
10360func (*MeterModUpdate) ProtoMessage() {}
10361
10362func (x *MeterModUpdate) ProtoReflect() protoreflect.Message {
10363 mi := &file_voltha_protos_openflow_13_proto_msgTypes[86]
10364 if x != nil {
10365 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10366 if ms.LoadMessageInfo() == nil {
10367 ms.StoreMessageInfo(mi)
10368 }
10369 return ms
10370 }
10371 return mi.MessageOf(x)
10372}
10373
10374// Deprecated: Use MeterModUpdate.ProtoReflect.Descriptor instead.
10375func (*MeterModUpdate) Descriptor() ([]byte, []int) {
10376 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{86}
10377}
10378
10379func (x *MeterModUpdate) GetId() string {
10380 if x != nil {
10381 return x.Id
10382 }
10383 return ""
10384}
10385
10386func (x *MeterModUpdate) GetMeterMod() *OfpMeterMod {
10387 if x != nil {
10388 return x.MeterMod
10389 }
10390 return nil
10391}
10392
10393func (x *MeterModUpdate) GetXid() uint32 {
10394 if x != nil {
10395 return x.Xid
10396 }
10397 return 0
10398}
10399
10400type MeterStatsReply struct {
10401 state protoimpl.MessageState `protogen:"open.v1"`
10402 MeterStats []*OfpMeterStats `protobuf:"bytes,1,rep,name=meter_stats,json=meterStats,proto3" json:"meter_stats,omitempty"`
10403 unknownFields protoimpl.UnknownFields
10404 sizeCache protoimpl.SizeCache
10405}
10406
10407func (x *MeterStatsReply) Reset() {
10408 *x = MeterStatsReply{}
10409 mi := &file_voltha_protos_openflow_13_proto_msgTypes[87]
10410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10411 ms.StoreMessageInfo(mi)
10412}
10413
10414func (x *MeterStatsReply) String() string {
10415 return protoimpl.X.MessageStringOf(x)
10416}
10417
10418func (*MeterStatsReply) ProtoMessage() {}
10419
10420func (x *MeterStatsReply) ProtoReflect() protoreflect.Message {
10421 mi := &file_voltha_protos_openflow_13_proto_msgTypes[87]
10422 if x != nil {
10423 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10424 if ms.LoadMessageInfo() == nil {
10425 ms.StoreMessageInfo(mi)
10426 }
10427 return ms
10428 }
10429 return mi.MessageOf(x)
10430}
10431
10432// Deprecated: Use MeterStatsReply.ProtoReflect.Descriptor instead.
10433func (*MeterStatsReply) Descriptor() ([]byte, []int) {
10434 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{87}
10435}
10436
10437func (x *MeterStatsReply) GetMeterStats() []*OfpMeterStats {
10438 if x != nil {
10439 return x.MeterStats
10440 }
10441 return nil
10442}
10443
10444type FlowTableUpdate struct {
10445 state protoimpl.MessageState `protogen:"open.v1"`
10446 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Device.id or LogicalDevice.id
10447 FlowMod *OfpFlowMod `protobuf:"bytes,2,opt,name=flow_mod,json=flowMod,proto3" json:"flow_mod,omitempty"`
10448 Xid uint32 `protobuf:"varint,3,opt,name=xid,proto3" json:"xid,omitempty"` //Transaction id associated with this request.
10449 unknownFields protoimpl.UnknownFields
10450 sizeCache protoimpl.SizeCache
10451}
10452
10453func (x *FlowTableUpdate) Reset() {
10454 *x = FlowTableUpdate{}
10455 mi := &file_voltha_protos_openflow_13_proto_msgTypes[88]
10456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10457 ms.StoreMessageInfo(mi)
10458}
10459
10460func (x *FlowTableUpdate) String() string {
10461 return protoimpl.X.MessageStringOf(x)
10462}
10463
10464func (*FlowTableUpdate) ProtoMessage() {}
10465
10466func (x *FlowTableUpdate) ProtoReflect() protoreflect.Message {
10467 mi := &file_voltha_protos_openflow_13_proto_msgTypes[88]
10468 if x != nil {
10469 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10470 if ms.LoadMessageInfo() == nil {
10471 ms.StoreMessageInfo(mi)
10472 }
10473 return ms
10474 }
10475 return mi.MessageOf(x)
10476}
10477
10478// Deprecated: Use FlowTableUpdate.ProtoReflect.Descriptor instead.
10479func (*FlowTableUpdate) Descriptor() ([]byte, []int) {
10480 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{88}
10481}
10482
10483func (x *FlowTableUpdate) GetId() string {
10484 if x != nil {
10485 return x.Id
10486 }
10487 return ""
10488}
10489
10490func (x *FlowTableUpdate) GetFlowMod() *OfpFlowMod {
10491 if x != nil {
10492 return x.FlowMod
10493 }
10494 return nil
10495}
10496
10497func (x *FlowTableUpdate) GetXid() uint32 {
10498 if x != nil {
10499 return x.Xid
10500 }
10501 return 0
10502}
10503
10504type FlowGroupTableUpdate struct {
10505 state protoimpl.MessageState `protogen:"open.v1"`
10506 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Device.id or LogicalDevice.id
10507 GroupMod *OfpGroupMod `protobuf:"bytes,2,opt,name=group_mod,json=groupMod,proto3" json:"group_mod,omitempty"`
10508 Xid uint32 `protobuf:"varint,3,opt,name=xid,proto3" json:"xid,omitempty"` //Transaction id associated with this request.
10509 unknownFields protoimpl.UnknownFields
10510 sizeCache protoimpl.SizeCache
10511}
10512
10513func (x *FlowGroupTableUpdate) Reset() {
10514 *x = FlowGroupTableUpdate{}
10515 mi := &file_voltha_protos_openflow_13_proto_msgTypes[89]
10516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10517 ms.StoreMessageInfo(mi)
10518}
10519
10520func (x *FlowGroupTableUpdate) String() string {
10521 return protoimpl.X.MessageStringOf(x)
10522}
10523
10524func (*FlowGroupTableUpdate) ProtoMessage() {}
10525
10526func (x *FlowGroupTableUpdate) ProtoReflect() protoreflect.Message {
10527 mi := &file_voltha_protos_openflow_13_proto_msgTypes[89]
10528 if x != nil {
10529 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10530 if ms.LoadMessageInfo() == nil {
10531 ms.StoreMessageInfo(mi)
10532 }
10533 return ms
10534 }
10535 return mi.MessageOf(x)
10536}
10537
10538// Deprecated: Use FlowGroupTableUpdate.ProtoReflect.Descriptor instead.
10539func (*FlowGroupTableUpdate) Descriptor() ([]byte, []int) {
10540 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{89}
10541}
10542
10543func (x *FlowGroupTableUpdate) GetId() string {
10544 if x != nil {
10545 return x.Id
10546 }
10547 return ""
10548}
10549
10550func (x *FlowGroupTableUpdate) GetGroupMod() *OfpGroupMod {
10551 if x != nil {
10552 return x.GroupMod
10553 }
10554 return nil
10555}
10556
10557func (x *FlowGroupTableUpdate) GetXid() uint32 {
10558 if x != nil {
10559 return x.Xid
10560 }
10561 return 0
10562}
10563
10564type Flows struct {
10565 state protoimpl.MessageState `protogen:"open.v1"`
10566 Items []*OfpFlowStats `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
10567 unknownFields protoimpl.UnknownFields
10568 sizeCache protoimpl.SizeCache
10569}
10570
10571func (x *Flows) Reset() {
10572 *x = Flows{}
10573 mi := &file_voltha_protos_openflow_13_proto_msgTypes[90]
10574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10575 ms.StoreMessageInfo(mi)
10576}
10577
10578func (x *Flows) String() string {
10579 return protoimpl.X.MessageStringOf(x)
10580}
10581
10582func (*Flows) ProtoMessage() {}
10583
10584func (x *Flows) ProtoReflect() protoreflect.Message {
10585 mi := &file_voltha_protos_openflow_13_proto_msgTypes[90]
10586 if x != nil {
10587 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10588 if ms.LoadMessageInfo() == nil {
10589 ms.StoreMessageInfo(mi)
10590 }
10591 return ms
10592 }
10593 return mi.MessageOf(x)
10594}
10595
10596// Deprecated: Use Flows.ProtoReflect.Descriptor instead.
10597func (*Flows) Descriptor() ([]byte, []int) {
10598 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{90}
10599}
10600
10601func (x *Flows) GetItems() []*OfpFlowStats {
10602 if x != nil {
10603 return x.Items
10604 }
10605 return nil
10606}
10607
10608type Meters struct {
10609 state protoimpl.MessageState `protogen:"open.v1"`
10610 Items []*OfpMeterEntry `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
10611 unknownFields protoimpl.UnknownFields
10612 sizeCache protoimpl.SizeCache
10613}
10614
10615func (x *Meters) Reset() {
10616 *x = Meters{}
10617 mi := &file_voltha_protos_openflow_13_proto_msgTypes[91]
10618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10619 ms.StoreMessageInfo(mi)
10620}
10621
10622func (x *Meters) String() string {
10623 return protoimpl.X.MessageStringOf(x)
10624}
10625
10626func (*Meters) ProtoMessage() {}
10627
10628func (x *Meters) ProtoReflect() protoreflect.Message {
10629 mi := &file_voltha_protos_openflow_13_proto_msgTypes[91]
10630 if x != nil {
10631 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10632 if ms.LoadMessageInfo() == nil {
10633 ms.StoreMessageInfo(mi)
10634 }
10635 return ms
10636 }
10637 return mi.MessageOf(x)
10638}
10639
10640// Deprecated: Use Meters.ProtoReflect.Descriptor instead.
10641func (*Meters) Descriptor() ([]byte, []int) {
10642 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{91}
10643}
10644
10645func (x *Meters) GetItems() []*OfpMeterEntry {
10646 if x != nil {
10647 return x.Items
10648 }
10649 return nil
10650}
10651
10652type FlowGroups struct {
10653 state protoimpl.MessageState `protogen:"open.v1"`
10654 Items []*OfpGroupEntry `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
10655 unknownFields protoimpl.UnknownFields
10656 sizeCache protoimpl.SizeCache
10657}
10658
10659func (x *FlowGroups) Reset() {
10660 *x = FlowGroups{}
10661 mi := &file_voltha_protos_openflow_13_proto_msgTypes[92]
10662 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10663 ms.StoreMessageInfo(mi)
10664}
10665
10666func (x *FlowGroups) String() string {
10667 return protoimpl.X.MessageStringOf(x)
10668}
10669
10670func (*FlowGroups) ProtoMessage() {}
10671
10672func (x *FlowGroups) ProtoReflect() protoreflect.Message {
10673 mi := &file_voltha_protos_openflow_13_proto_msgTypes[92]
10674 if x != nil {
10675 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10676 if ms.LoadMessageInfo() == nil {
10677 ms.StoreMessageInfo(mi)
10678 }
10679 return ms
10680 }
10681 return mi.MessageOf(x)
10682}
10683
10684// Deprecated: Use FlowGroups.ProtoReflect.Descriptor instead.
10685func (*FlowGroups) Descriptor() ([]byte, []int) {
10686 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{92}
10687}
10688
10689func (x *FlowGroups) GetItems() []*OfpGroupEntry {
10690 if x != nil {
10691 return x.Items
10692 }
10693 return nil
10694}
10695
10696type FlowChanges struct {
10697 state protoimpl.MessageState `protogen:"open.v1"`
10698 ToAdd *Flows `protobuf:"bytes,1,opt,name=to_add,json=toAdd,proto3" json:"to_add,omitempty"`
10699 ToRemove *Flows `protobuf:"bytes,2,opt,name=to_remove,json=toRemove,proto3" json:"to_remove,omitempty"`
10700 unknownFields protoimpl.UnknownFields
10701 sizeCache protoimpl.SizeCache
10702}
10703
10704func (x *FlowChanges) Reset() {
10705 *x = FlowChanges{}
10706 mi := &file_voltha_protos_openflow_13_proto_msgTypes[93]
10707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10708 ms.StoreMessageInfo(mi)
10709}
10710
10711func (x *FlowChanges) String() string {
10712 return protoimpl.X.MessageStringOf(x)
10713}
10714
10715func (*FlowChanges) ProtoMessage() {}
10716
10717func (x *FlowChanges) ProtoReflect() protoreflect.Message {
10718 mi := &file_voltha_protos_openflow_13_proto_msgTypes[93]
10719 if x != nil {
10720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10721 if ms.LoadMessageInfo() == nil {
10722 ms.StoreMessageInfo(mi)
10723 }
10724 return ms
10725 }
10726 return mi.MessageOf(x)
10727}
10728
10729// Deprecated: Use FlowChanges.ProtoReflect.Descriptor instead.
10730func (*FlowChanges) Descriptor() ([]byte, []int) {
10731 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{93}
10732}
10733
10734func (x *FlowChanges) GetToAdd() *Flows {
10735 if x != nil {
10736 return x.ToAdd
10737 }
10738 return nil
10739}
10740
10741func (x *FlowChanges) GetToRemove() *Flows {
10742 if x != nil {
10743 return x.ToRemove
10744 }
10745 return nil
10746}
10747
10748type FlowGroupChanges struct {
10749 state protoimpl.MessageState `protogen:"open.v1"`
10750 ToAdd *FlowGroups `protobuf:"bytes,1,opt,name=to_add,json=toAdd,proto3" json:"to_add,omitempty"`
10751 ToRemove *FlowGroups `protobuf:"bytes,2,opt,name=to_remove,json=toRemove,proto3" json:"to_remove,omitempty"`
10752 ToUpdate *FlowGroups `protobuf:"bytes,3,opt,name=to_update,json=toUpdate,proto3" json:"to_update,omitempty"`
10753 unknownFields protoimpl.UnknownFields
10754 sizeCache protoimpl.SizeCache
10755}
10756
10757func (x *FlowGroupChanges) Reset() {
10758 *x = FlowGroupChanges{}
10759 mi := &file_voltha_protos_openflow_13_proto_msgTypes[94]
10760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10761 ms.StoreMessageInfo(mi)
10762}
10763
10764func (x *FlowGroupChanges) String() string {
10765 return protoimpl.X.MessageStringOf(x)
10766}
10767
10768func (*FlowGroupChanges) ProtoMessage() {}
10769
10770func (x *FlowGroupChanges) ProtoReflect() protoreflect.Message {
10771 mi := &file_voltha_protos_openflow_13_proto_msgTypes[94]
10772 if x != nil {
10773 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10774 if ms.LoadMessageInfo() == nil {
10775 ms.StoreMessageInfo(mi)
10776 }
10777 return ms
10778 }
10779 return mi.MessageOf(x)
10780}
10781
10782// Deprecated: Use FlowGroupChanges.ProtoReflect.Descriptor instead.
10783func (*FlowGroupChanges) Descriptor() ([]byte, []int) {
10784 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{94}
10785}
10786
10787func (x *FlowGroupChanges) GetToAdd() *FlowGroups {
10788 if x != nil {
10789 return x.ToAdd
10790 }
10791 return nil
10792}
10793
10794func (x *FlowGroupChanges) GetToRemove() *FlowGroups {
10795 if x != nil {
10796 return x.ToRemove
10797 }
10798 return nil
10799}
10800
10801func (x *FlowGroupChanges) GetToUpdate() *FlowGroups {
10802 if x != nil {
10803 return x.ToUpdate
10804 }
10805 return nil
10806}
10807
10808type PacketIn struct {
10809 state protoimpl.MessageState `protogen:"open.v1"`
10810 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // LogicalDevice.id
10811 PacketIn *OfpPacketIn `protobuf:"bytes,2,opt,name=packet_in,json=packetIn,proto3" json:"packet_in,omitempty"`
10812 unknownFields protoimpl.UnknownFields
10813 sizeCache protoimpl.SizeCache
10814}
10815
10816func (x *PacketIn) Reset() {
10817 *x = PacketIn{}
10818 mi := &file_voltha_protos_openflow_13_proto_msgTypes[95]
10819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10820 ms.StoreMessageInfo(mi)
10821}
10822
10823func (x *PacketIn) String() string {
10824 return protoimpl.X.MessageStringOf(x)
10825}
10826
10827func (*PacketIn) ProtoMessage() {}
10828
10829func (x *PacketIn) ProtoReflect() protoreflect.Message {
10830 mi := &file_voltha_protos_openflow_13_proto_msgTypes[95]
10831 if x != nil {
10832 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10833 if ms.LoadMessageInfo() == nil {
10834 ms.StoreMessageInfo(mi)
10835 }
10836 return ms
10837 }
10838 return mi.MessageOf(x)
10839}
10840
10841// Deprecated: Use PacketIn.ProtoReflect.Descriptor instead.
10842func (*PacketIn) Descriptor() ([]byte, []int) {
10843 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{95}
10844}
10845
10846func (x *PacketIn) GetId() string {
10847 if x != nil {
10848 return x.Id
10849 }
10850 return ""
10851}
10852
10853func (x *PacketIn) GetPacketIn() *OfpPacketIn {
10854 if x != nil {
10855 return x.PacketIn
10856 }
10857 return nil
10858}
10859
10860type PacketOut struct {
10861 state protoimpl.MessageState `protogen:"open.v1"`
10862 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // LogicalDevice.id
10863 PacketOut *OfpPacketOut `protobuf:"bytes,2,opt,name=packet_out,json=packetOut,proto3" json:"packet_out,omitempty"`
10864 unknownFields protoimpl.UnknownFields
10865 sizeCache protoimpl.SizeCache
10866}
10867
10868func (x *PacketOut) Reset() {
10869 *x = PacketOut{}
10870 mi := &file_voltha_protos_openflow_13_proto_msgTypes[96]
10871 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10872 ms.StoreMessageInfo(mi)
10873}
10874
10875func (x *PacketOut) String() string {
10876 return protoimpl.X.MessageStringOf(x)
10877}
10878
10879func (*PacketOut) ProtoMessage() {}
10880
10881func (x *PacketOut) ProtoReflect() protoreflect.Message {
10882 mi := &file_voltha_protos_openflow_13_proto_msgTypes[96]
10883 if x != nil {
10884 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10885 if ms.LoadMessageInfo() == nil {
10886 ms.StoreMessageInfo(mi)
10887 }
10888 return ms
10889 }
10890 return mi.MessageOf(x)
10891}
10892
10893// Deprecated: Use PacketOut.ProtoReflect.Descriptor instead.
10894func (*PacketOut) Descriptor() ([]byte, []int) {
10895 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{96}
10896}
10897
10898func (x *PacketOut) GetId() string {
10899 if x != nil {
10900 return x.Id
10901 }
10902 return ""
10903}
10904
10905func (x *PacketOut) GetPacketOut() *OfpPacketOut {
10906 if x != nil {
10907 return x.PacketOut
10908 }
10909 return nil
10910}
10911
10912type ChangeEvent struct {
10913 state protoimpl.MessageState `protogen:"open.v1"`
10914 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // LogicalDevice.id
10915 // Types that are valid to be assigned to Event:
10916 //
10917 // *ChangeEvent_PortStatus
10918 // *ChangeEvent_Error
10919 // *ChangeEvent_DeviceStatus
10920 Event isChangeEvent_Event `protobuf_oneof:"event"`
10921 unknownFields protoimpl.UnknownFields
10922 sizeCache protoimpl.SizeCache
10923}
10924
10925func (x *ChangeEvent) Reset() {
10926 *x = ChangeEvent{}
10927 mi := &file_voltha_protos_openflow_13_proto_msgTypes[97]
10928 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10929 ms.StoreMessageInfo(mi)
10930}
10931
10932func (x *ChangeEvent) String() string {
10933 return protoimpl.X.MessageStringOf(x)
10934}
10935
10936func (*ChangeEvent) ProtoMessage() {}
10937
10938func (x *ChangeEvent) ProtoReflect() protoreflect.Message {
10939 mi := &file_voltha_protos_openflow_13_proto_msgTypes[97]
10940 if x != nil {
10941 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10942 if ms.LoadMessageInfo() == nil {
10943 ms.StoreMessageInfo(mi)
10944 }
10945 return ms
10946 }
10947 return mi.MessageOf(x)
10948}
10949
10950// Deprecated: Use ChangeEvent.ProtoReflect.Descriptor instead.
10951func (*ChangeEvent) Descriptor() ([]byte, []int) {
10952 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{97}
10953}
10954
10955func (x *ChangeEvent) GetId() string {
10956 if x != nil {
10957 return x.Id
10958 }
10959 return ""
10960}
10961
10962func (x *ChangeEvent) GetEvent() isChangeEvent_Event {
10963 if x != nil {
10964 return x.Event
10965 }
10966 return nil
10967}
10968
10969func (x *ChangeEvent) GetPortStatus() *OfpPortStatus {
10970 if x != nil {
10971 if x, ok := x.Event.(*ChangeEvent_PortStatus); ok {
10972 return x.PortStatus
10973 }
10974 }
10975 return nil
10976}
10977
10978func (x *ChangeEvent) GetError() *OfpErrorMsg {
10979 if x != nil {
10980 if x, ok := x.Event.(*ChangeEvent_Error); ok {
10981 return x.Error
10982 }
10983 }
10984 return nil
10985}
10986
10987func (x *ChangeEvent) GetDeviceStatus() *OfpDeviceStatus {
10988 if x != nil {
10989 if x, ok := x.Event.(*ChangeEvent_DeviceStatus); ok {
10990 return x.DeviceStatus
10991 }
10992 }
10993 return nil
10994}
10995
10996type isChangeEvent_Event interface {
10997 isChangeEvent_Event()
10998}
10999
11000type ChangeEvent_PortStatus struct {
11001 PortStatus *OfpPortStatus `protobuf:"bytes,2,opt,name=port_status,json=portStatus,proto3,oneof"`
11002}
11003
11004type ChangeEvent_Error struct {
11005 Error *OfpErrorMsg `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
11006}
11007
11008type ChangeEvent_DeviceStatus struct {
11009 DeviceStatus *OfpDeviceStatus `protobuf:"bytes,4,opt,name=device_status,json=deviceStatus,proto3,oneof"`
11010}
11011
11012func (*ChangeEvent_PortStatus) isChangeEvent_Event() {}
11013
11014func (*ChangeEvent_Error) isChangeEvent_Event() {}
11015
11016func (*ChangeEvent_DeviceStatus) isChangeEvent_Event() {}
11017
11018// Additional information required to process flow at device adapters
11019type FlowMetadata struct {
11020 state protoimpl.MessageState `protogen:"open.v1"`
11021 // Meters associated with flow-update to adapter
11022 Meters []*OfpMeterConfig `protobuf:"bytes,1,rep,name=meters,proto3" json:"meters,omitempty"`
11023 unknownFields protoimpl.UnknownFields
11024 sizeCache protoimpl.SizeCache
11025}
11026
11027func (x *FlowMetadata) Reset() {
11028 *x = FlowMetadata{}
11029 mi := &file_voltha_protos_openflow_13_proto_msgTypes[98]
11030 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11031 ms.StoreMessageInfo(mi)
11032}
11033
11034func (x *FlowMetadata) String() string {
11035 return protoimpl.X.MessageStringOf(x)
11036}
11037
11038func (*FlowMetadata) ProtoMessage() {}
11039
11040func (x *FlowMetadata) ProtoReflect() protoreflect.Message {
11041 mi := &file_voltha_protos_openflow_13_proto_msgTypes[98]
11042 if x != nil {
11043 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11044 if ms.LoadMessageInfo() == nil {
11045 ms.StoreMessageInfo(mi)
11046 }
11047 return ms
11048 }
11049 return mi.MessageOf(x)
11050}
11051
11052// Deprecated: Use FlowMetadata.ProtoReflect.Descriptor instead.
11053func (*FlowMetadata) Descriptor() ([]byte, []int) {
11054 return file_voltha_protos_openflow_13_proto_rawDescGZIP(), []int{98}
11055}
11056
11057func (x *FlowMetadata) GetMeters() []*OfpMeterConfig {
11058 if x != nil {
11059 return x.Meters
11060 }
11061 return nil
11062}
11063
11064var File_voltha_protos_openflow_13_proto protoreflect.FileDescriptor
11065
11066const file_voltha_protos_openflow_13_proto_rawDesc = "" +
11067 "\n" +
11068 "\x1fvoltha_protos/openflow_13.proto\x12\vopenflow_13\x1a\x1cgoogle/api/annotations.proto\"c\n" +
11069 "\n" +
11070 "ofp_header\x12\x18\n" +
11071 "\aversion\x18\x01 \x01(\rR\aversion\x12)\n" +
11072 "\x04type\x18\x02 \x01(\x0e2\x15.openflow_13.ofp_typeR\x04type\x12\x10\n" +
11073 "\x03xid\x18\x03 \x01(\rR\x03xid\"\xab\x01\n" +
11074 "\x15ofp_hello_elem_header\x124\n" +
11075 "\x04type\x18\x01 \x01(\x0e2 .openflow_13.ofp_hello_elem_typeR\x04type\x12Q\n" +
11076 "\rversionbitmap\x18\x02 \x01(\v2).openflow_13.ofp_hello_elem_versionbitmapH\x00R\rversionbitmapB\t\n" +
11077 "\aelement\"8\n" +
11078 "\x1cofp_hello_elem_versionbitmap\x12\x18\n" +
11079 "\abitmaps\x18\x02 \x03(\rR\abitmaps\"K\n" +
11080 "\tofp_hello\x12>\n" +
11081 "\belements\x18\x01 \x03(\v2\".openflow_13.ofp_hello_elem_headerR\belements\"M\n" +
11082 "\x11ofp_switch_config\x12\x14\n" +
11083 "\x05flags\x18\x01 \x01(\rR\x05flags\x12\"\n" +
11084 "\rmiss_send_len\x18\x02 \x01(\rR\vmissSendLen\"B\n" +
11085 "\rofp_table_mod\x12\x19\n" +
11086 "\btable_id\x18\x01 \x01(\rR\atableId\x12\x16\n" +
11087 "\x06config\x18\x02 \x01(\rR\x06config\"\xa0\x02\n" +
11088 "\bofp_port\x12\x17\n" +
11089 "\aport_no\x18\x01 \x01(\rR\x06portNo\x12\x17\n" +
11090 "\ahw_addr\x18\x02 \x03(\rR\x06hwAddr\x12\x12\n" +
11091 "\x04name\x18\x03 \x01(\tR\x04name\x12\x16\n" +
11092 "\x06config\x18\x04 \x01(\rR\x06config\x12\x14\n" +
11093 "\x05state\x18\x05 \x01(\rR\x05state\x12\x12\n" +
11094 "\x04curr\x18\x06 \x01(\rR\x04curr\x12\x1e\n" +
11095 "\n" +
11096 "advertised\x18\a \x01(\rR\n" +
11097 "advertised\x12\x1c\n" +
11098 "\tsupported\x18\b \x01(\rR\tsupported\x12\x12\n" +
11099 "\x04peer\x18\t \x01(\rR\x04peer\x12\x1d\n" +
11100 "\n" +
11101 "curr_speed\x18\n" +
11102 " \x01(\rR\tcurrSpeed\x12\x1b\n" +
11103 "\tmax_speed\x18\v \x01(\rR\bmaxSpeed\"\xb5\x01\n" +
11104 "\x13ofp_switch_features\x12\x1f\n" +
11105 "\vdatapath_id\x18\x01 \x01(\x04R\n" +
11106 "datapathId\x12\x1b\n" +
11107 "\tn_buffers\x18\x02 \x01(\rR\bnBuffers\x12\x19\n" +
11108 "\bn_tables\x18\x03 \x01(\rR\anTables\x12!\n" +
11109 "\fauxiliary_id\x18\x04 \x01(\rR\vauxiliaryId\x12\"\n" +
11110 "\fcapabilities\x18\x05 \x01(\rR\fcapabilities\"r\n" +
11111 "\x0fofp_port_status\x124\n" +
11112 "\x06reason\x18\x01 \x01(\x0e2\x1c.openflow_13.ofp_port_reasonR\x06reason\x12)\n" +
11113 "\x04desc\x18\x02 \x01(\v2\x15.openflow_13.ofp_portR\x04desc\"O\n" +
11114 "\x11ofp_device_status\x12:\n" +
11115 "\x06status\x18\x01 \x01(\x0e2\".openflow_13.ofp_device_connectionR\x06status\"\x8a\x01\n" +
11116 "\fofp_port_mod\x12\x17\n" +
11117 "\aport_no\x18\x01 \x01(\rR\x06portNo\x12\x17\n" +
11118 "\ahw_addr\x18\x02 \x03(\rR\x06hwAddr\x12\x16\n" +
11119 "\x06config\x18\x03 \x01(\rR\x06config\x12\x12\n" +
11120 "\x04mask\x18\x04 \x01(\rR\x04mask\x12\x1c\n" +
11121 "\tadvertise\x18\x05 \x01(\rR\tadvertise\"w\n" +
11122 "\tofp_match\x12/\n" +
11123 "\x04type\x18\x01 \x01(\x0e2\x1b.openflow_13.ofp_match_typeR\x04type\x129\n" +
11124 "\n" +
11125 "oxm_fields\x18\x02 \x03(\v2\x1a.openflow_13.ofp_oxm_fieldR\toxmFields\"\xea\x01\n" +
11126 "\rofp_oxm_field\x127\n" +
11127 "\toxm_class\x18\x01 \x01(\x0e2\x1a.openflow_13.ofp_oxm_classR\boxmClass\x12=\n" +
11128 "\tofb_field\x18\x04 \x01(\v2\x1e.openflow_13.ofp_oxm_ofb_fieldH\x00R\bofbField\x12X\n" +
11129 "\x12experimenter_field\x18\x05 \x01(\v2'.openflow_13.ofp_oxm_experimenter_fieldH\x00R\x11experimenterFieldB\a\n" +
11130 "\x05field\"\xd7\x0e\n" +
11131 "\x11ofp_oxm_ofb_field\x124\n" +
11132 "\x04type\x18\x01 \x01(\x0e2 .openflow_13.oxm_ofb_field_typesR\x04type\x12\x19\n" +
11133 "\bhas_mask\x18\x02 \x01(\bR\ahasMask\x12\x14\n" +
11134 "\x04port\x18\x03 \x01(\rH\x00R\x04port\x12%\n" +
11135 "\rphysical_port\x18\x04 \x01(\rH\x00R\fphysicalPort\x12'\n" +
11136 "\x0etable_metadata\x18\x05 \x01(\x04H\x00R\rtableMetadata\x12\x19\n" +
11137 "\aeth_dst\x18\x06 \x01(\fH\x00R\x06ethDst\x12\x19\n" +
11138 "\aeth_src\x18\a \x01(\fH\x00R\x06ethSrc\x12\x1b\n" +
11139 "\beth_type\x18\b \x01(\rH\x00R\aethType\x12\x1b\n" +
11140 "\bvlan_vid\x18\t \x01(\rH\x00R\avlanVid\x12\x1b\n" +
11141 "\bvlan_pcp\x18\n" +
11142 " \x01(\rH\x00R\avlanPcp\x12\x19\n" +
11143 "\aip_dscp\x18\v \x01(\rH\x00R\x06ipDscp\x12\x17\n" +
11144 "\x06ip_ecn\x18\f \x01(\rH\x00R\x05ipEcn\x12\x1b\n" +
11145 "\bip_proto\x18\r \x01(\rH\x00R\aipProto\x12\x1b\n" +
11146 "\bipv4_src\x18\x0e \x01(\rH\x00R\aipv4Src\x12\x1b\n" +
11147 "\bipv4_dst\x18\x0f \x01(\rH\x00R\aipv4Dst\x12\x19\n" +
11148 "\atcp_src\x18\x10 \x01(\rH\x00R\x06tcpSrc\x12\x19\n" +
11149 "\atcp_dst\x18\x11 \x01(\rH\x00R\x06tcpDst\x12\x19\n" +
11150 "\audp_src\x18\x12 \x01(\rH\x00R\x06udpSrc\x12\x19\n" +
11151 "\audp_dst\x18\x13 \x01(\rH\x00R\x06udpDst\x12\x1b\n" +
11152 "\bsctp_src\x18\x14 \x01(\rH\x00R\asctpSrc\x12\x1b\n" +
11153 "\bsctp_dst\x18\x15 \x01(\rH\x00R\asctpDst\x12!\n" +
11154 "\vicmpv4_type\x18\x16 \x01(\rH\x00R\n" +
11155 "icmpv4Type\x12!\n" +
11156 "\vicmpv4_code\x18\x17 \x01(\rH\x00R\n" +
11157 "icmpv4Code\x12\x17\n" +
11158 "\x06arp_op\x18\x18 \x01(\rH\x00R\x05arpOp\x12\x19\n" +
11159 "\aarp_spa\x18\x19 \x01(\rH\x00R\x06arpSpa\x12\x19\n" +
11160 "\aarp_tpa\x18\x1a \x01(\rH\x00R\x06arpTpa\x12\x19\n" +
11161 "\aarp_sha\x18\x1b \x01(\fH\x00R\x06arpSha\x12\x19\n" +
11162 "\aarp_tha\x18\x1c \x01(\fH\x00R\x06arpTha\x12\x1b\n" +
11163 "\bipv6_src\x18\x1d \x01(\fH\x00R\aipv6Src\x12\x1b\n" +
11164 "\bipv6_dst\x18\x1e \x01(\fH\x00R\aipv6Dst\x12!\n" +
11165 "\vipv6_flabel\x18\x1f \x01(\rH\x00R\n" +
11166 "ipv6Flabel\x12!\n" +
11167 "\vicmpv6_type\x18 \x01(\rH\x00R\n" +
11168 "icmpv6Type\x12!\n" +
11169 "\vicmpv6_code\x18! \x01(\rH\x00R\n" +
11170 "icmpv6Code\x12&\n" +
11171 "\x0eipv6_nd_target\x18\" \x01(\fH\x00R\fipv6NdTarget\x12 \n" +
11172 "\vipv6_nd_ssl\x18# \x01(\fH\x00R\tipv6NdSsl\x12 \n" +
11173 "\vipv6_nd_tll\x18$ \x01(\fH\x00R\tipv6NdTll\x12\x1f\n" +
11174 "\n" +
11175 "mpls_label\x18% \x01(\rH\x00R\tmplsLabel\x12\x19\n" +
11176 "\ampls_tc\x18& \x01(\rH\x00R\x06mplsTc\x12\x1b\n" +
11177 "\bmpls_bos\x18' \x01(\rH\x00R\amplsBos\x12\x1b\n" +
11178 "\bpbb_isid\x18( \x01(\rH\x00R\apbbIsid\x12\x1d\n" +
11179 "\ttunnel_id\x18) \x01(\x04H\x00R\btunnelId\x12!\n" +
11180 "\vipv6_exthdr\x18* \x01(\rH\x00R\n" +
11181 "ipv6Exthdr\x120\n" +
11182 "\x13table_metadata_mask\x18i \x01(\x04H\x01R\x11tableMetadataMask\x12\"\n" +
11183 "\feth_dst_mask\x18j \x01(\fH\x01R\n" +
11184 "ethDstMask\x12\"\n" +
11185 "\feth_src_mask\x18k \x01(\fH\x01R\n" +
11186 "ethSrcMask\x12$\n" +
11187 "\rvlan_vid_mask\x18m \x01(\rH\x01R\vvlanVidMask\x12$\n" +
11188 "\ripv4_src_mask\x18r \x01(\rH\x01R\vipv4SrcMask\x12$\n" +
11189 "\ripv4_dst_mask\x18s \x01(\rH\x01R\vipv4DstMask\x12\"\n" +
11190 "\farp_spa_mask\x18} \x01(\rH\x01R\n" +
11191 "arpSpaMask\x12\"\n" +
11192 "\farp_tpa_mask\x18~ \x01(\rH\x01R\n" +
11193 "arpTpaMask\x12%\n" +
11194 "\ripv6_src_mask\x18\x81\x01 \x01(\fH\x01R\vipv6SrcMask\x12%\n" +
11195 "\ripv6_dst_mask\x18\x82\x01 \x01(\fH\x01R\vipv6DstMask\x12+\n" +
11196 "\x10ipv6_flabel_mask\x18\x83\x01 \x01(\rH\x01R\x0eipv6FlabelMask\x12%\n" +
11197 "\rpbb_isid_mask\x18\x8c\x01 \x01(\rH\x01R\vpbbIsidMask\x12'\n" +
11198 "\x0etunnel_id_mask\x18\x8d\x01 \x01(\x04H\x01R\ftunnelIdMask\x12+\n" +
11199 "\x10ipv6_exthdr_mask\x18\x8e\x01 \x01(\rH\x01R\x0eipv6ExthdrMaskB\a\n" +
11200 "\x05valueB\x06\n" +
11201 "\x04mask\"_\n" +
11202 "\x1aofp_oxm_experimenter_field\x12\x1d\n" +
11203 "\n" +
11204 "oxm_header\x18\x01 \x01(\rR\toxmHeader\x12\"\n" +
11205 "\fexperimenter\x18\x02 \x01(\rR\fexperimenter\"\xb2\x04\n" +
11206 "\n" +
11207 "ofp_action\x120\n" +
11208 "\x04type\x18\x01 \x01(\x0e2\x1c.openflow_13.ofp_action_typeR\x04type\x128\n" +
11209 "\x06output\x18\x02 \x01(\v2\x1e.openflow_13.ofp_action_outputH\x00R\x06output\x12=\n" +
11210 "\bmpls_ttl\x18\x03 \x01(\v2 .openflow_13.ofp_action_mpls_ttlH\x00R\amplsTtl\x122\n" +
11211 "\x04push\x18\x04 \x01(\v2\x1c.openflow_13.ofp_action_pushH\x00R\x04push\x12=\n" +
11212 "\bpop_mpls\x18\x05 \x01(\v2 .openflow_13.ofp_action_pop_mplsH\x00R\apopMpls\x125\n" +
11213 "\x05group\x18\x06 \x01(\v2\x1d.openflow_13.ofp_action_groupH\x00R\x05group\x127\n" +
11214 "\x06nw_ttl\x18\a \x01(\v2\x1e.openflow_13.ofp_action_nw_ttlH\x00R\x05nwTtl\x12@\n" +
11215 "\tset_field\x18\b \x01(\v2!.openflow_13.ofp_action_set_fieldH\x00R\bsetField\x12J\n" +
11216 "\fexperimenter\x18\t \x01(\v2$.openflow_13.ofp_action_experimenterH\x00R\fexperimenterB\b\n" +
11217 "\x06action\"@\n" +
11218 "\x11ofp_action_output\x12\x12\n" +
11219 "\x04port\x18\x01 \x01(\rR\x04port\x12\x17\n" +
11220 "\amax_len\x18\x02 \x01(\rR\x06maxLen\"0\n" +
11221 "\x13ofp_action_mpls_ttl\x12\x19\n" +
11222 "\bmpls_ttl\x18\x01 \x01(\rR\amplsTtl\"/\n" +
11223 "\x0fofp_action_push\x12\x1c\n" +
11224 "\tethertype\x18\x01 \x01(\rR\tethertype\"3\n" +
11225 "\x13ofp_action_pop_mpls\x12\x1c\n" +
11226 "\tethertype\x18\x01 \x01(\rR\tethertype\"-\n" +
11227 "\x10ofp_action_group\x12\x19\n" +
11228 "\bgroup_id\x18\x01 \x01(\rR\agroupId\"*\n" +
11229 "\x11ofp_action_nw_ttl\x12\x15\n" +
11230 "\x06nw_ttl\x18\x01 \x01(\rR\x05nwTtl\"H\n" +
11231 "\x14ofp_action_set_field\x120\n" +
11232 "\x05field\x18\x01 \x01(\v2\x1a.openflow_13.ofp_oxm_fieldR\x05field\"Q\n" +
11233 "\x17ofp_action_experimenter\x12\"\n" +
11234 "\fexperimenter\x18\x01 \x01(\rR\fexperimenter\x12\x12\n" +
11235 "\x04data\x18\x02 \x01(\fR\x04data\"\x9c\x03\n" +
11236 "\x0fofp_instruction\x12\x12\n" +
11237 "\x04type\x18\x01 \x01(\rR\x04type\x12H\n" +
11238 "\n" +
11239 "goto_table\x18\x02 \x01(\v2'.openflow_13.ofp_instruction_goto_tableH\x00R\tgotoTable\x12T\n" +
11240 "\x0ewrite_metadata\x18\x03 \x01(\v2+.openflow_13.ofp_instruction_write_metadataH\x00R\rwriteMetadata\x12@\n" +
11241 "\aactions\x18\x04 \x01(\v2$.openflow_13.ofp_instruction_actionsH\x00R\aactions\x12:\n" +
11242 "\x05meter\x18\x05 \x01(\v2\".openflow_13.ofp_instruction_meterH\x00R\x05meter\x12O\n" +
11243 "\fexperimenter\x18\x06 \x01(\v2).openflow_13.ofp_instruction_experimenterH\x00R\fexperimenterB\x06\n" +
11244 "\x04data\"7\n" +
11245 "\x1aofp_instruction_goto_table\x12\x19\n" +
11246 "\btable_id\x18\x01 \x01(\rR\atableId\"a\n" +
11247 "\x1eofp_instruction_write_metadata\x12\x1a\n" +
11248 "\bmetadata\x18\x01 \x01(\x04R\bmetadata\x12#\n" +
11249 "\rmetadata_mask\x18\x02 \x01(\x04R\fmetadataMask\"L\n" +
11250 "\x17ofp_instruction_actions\x121\n" +
11251 "\aactions\x18\x01 \x03(\v2\x17.openflow_13.ofp_actionR\aactions\"2\n" +
11252 "\x15ofp_instruction_meter\x12\x19\n" +
11253 "\bmeter_id\x18\x01 \x01(\rR\ameterId\"V\n" +
11254 "\x1cofp_instruction_experimenter\x12\"\n" +
11255 "\fexperimenter\x18\x01 \x01(\rR\fexperimenter\x12\x12\n" +
11256 "\x04data\x18\x02 \x01(\fR\x04data\"\xdc\x03\n" +
11257 "\fofp_flow_mod\x12\x16\n" +
11258 "\x06cookie\x18\x01 \x01(\x04R\x06cookie\x12\x1f\n" +
11259 "\vcookie_mask\x18\x02 \x01(\x04R\n" +
11260 "cookieMask\x12\x19\n" +
11261 "\btable_id\x18\x03 \x01(\rR\atableId\x12;\n" +
11262 "\acommand\x18\x04 \x01(\x0e2!.openflow_13.ofp_flow_mod_commandR\acommand\x12!\n" +
11263 "\fidle_timeout\x18\x05 \x01(\rR\vidleTimeout\x12!\n" +
11264 "\fhard_timeout\x18\x06 \x01(\rR\vhardTimeout\x12\x1a\n" +
11265 "\bpriority\x18\a \x01(\rR\bpriority\x12\x1b\n" +
11266 "\tbuffer_id\x18\b \x01(\rR\bbufferId\x12\x19\n" +
11267 "\bout_port\x18\t \x01(\rR\aoutPort\x12\x1b\n" +
11268 "\tout_group\x18\n" +
11269 " \x01(\rR\boutGroup\x12\x14\n" +
11270 "\x05flags\x18\v \x01(\rR\x05flags\x12,\n" +
11271 "\x05match\x18\f \x01(\v2\x16.openflow_13.ofp_matchR\x05match\x12@\n" +
11272 "\finstructions\x18\r \x03(\v2\x1c.openflow_13.ofp_instructionR\finstructions\"\x97\x01\n" +
11273 "\n" +
11274 "ofp_bucket\x12\x16\n" +
11275 "\x06weight\x18\x01 \x01(\rR\x06weight\x12\x1d\n" +
11276 "\n" +
11277 "watch_port\x18\x02 \x01(\rR\twatchPort\x12\x1f\n" +
11278 "\vwatch_group\x18\x03 \x01(\rR\n" +
11279 "watchGroup\x121\n" +
11280 "\aactions\x18\x04 \x03(\v2\x17.openflow_13.ofp_actionR\aactions\"\xcc\x01\n" +
11281 "\rofp_group_mod\x12<\n" +
11282 "\acommand\x18\x01 \x01(\x0e2\".openflow_13.ofp_group_mod_commandR\acommand\x12/\n" +
11283 "\x04type\x18\x02 \x01(\x0e2\x1b.openflow_13.ofp_group_typeR\x04type\x12\x19\n" +
11284 "\bgroup_id\x18\x03 \x01(\rR\agroupId\x121\n" +
11285 "\abuckets\x18\x04 \x03(\v2\x17.openflow_13.ofp_bucketR\abuckets\"\x8d\x01\n" +
11286 "\x0eofp_packet_out\x12\x1b\n" +
11287 "\tbuffer_id\x18\x01 \x01(\rR\bbufferId\x12\x17\n" +
11288 "\ain_port\x18\x02 \x01(\rR\x06inPort\x121\n" +
11289 "\aactions\x18\x03 \x03(\v2\x17.openflow_13.ofp_actionR\aactions\x12\x12\n" +
11290 "\x04data\x18\x04 \x01(\fR\x04data\"\xdc\x01\n" +
11291 "\rofp_packet_in\x12\x1b\n" +
11292 "\tbuffer_id\x18\x01 \x01(\rR\bbufferId\x129\n" +
11293 "\x06reason\x18\x02 \x01(\x0e2!.openflow_13.ofp_packet_in_reasonR\x06reason\x12\x19\n" +
11294 "\btable_id\x18\x03 \x01(\rR\atableId\x12\x16\n" +
11295 "\x06cookie\x18\x04 \x01(\x04R\x06cookie\x12,\n" +
11296 "\x05match\x18\x05 \x01(\v2\x16.openflow_13.ofp_matchR\x05match\x12\x12\n" +
11297 "\x04data\x18\x06 \x01(\fR\x04data\"\x9d\x03\n" +
11298 "\x10ofp_flow_removed\x12\x16\n" +
11299 "\x06cookie\x18\x01 \x01(\x04R\x06cookie\x12\x1a\n" +
11300 "\bpriority\x18\x02 \x01(\rR\bpriority\x12<\n" +
11301 "\x06reason\x18\x03 \x01(\x0e2$.openflow_13.ofp_flow_removed_reasonR\x06reason\x12\x19\n" +
11302 "\btable_id\x18\x04 \x01(\rR\atableId\x12!\n" +
11303 "\fduration_sec\x18\x05 \x01(\rR\vdurationSec\x12#\n" +
11304 "\rduration_nsec\x18\x06 \x01(\rR\fdurationNsec\x12!\n" +
11305 "\fidle_timeout\x18\a \x01(\rR\vidleTimeout\x12!\n" +
11306 "\fhard_timeout\x18\b \x01(\rR\vhardTimeout\x12!\n" +
11307 "\fpacket_count\x18\t \x01(\x04R\vpacketCount\x12\x1d\n" +
11308 "\n" +
11309 "byte_count\x18\n" +
11310 " \x01(\x04R\tbyteCount\x12,\n" +
11311 "\x05match\x18y \x01(\v2\x16.openflow_13.ofp_matchR\x05match\"\xdc\x02\n" +
11312 "\x15ofp_meter_band_header\x124\n" +
11313 "\x04type\x18\x01 \x01(\x0e2 .openflow_13.ofp_meter_band_typeR\x04type\x12\x12\n" +
11314 "\x04rate\x18\x02 \x01(\rR\x04rate\x12\x1d\n" +
11315 "\n" +
11316 "burst_size\x18\x03 \x01(\rR\tburstSize\x126\n" +
11317 "\x04drop\x18\x04 \x01(\v2 .openflow_13.ofp_meter_band_dropH\x00R\x04drop\x12J\n" +
11318 "\vdscp_remark\x18\x05 \x01(\v2'.openflow_13.ofp_meter_band_dscp_remarkH\x00R\n" +
11319 "dscpRemark\x12N\n" +
11320 "\fexperimenter\x18\x06 \x01(\v2(.openflow_13.ofp_meter_band_experimenterH\x00R\fexperimenterB\x06\n" +
11321 "\x04data\"\x15\n" +
11322 "\x13ofp_meter_band_drop\";\n" +
11323 "\x1aofp_meter_band_dscp_remark\x12\x1d\n" +
11324 "\n" +
11325 "prec_level\x18\x01 \x01(\rR\tprecLevel\"A\n" +
11326 "\x1bofp_meter_band_experimenter\x12\"\n" +
11327 "\fexperimenter\x18\x01 \x01(\rR\fexperimenter\"\xb8\x01\n" +
11328 "\rofp_meter_mod\x12<\n" +
11329 "\acommand\x18\x01 \x01(\x0e2\".openflow_13.ofp_meter_mod_commandR\acommand\x12\x14\n" +
11330 "\x05flags\x18\x02 \x01(\rR\x05flags\x12\x19\n" +
11331 "\bmeter_id\x18\x03 \x01(\rR\ameterId\x128\n" +
11332 "\x05bands\x18\x04 \x03(\v2\".openflow_13.ofp_meter_band_headerR\x05bands\"|\n" +
11333 "\rofp_error_msg\x12/\n" +
11334 "\x06header\x18\x01 \x01(\v2\x17.openflow_13.ofp_headerR\x06header\x12\x12\n" +
11335 "\x04type\x18\x02 \x01(\rR\x04type\x12\x12\n" +
11336 "\x04code\x18\x03 \x01(\rR\x04code\x12\x12\n" +
11337 "\x04data\x18\x04 \x01(\fR\x04data\"\x83\x01\n" +
11338 "\x1aofp_error_experimenter_msg\x12\x12\n" +
11339 "\x04type\x18\x01 \x01(\rR\x04type\x12\x19\n" +
11340 "\bexp_type\x18\x02 \x01(\rR\aexpType\x12\"\n" +
11341 "\fexperimenter\x18\x03 \x01(\rR\fexperimenter\x12\x12\n" +
11342 "\x04data\x18\x04 \x01(\fR\x04data\"v\n" +
11343 "\x15ofp_multipart_request\x123\n" +
11344 "\x04type\x18\x01 \x01(\x0e2\x1f.openflow_13.ofp_multipart_typeR\x04type\x12\x14\n" +
11345 "\x05flags\x18\x02 \x01(\rR\x05flags\x12\x12\n" +
11346 "\x04body\x18\x03 \x01(\fR\x04body\"t\n" +
11347 "\x13ofp_multipart_reply\x123\n" +
11348 "\x04type\x18\x01 \x01(\x0e2\x1f.openflow_13.ofp_multipart_typeR\x04type\x12\x14\n" +
11349 "\x05flags\x18\x02 \x01(\rR\x05flags\x12\x12\n" +
11350 "\x04body\x18\x03 \x01(\fR\x04body\"\x8f\x01\n" +
11351 "\bofp_desc\x12\x19\n" +
11352 "\bmfr_desc\x18\x01 \x01(\tR\amfrDesc\x12\x17\n" +
11353 "\ahw_desc\x18\x02 \x01(\tR\x06hwDesc\x12\x17\n" +
11354 "\asw_desc\x18\x03 \x01(\tR\x06swDesc\x12\x1d\n" +
11355 "\n" +
11356 "serial_num\x18\x04 \x01(\tR\tserialNum\x12\x17\n" +
11357 "\adp_desc\x18\x05 \x01(\tR\x06dpDesc\"\xd2\x01\n" +
11358 "\x16ofp_flow_stats_request\x12\x19\n" +
11359 "\btable_id\x18\x01 \x01(\rR\atableId\x12\x19\n" +
11360 "\bout_port\x18\x02 \x01(\rR\aoutPort\x12\x1b\n" +
11361 "\tout_group\x18\x03 \x01(\rR\boutGroup\x12\x16\n" +
11362 "\x06cookie\x18\x04 \x01(\x04R\x06cookie\x12\x1f\n" +
11363 "\vcookie_mask\x18\x05 \x01(\x04R\n" +
11364 "cookieMask\x12,\n" +
11365 "\x05match\x18\x06 \x01(\v2\x16.openflow_13.ofp_matchR\x05match\"\xc5\x03\n" +
11366 "\x0eofp_flow_stats\x12\x0e\n" +
11367 "\x02id\x18\x0e \x01(\x04R\x02id\x12\x19\n" +
11368 "\btable_id\x18\x01 \x01(\rR\atableId\x12!\n" +
11369 "\fduration_sec\x18\x02 \x01(\rR\vdurationSec\x12#\n" +
11370 "\rduration_nsec\x18\x03 \x01(\rR\fdurationNsec\x12\x1a\n" +
11371 "\bpriority\x18\x04 \x01(\rR\bpriority\x12!\n" +
11372 "\fidle_timeout\x18\x05 \x01(\rR\vidleTimeout\x12!\n" +
11373 "\fhard_timeout\x18\x06 \x01(\rR\vhardTimeout\x12\x14\n" +
11374 "\x05flags\x18\a \x01(\rR\x05flags\x12\x16\n" +
11375 "\x06cookie\x18\b \x01(\x04R\x06cookie\x12!\n" +
11376 "\fpacket_count\x18\t \x01(\x04R\vpacketCount\x12\x1d\n" +
11377 "\n" +
11378 "byte_count\x18\n" +
11379 " \x01(\x04R\tbyteCount\x12,\n" +
11380 "\x05match\x18\f \x01(\v2\x16.openflow_13.ofp_matchR\x05match\x12@\n" +
11381 "\finstructions\x18\r \x03(\v2\x1c.openflow_13.ofp_instructionR\finstructions\"\xd7\x01\n" +
11382 "\x1bofp_aggregate_stats_request\x12\x19\n" +
11383 "\btable_id\x18\x01 \x01(\rR\atableId\x12\x19\n" +
11384 "\bout_port\x18\x02 \x01(\rR\aoutPort\x12\x1b\n" +
11385 "\tout_group\x18\x03 \x01(\rR\boutGroup\x12\x16\n" +
11386 "\x06cookie\x18\x04 \x01(\x04R\x06cookie\x12\x1f\n" +
11387 "\vcookie_mask\x18\x05 \x01(\x04R\n" +
11388 "cookieMask\x12,\n" +
11389 "\x05match\x18\x06 \x01(\v2\x16.openflow_13.ofp_matchR\x05match\"|\n" +
11390 "\x19ofp_aggregate_stats_reply\x12!\n" +
11391 "\fpacket_count\x18\x01 \x01(\x04R\vpacketCount\x12\x1d\n" +
11392 "\n" +
11393 "byte_count\x18\x02 \x01(\x04R\tbyteCount\x12\x1d\n" +
11394 "\n" +
11395 "flow_count\x18\x03 \x01(\rR\tflowCount\"\xed\x03\n" +
11396 "\x1aofp_table_feature_property\x12<\n" +
11397 "\x04type\x18\x01 \x01(\x0e2(.openflow_13.ofp_table_feature_prop_typeR\x04type\x12V\n" +
11398 "\finstructions\x18\x02 \x01(\v20.openflow_13.ofp_table_feature_prop_instructionsH\x00R\finstructions\x12R\n" +
11399 "\vnext_tables\x18\x03 \x01(\v2/.openflow_13.ofp_table_feature_prop_next_tablesH\x00R\n" +
11400 "nextTables\x12G\n" +
11401 "\aactions\x18\x04 \x01(\v2+.openflow_13.ofp_table_feature_prop_actionsH\x00R\aactions\x12;\n" +
11402 "\x03oxm\x18\x05 \x01(\v2'.openflow_13.ofp_table_feature_prop_oxmH\x00R\x03oxm\x12V\n" +
11403 "\fexperimenter\x18\x06 \x01(\v20.openflow_13.ofp_table_feature_prop_experimenterH\x00R\fexperimenterB\a\n" +
11404 "\x05value\"g\n" +
11405 "#ofp_table_feature_prop_instructions\x12@\n" +
11406 "\finstructions\x18\x01 \x03(\v2\x1c.openflow_13.ofp_instructionR\finstructions\"J\n" +
11407 "\"ofp_table_feature_prop_next_tables\x12$\n" +
11408 "\x0enext_table_ids\x18\x01 \x03(\rR\fnextTableIds\"S\n" +
11409 "\x1eofp_table_feature_prop_actions\x121\n" +
11410 "\aactions\x18\x01 \x03(\v2\x17.openflow_13.ofp_actionR\aactions\"5\n" +
11411 "\x1aofp_table_feature_prop_oxm\x12\x17\n" +
11412 "\aoxm_ids\x18\x03 \x03(\rR\x06oxmIds\"\x91\x01\n" +
11413 "#ofp_table_feature_prop_experimenter\x12\"\n" +
11414 "\fexperimenter\x18\x02 \x01(\rR\fexperimenter\x12\x19\n" +
11415 "\bexp_type\x18\x03 \x01(\rR\aexpType\x12+\n" +
11416 "\x11experimenter_data\x18\x04 \x03(\rR\x10experimenterData\"\x93\x02\n" +
11417 "\x12ofp_table_features\x12\x19\n" +
11418 "\btable_id\x18\x01 \x01(\rR\atableId\x12\x12\n" +
11419 "\x04name\x18\x02 \x01(\tR\x04name\x12%\n" +
11420 "\x0emetadata_match\x18\x03 \x01(\x04R\rmetadataMatch\x12%\n" +
11421 "\x0emetadata_write\x18\x04 \x01(\x04R\rmetadataWrite\x12\x16\n" +
11422 "\x06config\x18\x05 \x01(\rR\x06config\x12\x1f\n" +
11423 "\vmax_entries\x18\x06 \x01(\rR\n" +
11424 "maxEntries\x12G\n" +
11425 "\n" +
11426 "properties\x18\a \x03(\v2'.openflow_13.ofp_table_feature_propertyR\n" +
11427 "properties\"\x97\x01\n" +
11428 "\x0fofp_table_stats\x12\x19\n" +
11429 "\btable_id\x18\x01 \x01(\rR\atableId\x12!\n" +
11430 "\factive_count\x18\x02 \x01(\rR\vactiveCount\x12!\n" +
11431 "\flookup_count\x18\x03 \x01(\x04R\vlookupCount\x12#\n" +
11432 "\rmatched_count\x18\x04 \x01(\x04R\fmatchedCount\"1\n" +
11433 "\x16ofp_port_stats_request\x12\x17\n" +
11434 "\aport_no\x18\x01 \x01(\rR\x06portNo\"\xdd\x03\n" +
11435 "\x0eofp_port_stats\x12\x17\n" +
11436 "\aport_no\x18\x01 \x01(\rR\x06portNo\x12\x1d\n" +
11437 "\n" +
11438 "rx_packets\x18\x02 \x01(\x04R\trxPackets\x12\x1d\n" +
11439 "\n" +
11440 "tx_packets\x18\x03 \x01(\x04R\ttxPackets\x12\x19\n" +
11441 "\brx_bytes\x18\x04 \x01(\x04R\arxBytes\x12\x19\n" +
11442 "\btx_bytes\x18\x05 \x01(\x04R\atxBytes\x12\x1d\n" +
11443 "\n" +
11444 "rx_dropped\x18\x06 \x01(\x04R\trxDropped\x12\x1d\n" +
11445 "\n" +
11446 "tx_dropped\x18\a \x01(\x04R\ttxDropped\x12\x1b\n" +
11447 "\trx_errors\x18\b \x01(\x04R\brxErrors\x12\x1b\n" +
11448 "\ttx_errors\x18\t \x01(\x04R\btxErrors\x12 \n" +
11449 "\frx_frame_err\x18\n" +
11450 " \x01(\x04R\n" +
11451 "rxFrameErr\x12\x1e\n" +
11452 "\vrx_over_err\x18\v \x01(\x04R\trxOverErr\x12\x1c\n" +
11453 "\n" +
11454 "rx_crc_err\x18\f \x01(\x04R\brxCrcErr\x12\x1e\n" +
11455 "\n" +
11456 "collisions\x18\r \x01(\x04R\n" +
11457 "collisions\x12!\n" +
11458 "\fduration_sec\x18\x0e \x01(\rR\vdurationSec\x12#\n" +
11459 "\rduration_nsec\x18\x0f \x01(\rR\fdurationNsec\"4\n" +
11460 "\x17ofp_group_stats_request\x12\x19\n" +
11461 "\bgroup_id\x18\x01 \x01(\rR\agroupId\"V\n" +
11462 "\x12ofp_bucket_counter\x12!\n" +
11463 "\fpacket_count\x18\x01 \x01(\x04R\vpacketCount\x12\x1d\n" +
11464 "\n" +
11465 "byte_count\x18\x02 \x01(\x04R\tbyteCount\"\x97\x02\n" +
11466 "\x0fofp_group_stats\x12\x19\n" +
11467 "\bgroup_id\x18\x01 \x01(\rR\agroupId\x12\x1b\n" +
11468 "\tref_count\x18\x02 \x01(\rR\brefCount\x12!\n" +
11469 "\fpacket_count\x18\x03 \x01(\x04R\vpacketCount\x12\x1d\n" +
11470 "\n" +
11471 "byte_count\x18\x04 \x01(\x04R\tbyteCount\x12!\n" +
11472 "\fduration_sec\x18\x05 \x01(\rR\vdurationSec\x12#\n" +
11473 "\rduration_nsec\x18\x06 \x01(\rR\fdurationNsec\x12B\n" +
11474 "\fbucket_stats\x18\a \x03(\v2\x1f.openflow_13.ofp_bucket_counterR\vbucketStats\"\x8f\x01\n" +
11475 "\x0eofp_group_desc\x12/\n" +
11476 "\x04type\x18\x01 \x01(\x0e2\x1b.openflow_13.ofp_group_typeR\x04type\x12\x19\n" +
11477 "\bgroup_id\x18\x02 \x01(\rR\agroupId\x121\n" +
11478 "\abuckets\x18\x03 \x03(\v2\x17.openflow_13.ofp_bucketR\abuckets\"v\n" +
11479 "\x0fofp_group_entry\x12/\n" +
11480 "\x04desc\x18\x01 \x01(\v2\x1b.openflow_13.ofp_group_descR\x04desc\x122\n" +
11481 "\x05stats\x18\x02 \x01(\v2\x1c.openflow_13.ofp_group_statsR\x05stats\"\x87\x01\n" +
11482 "\x12ofp_group_features\x12\x14\n" +
11483 "\x05types\x18\x01 \x01(\rR\x05types\x12\"\n" +
11484 "\fcapabilities\x18\x02 \x01(\rR\fcapabilities\x12\x1d\n" +
11485 "\n" +
11486 "max_groups\x18\x03 \x03(\rR\tmaxGroups\x12\x18\n" +
11487 "\aactions\x18\x04 \x03(\rR\aactions\"8\n" +
11488 "\x1bofp_meter_multipart_request\x12\x19\n" +
11489 "\bmeter_id\x18\x01 \x01(\rR\ameterId\"j\n" +
11490 "\x14ofp_meter_band_stats\x12*\n" +
11491 "\x11packet_band_count\x18\x01 \x01(\x04R\x0fpacketBandCount\x12&\n" +
11492 "\x0fbyte_band_count\x18\x02 \x01(\x04R\rbyteBandCount\"\xa1\x02\n" +
11493 "\x0fofp_meter_stats\x12\x19\n" +
11494 "\bmeter_id\x18\x01 \x01(\rR\ameterId\x12\x1d\n" +
11495 "\n" +
11496 "flow_count\x18\x02 \x01(\rR\tflowCount\x12&\n" +
11497 "\x0fpacket_in_count\x18\x03 \x01(\x04R\rpacketInCount\x12\"\n" +
11498 "\rbyte_in_count\x18\x04 \x01(\x04R\vbyteInCount\x12!\n" +
11499 "\fduration_sec\x18\x05 \x01(\rR\vdurationSec\x12#\n" +
11500 "\rduration_nsec\x18\x06 \x01(\rR\fdurationNsec\x12@\n" +
11501 "\n" +
11502 "band_stats\x18\a \x03(\v2!.openflow_13.ofp_meter_band_statsR\tbandStats\"}\n" +
11503 "\x10ofp_meter_config\x12\x14\n" +
11504 "\x05flags\x18\x01 \x01(\rR\x05flags\x12\x19\n" +
11505 "\bmeter_id\x18\x02 \x01(\rR\ameterId\x128\n" +
11506 "\x05bands\x18\x03 \x03(\v2\".openflow_13.ofp_meter_band_headerR\x05bands\"\xae\x01\n" +
11507 "\x12ofp_meter_features\x12\x1b\n" +
11508 "\tmax_meter\x18\x01 \x01(\rR\bmaxMeter\x12\x1d\n" +
11509 "\n" +
11510 "band_types\x18\x02 \x01(\rR\tbandTypes\x12\"\n" +
11511 "\fcapabilities\x18\x03 \x01(\rR\fcapabilities\x12\x1b\n" +
11512 "\tmax_bands\x18\x04 \x01(\rR\bmaxBands\x12\x1b\n" +
11513 "\tmax_color\x18\x05 \x01(\rR\bmaxColor\"|\n" +
11514 "\x0fofp_meter_entry\x125\n" +
11515 "\x06config\x18\x01 \x01(\v2\x1d.openflow_13.ofp_meter_configR\x06config\x122\n" +
11516 "\x05stats\x18\x02 \x01(\v2\x1c.openflow_13.ofp_meter_statsR\x05stats\"v\n" +
11517 "!ofp_experimenter_multipart_header\x12\"\n" +
11518 "\fexperimenter\x18\x01 \x01(\rR\fexperimenter\x12\x19\n" +
11519 "\bexp_type\x18\x02 \x01(\rR\aexpType\x12\x12\n" +
11520 "\x04data\x18\x03 \x01(\fR\x04data\"l\n" +
11521 "\x17ofp_experimenter_header\x12\"\n" +
11522 "\fexperimenter\x18\x01 \x01(\rR\fexperimenter\x12\x19\n" +
11523 "\bexp_type\x18\x02 \x01(\rR\aexpType\x12\x12\n" +
11524 "\x04data\x18\x03 \x01(\fR\x04data\"E\n" +
11525 "\x15ofp_queue_prop_header\x12\x1a\n" +
11526 "\bproperty\x18\x01 \x01(\rR\bproperty\x12\x10\n" +
11527 "\x03len\x18\x02 \x01(\rR\x03len\"r\n" +
11528 "\x17ofp_queue_prop_min_rate\x12C\n" +
11529 "\vprop_header\x18\x01 \x01(\v2\".openflow_13.ofp_queue_prop_headerR\n" +
11530 "propHeader\x12\x12\n" +
11531 "\x04rate\x18\x02 \x01(\rR\x04rate\"r\n" +
11532 "\x17ofp_queue_prop_max_rate\x12C\n" +
11533 "\vprop_header\x18\x01 \x01(\v2\".openflow_13.ofp_queue_prop_headerR\n" +
11534 "propHeader\x12\x12\n" +
11535 "\x04rate\x18\x02 \x01(\rR\x04rate\"\x9a\x01\n" +
11536 "\x1bofp_queue_prop_experimenter\x12C\n" +
11537 "\vprop_header\x18\x01 \x01(\v2\".openflow_13.ofp_queue_prop_headerR\n" +
11538 "propHeader\x12\"\n" +
11539 "\fexperimenter\x18\x02 \x01(\rR\fexperimenter\x12\x12\n" +
11540 "\x04data\x18\x03 \x01(\fR\x04data\"\x85\x01\n" +
11541 "\x10ofp_packet_queue\x12\x19\n" +
11542 "\bqueue_id\x18\x01 \x01(\rR\aqueueId\x12\x12\n" +
11543 "\x04port\x18\x02 \x01(\rR\x04port\x12B\n" +
11544 "\n" +
11545 "properties\x18\x04 \x03(\v2\".openflow_13.ofp_queue_prop_headerR\n" +
11546 "properties\"2\n" +
11547 "\x1cofp_queue_get_config_request\x12\x12\n" +
11548 "\x04port\x18\x01 \x01(\rR\x04port\"g\n" +
11549 "\x1aofp_queue_get_config_reply\x12\x12\n" +
11550 "\x04port\x18\x01 \x01(\rR\x04port\x125\n" +
11551 "\x06queues\x18\x02 \x03(\v2\x1d.openflow_13.ofp_packet_queueR\x06queues\"E\n" +
11552 "\x14ofp_action_set_queue\x12\x12\n" +
11553 "\x04type\x18\x01 \x01(\rR\x04type\x12\x19\n" +
11554 "\bqueue_id\x18\x03 \x01(\rR\aqueueId\"M\n" +
11555 "\x17ofp_queue_stats_request\x12\x17\n" +
11556 "\aport_no\x18\x01 \x01(\rR\x06portNo\x12\x19\n" +
11557 "\bqueue_id\x18\x02 \x01(\rR\aqueueId\"\xe4\x01\n" +
11558 "\x0fofp_queue_stats\x12\x17\n" +
11559 "\aport_no\x18\x01 \x01(\rR\x06portNo\x12\x19\n" +
11560 "\bqueue_id\x18\x02 \x01(\rR\aqueueId\x12\x19\n" +
11561 "\btx_bytes\x18\x03 \x01(\x04R\atxBytes\x12\x1d\n" +
11562 "\n" +
11563 "tx_packets\x18\x04 \x01(\x04R\ttxPackets\x12\x1b\n" +
11564 "\ttx_errors\x18\x05 \x01(\x04R\btxErrors\x12!\n" +
11565 "\fduration_sec\x18\x06 \x01(\rR\vdurationSec\x12#\n" +
11566 "\rduration_nsec\x18\a \x01(\rR\fdurationNsec\"m\n" +
11567 "\x10ofp_role_request\x124\n" +
11568 "\x04role\x18\x01 \x01(\x0e2 .openflow_13.ofp_controller_roleR\x04role\x12#\n" +
11569 "\rgeneration_id\x18\x02 \x01(\x04R\fgenerationId\"\x8e\x01\n" +
11570 "\x10ofp_async_config\x12$\n" +
11571 "\x0epacket_in_mask\x18\x01 \x03(\rR\fpacketInMask\x12(\n" +
11572 "\x10port_status_mask\x18\x02 \x03(\rR\x0eportStatusMask\x12*\n" +
11573 "\x11flow_removed_mask\x18\x03 \x03(\rR\x0fflowRemovedMask\"k\n" +
11574 "\x0eMeterModUpdate\x12\x0e\n" +
11575 "\x02id\x18\x01 \x01(\tR\x02id\x127\n" +
11576 "\tmeter_mod\x18\x02 \x01(\v2\x1a.openflow_13.ofp_meter_modR\bmeterMod\x12\x10\n" +
11577 "\x03xid\x18\x03 \x01(\rR\x03xid\"P\n" +
11578 "\x0fMeterStatsReply\x12=\n" +
11579 "\vmeter_stats\x18\x01 \x03(\v2\x1c.openflow_13.ofp_meter_statsR\n" +
11580 "meterStats\"i\n" +
11581 "\x0fFlowTableUpdate\x12\x0e\n" +
11582 "\x02id\x18\x01 \x01(\tR\x02id\x124\n" +
11583 "\bflow_mod\x18\x02 \x01(\v2\x19.openflow_13.ofp_flow_modR\aflowMod\x12\x10\n" +
11584 "\x03xid\x18\x03 \x01(\rR\x03xid\"q\n" +
11585 "\x14FlowGroupTableUpdate\x12\x0e\n" +
11586 "\x02id\x18\x01 \x01(\tR\x02id\x127\n" +
11587 "\tgroup_mod\x18\x02 \x01(\v2\x1a.openflow_13.ofp_group_modR\bgroupMod\x12\x10\n" +
11588 "\x03xid\x18\x03 \x01(\rR\x03xid\":\n" +
11589 "\x05Flows\x121\n" +
11590 "\x05items\x18\x01 \x03(\v2\x1b.openflow_13.ofp_flow_statsR\x05items\"<\n" +
11591 "\x06Meters\x122\n" +
11592 "\x05items\x18\x01 \x03(\v2\x1c.openflow_13.ofp_meter_entryR\x05items\"@\n" +
11593 "\n" +
11594 "FlowGroups\x122\n" +
11595 "\x05items\x18\x01 \x03(\v2\x1c.openflow_13.ofp_group_entryR\x05items\"i\n" +
11596 "\vFlowChanges\x12)\n" +
11597 "\x06to_add\x18\x01 \x01(\v2\x12.openflow_13.FlowsR\x05toAdd\x12/\n" +
11598 "\tto_remove\x18\x02 \x01(\v2\x12.openflow_13.FlowsR\btoRemove\"\xae\x01\n" +
11599 "\x10FlowGroupChanges\x12.\n" +
11600 "\x06to_add\x18\x01 \x01(\v2\x17.openflow_13.FlowGroupsR\x05toAdd\x124\n" +
11601 "\tto_remove\x18\x02 \x01(\v2\x17.openflow_13.FlowGroupsR\btoRemove\x124\n" +
11602 "\tto_update\x18\x03 \x01(\v2\x17.openflow_13.FlowGroupsR\btoUpdate\"S\n" +
11603 "\bPacketIn\x12\x0e\n" +
11604 "\x02id\x18\x01 \x01(\tR\x02id\x127\n" +
11605 "\tpacket_in\x18\x02 \x01(\v2\x1a.openflow_13.ofp_packet_inR\bpacketIn\"W\n" +
11606 "\tPacketOut\x12\x0e\n" +
11607 "\x02id\x18\x01 \x01(\tR\x02id\x12:\n" +
11608 "\n" +
11609 "packet_out\x18\x02 \x01(\v2\x1b.openflow_13.ofp_packet_outR\tpacketOut\"\xe2\x01\n" +
11610 "\vChangeEvent\x12\x0e\n" +
11611 "\x02id\x18\x01 \x01(\tR\x02id\x12?\n" +
11612 "\vport_status\x18\x02 \x01(\v2\x1c.openflow_13.ofp_port_statusH\x00R\n" +
11613 "portStatus\x122\n" +
11614 "\x05error\x18\x03 \x01(\v2\x1a.openflow_13.ofp_error_msgH\x00R\x05error\x12E\n" +
11615 "\rdevice_status\x18\x04 \x01(\v2\x1e.openflow_13.ofp_device_statusH\x00R\fdeviceStatusB\a\n" +
11616 "\x05event\"E\n" +
11617 "\fFlowMetadata\x125\n" +
11618 "\x06meters\x18\x01 \x03(\v2\x1d.openflow_13.ofp_meter_configR\x06meters*\xd5\x01\n" +
11619 "\vofp_port_no\x12\x10\n" +
11620 "\fOFPP_INVALID\x10\x00\x12\x10\n" +
11621 "\bOFPP_MAX\x10\x80\xfe\xff\xff\a\x12\x14\n" +
11622 "\fOFPP_IN_PORT\x10\xf8\xff\xff\xff\a\x12\x12\n" +
11623 "\n" +
11624 "OFPP_TABLE\x10\xf9\xff\xff\xff\a\x12\x13\n" +
11625 "\vOFPP_NORMAL\x10\xfa\xff\xff\xff\a\x12\x12\n" +
11626 "\n" +
11627 "OFPP_FLOOD\x10\xfb\xff\xff\xff\a\x12\x10\n" +
11628 "\bOFPP_ALL\x10\xfc\xff\xff\xff\a\x12\x17\n" +
11629 "\x0fOFPP_CONTROLLER\x10\xfd\xff\xff\xff\a\x12\x12\n" +
11630 "\n" +
11631 "OFPP_LOCAL\x10\xfe\xff\xff\xff\a\x12\x10\n" +
11632 "\bOFPP_ANY\x10\xff\xff\xff\xff\a*\xc8\x05\n" +
11633 "\bofp_type\x12\x0e\n" +
11634 "\n" +
11635 "OFPT_HELLO\x10\x00\x12\x0e\n" +
11636 "\n" +
11637 "OFPT_ERROR\x10\x01\x12\x15\n" +
11638 "\x11OFPT_ECHO_REQUEST\x10\x02\x12\x13\n" +
11639 "\x0fOFPT_ECHO_REPLY\x10\x03\x12\x15\n" +
11640 "\x11OFPT_EXPERIMENTER\x10\x04\x12\x19\n" +
11641 "\x15OFPT_FEATURES_REQUEST\x10\x05\x12\x17\n" +
11642 "\x13OFPT_FEATURES_REPLY\x10\x06\x12\x1b\n" +
11643 "\x17OFPT_GET_CONFIG_REQUEST\x10\a\x12\x19\n" +
11644 "\x15OFPT_GET_CONFIG_REPLY\x10\b\x12\x13\n" +
11645 "\x0fOFPT_SET_CONFIG\x10\t\x12\x12\n" +
11646 "\x0eOFPT_PACKET_IN\x10\n" +
11647 "\x12\x15\n" +
11648 "\x11OFPT_FLOW_REMOVED\x10\v\x12\x14\n" +
11649 "\x10OFPT_PORT_STATUS\x10\f\x12\x13\n" +
11650 "\x0fOFPT_PACKET_OUT\x10\r\x12\x11\n" +
11651 "\rOFPT_FLOW_MOD\x10\x0e\x12\x12\n" +
11652 "\x0eOFPT_GROUP_MOD\x10\x0f\x12\x11\n" +
11653 "\rOFPT_PORT_MOD\x10\x10\x12\x12\n" +
11654 "\x0eOFPT_TABLE_MOD\x10\x11\x12\x1a\n" +
11655 "\x16OFPT_MULTIPART_REQUEST\x10\x12\x12\x18\n" +
11656 "\x14OFPT_MULTIPART_REPLY\x10\x13\x12\x18\n" +
11657 "\x14OFPT_BARRIER_REQUEST\x10\x14\x12\x16\n" +
11658 "\x12OFPT_BARRIER_REPLY\x10\x15\x12!\n" +
11659 "\x1dOFPT_QUEUE_GET_CONFIG_REQUEST\x10\x16\x12\x1f\n" +
11660 "\x1bOFPT_QUEUE_GET_CONFIG_REPLY\x10\x17\x12\x15\n" +
11661 "\x11OFPT_ROLE_REQUEST\x10\x18\x12\x13\n" +
11662 "\x0fOFPT_ROLE_REPLY\x10\x19\x12\x1a\n" +
11663 "\x16OFPT_GET_ASYNC_REQUEST\x10\x1a\x12\x18\n" +
11664 "\x14OFPT_GET_ASYNC_REPLY\x10\x1b\x12\x12\n" +
11665 "\x0eOFPT_SET_ASYNC\x10\x1c\x12\x12\n" +
11666 "\x0eOFPT_METER_MOD\x10\x1d*C\n" +
11667 "\x13ofp_hello_elem_type\x12\x12\n" +
11668 "\x0eOFPHET_INVALID\x10\x00\x12\x18\n" +
11669 "\x14OFPHET_VERSIONBITMAP\x10\x01*e\n" +
11670 "\x10ofp_config_flags\x12\x14\n" +
11671 "\x10OFPC_FRAG_NORMAL\x10\x00\x12\x12\n" +
11672 "\x0eOFPC_FRAG_DROP\x10\x01\x12\x13\n" +
11673 "\x0fOFPC_FRAG_REASM\x10\x02\x12\x12\n" +
11674 "\x0eOFPC_FRAG_MASK\x10\x03*@\n" +
11675 "\x10ofp_table_config\x12\x11\n" +
11676 "\rOFPTC_INVALID\x10\x00\x12\x19\n" +
11677 "\x15OFPTC_DEPRECATED_MASK\x10\x03*>\n" +
11678 "\tofp_table\x12\x11\n" +
11679 "\rOFPTT_INVALID\x10\x00\x12\x0e\n" +
11680 "\tOFPTT_MAX\x10\xfe\x01\x12\x0e\n" +
11681 "\tOFPTT_ALL\x10\xff\x01*\xbb\x01\n" +
11682 "\x10ofp_capabilities\x12\x10\n" +
11683 "\fOFPC_INVALID\x10\x00\x12\x13\n" +
11684 "\x0fOFPC_FLOW_STATS\x10\x01\x12\x14\n" +
11685 "\x10OFPC_TABLE_STATS\x10\x02\x12\x13\n" +
11686 "\x0fOFPC_PORT_STATS\x10\x04\x12\x14\n" +
11687 "\x10OFPC_GROUP_STATS\x10\b\x12\x11\n" +
11688 "\rOFPC_IP_REASM\x10 \x12\x14\n" +
11689 "\x10OFPC_QUEUE_STATS\x10@\x12\x16\n" +
11690 "\x11OFPC_PORT_BLOCKED\x10\x80\x02*v\n" +
11691 "\x0fofp_port_config\x12\x11\n" +
11692 "\rOFPPC_INVALID\x10\x00\x12\x13\n" +
11693 "\x0fOFPPC_PORT_DOWN\x10\x01\x12\x11\n" +
11694 "\rOFPPC_NO_RECV\x10\x04\x12\x10\n" +
11695 "\fOFPPC_NO_FWD\x10 \x12\x16\n" +
11696 "\x12OFPPC_NO_PACKET_IN\x10@*[\n" +
11697 "\x0eofp_port_state\x12\x11\n" +
11698 "\rOFPPS_INVALID\x10\x00\x12\x13\n" +
11699 "\x0fOFPPS_LINK_DOWN\x10\x01\x12\x11\n" +
11700 "\rOFPPS_BLOCKED\x10\x02\x12\x0e\n" +
11701 "\n" +
11702 "OFPPS_LIVE\x10\x04*\xdd\x02\n" +
11703 "\x11ofp_port_features\x12\x11\n" +
11704 "\rOFPPF_INVALID\x10\x00\x12\x11\n" +
11705 "\rOFPPF_10MB_HD\x10\x01\x12\x11\n" +
11706 "\rOFPPF_10MB_FD\x10\x02\x12\x12\n" +
11707 "\x0eOFPPF_100MB_HD\x10\x04\x12\x12\n" +
11708 "\x0eOFPPF_100MB_FD\x10\b\x12\x10\n" +
11709 "\fOFPPF_1GB_HD\x10\x10\x12\x10\n" +
11710 "\fOFPPF_1GB_FD\x10 \x12\x11\n" +
11711 "\rOFPPF_10GB_FD\x10@\x12\x12\n" +
11712 "\rOFPPF_40GB_FD\x10\x80\x01\x12\x13\n" +
11713 "\x0eOFPPF_100GB_FD\x10\x80\x02\x12\x11\n" +
11714 "\fOFPPF_1TB_FD\x10\x80\x04\x12\x10\n" +
11715 "\vOFPPF_OTHER\x10\x80\b\x12\x11\n" +
11716 "\fOFPPF_COPPER\x10\x80\x10\x12\x10\n" +
11717 "\vOFPPF_FIBER\x10\x80 \x12\x12\n" +
11718 "\rOFPPF_AUTONEG\x10\x80@\x12\x11\n" +
11719 "\vOFPPF_PAUSE\x10\x80\x80\x01\x12\x16\n" +
11720 "\x10OFPPF_PAUSE_ASYM\x10\x80\x80\x02*D\n" +
11721 "\x0fofp_port_reason\x12\r\n" +
11722 "\tOFPPR_ADD\x10\x00\x12\x10\n" +
11723 "\fOFPPR_DELETE\x10\x01\x12\x10\n" +
11724 "\fOFPPR_MODIFY\x10\x02*F\n" +
11725 "\x15ofp_device_connection\x12\x14\n" +
11726 "\x10OFPDEV_CONNECTED\x10\x00\x12\x17\n" +
11727 "\x13OFPDEV_DISCONNECTED\x10\x01*3\n" +
11728 "\x0eofp_match_type\x12\x12\n" +
11729 "\x0eOFPMT_STANDARD\x10\x00\x12\r\n" +
11730 "\tOFPMT_OXM\x10\x01*k\n" +
11731 "\rofp_oxm_class\x12\x10\n" +
11732 "\fOFPXMC_NXM_0\x10\x00\x12\x10\n" +
11733 "\fOFPXMC_NXM_1\x10\x01\x12\x1b\n" +
11734 "\x15OFPXMC_OPENFLOW_BASIC\x10\x80\x80\x02\x12\x19\n" +
11735 "\x13OFPXMC_EXPERIMENTER\x10\xff\xff\x03*\x90\b\n" +
11736 "\x13oxm_ofb_field_types\x12\x16\n" +
11737 "\x12OFPXMT_OFB_IN_PORT\x10\x00\x12\x1a\n" +
11738 "\x16OFPXMT_OFB_IN_PHY_PORT\x10\x01\x12\x17\n" +
11739 "\x13OFPXMT_OFB_METADATA\x10\x02\x12\x16\n" +
11740 "\x12OFPXMT_OFB_ETH_DST\x10\x03\x12\x16\n" +
11741 "\x12OFPXMT_OFB_ETH_SRC\x10\x04\x12\x17\n" +
11742 "\x13OFPXMT_OFB_ETH_TYPE\x10\x05\x12\x17\n" +
11743 "\x13OFPXMT_OFB_VLAN_VID\x10\x06\x12\x17\n" +
11744 "\x13OFPXMT_OFB_VLAN_PCP\x10\a\x12\x16\n" +
11745 "\x12OFPXMT_OFB_IP_DSCP\x10\b\x12\x15\n" +
11746 "\x11OFPXMT_OFB_IP_ECN\x10\t\x12\x17\n" +
11747 "\x13OFPXMT_OFB_IP_PROTO\x10\n" +
11748 "\x12\x17\n" +
11749 "\x13OFPXMT_OFB_IPV4_SRC\x10\v\x12\x17\n" +
11750 "\x13OFPXMT_OFB_IPV4_DST\x10\f\x12\x16\n" +
11751 "\x12OFPXMT_OFB_TCP_SRC\x10\r\x12\x16\n" +
11752 "\x12OFPXMT_OFB_TCP_DST\x10\x0e\x12\x16\n" +
11753 "\x12OFPXMT_OFB_UDP_SRC\x10\x0f\x12\x16\n" +
11754 "\x12OFPXMT_OFB_UDP_DST\x10\x10\x12\x17\n" +
11755 "\x13OFPXMT_OFB_SCTP_SRC\x10\x11\x12\x17\n" +
11756 "\x13OFPXMT_OFB_SCTP_DST\x10\x12\x12\x1a\n" +
11757 "\x16OFPXMT_OFB_ICMPV4_TYPE\x10\x13\x12\x1a\n" +
11758 "\x16OFPXMT_OFB_ICMPV4_CODE\x10\x14\x12\x15\n" +
11759 "\x11OFPXMT_OFB_ARP_OP\x10\x15\x12\x16\n" +
11760 "\x12OFPXMT_OFB_ARP_SPA\x10\x16\x12\x16\n" +
11761 "\x12OFPXMT_OFB_ARP_TPA\x10\x17\x12\x16\n" +
11762 "\x12OFPXMT_OFB_ARP_SHA\x10\x18\x12\x16\n" +
11763 "\x12OFPXMT_OFB_ARP_THA\x10\x19\x12\x17\n" +
11764 "\x13OFPXMT_OFB_IPV6_SRC\x10\x1a\x12\x17\n" +
11765 "\x13OFPXMT_OFB_IPV6_DST\x10\x1b\x12\x1a\n" +
11766 "\x16OFPXMT_OFB_IPV6_FLABEL\x10\x1c\x12\x1a\n" +
11767 "\x16OFPXMT_OFB_ICMPV6_TYPE\x10\x1d\x12\x1a\n" +
11768 "\x16OFPXMT_OFB_ICMPV6_CODE\x10\x1e\x12\x1d\n" +
11769 "\x19OFPXMT_OFB_IPV6_ND_TARGET\x10\x1f\x12\x1a\n" +
11770 "\x16OFPXMT_OFB_IPV6_ND_SLL\x10 \x12\x1a\n" +
11771 "\x16OFPXMT_OFB_IPV6_ND_TLL\x10!\x12\x19\n" +
11772 "\x15OFPXMT_OFB_MPLS_LABEL\x10\"\x12\x16\n" +
11773 "\x12OFPXMT_OFB_MPLS_TC\x10#\x12\x17\n" +
11774 "\x13OFPXMT_OFB_MPLS_BOS\x10$\x12\x17\n" +
11775 "\x13OFPXMT_OFB_PBB_ISID\x10%\x12\x18\n" +
11776 "\x14OFPXMT_OFB_TUNNEL_ID\x10&\x12\x1a\n" +
11777 "\x16OFPXMT_OFB_IPV6_EXTHDR\x10'*3\n" +
11778 "\vofp_vlan_id\x12\x0f\n" +
11779 "\vOFPVID_NONE\x10\x00\x12\x13\n" +
11780 "\x0eOFPVID_PRESENT\x10\x80 *\xc9\x01\n" +
11781 "\x14ofp_ipv6exthdr_flags\x12\x12\n" +
11782 "\x0eOFPIEH_INVALID\x10\x00\x12\x11\n" +
11783 "\rOFPIEH_NONEXT\x10\x01\x12\x0e\n" +
11784 "\n" +
11785 "OFPIEH_ESP\x10\x02\x12\x0f\n" +
11786 "\vOFPIEH_AUTH\x10\x04\x12\x0f\n" +
11787 "\vOFPIEH_DEST\x10\b\x12\x0f\n" +
11788 "\vOFPIEH_FRAG\x10\x10\x12\x11\n" +
11789 "\rOFPIEH_ROUTER\x10 \x12\x0e\n" +
11790 "\n" +
11791 "OFPIEH_HOP\x10@\x12\x11\n" +
11792 "\fOFPIEH_UNREP\x10\x80\x01\x12\x11\n" +
11793 "\fOFPIEH_UNSEQ\x10\x80\x02*\xfc\x02\n" +
11794 "\x0fofp_action_type\x12\x10\n" +
11795 "\fOFPAT_OUTPUT\x10\x00\x12\x16\n" +
11796 "\x12OFPAT_COPY_TTL_OUT\x10\v\x12\x15\n" +
11797 "\x11OFPAT_COPY_TTL_IN\x10\f\x12\x16\n" +
11798 "\x12OFPAT_SET_MPLS_TTL\x10\x0f\x12\x16\n" +
11799 "\x12OFPAT_DEC_MPLS_TTL\x10\x10\x12\x13\n" +
11800 "\x0fOFPAT_PUSH_VLAN\x10\x11\x12\x12\n" +
11801 "\x0eOFPAT_POP_VLAN\x10\x12\x12\x13\n" +
11802 "\x0fOFPAT_PUSH_MPLS\x10\x13\x12\x12\n" +
11803 "\x0eOFPAT_POP_MPLS\x10\x14\x12\x13\n" +
11804 "\x0fOFPAT_SET_QUEUE\x10\x15\x12\x0f\n" +
11805 "\vOFPAT_GROUP\x10\x16\x12\x14\n" +
11806 "\x10OFPAT_SET_NW_TTL\x10\x17\x12\x14\n" +
11807 "\x10OFPAT_DEC_NW_TTL\x10\x18\x12\x13\n" +
11808 "\x0fOFPAT_SET_FIELD\x10\x19\x12\x12\n" +
11809 "\x0eOFPAT_PUSH_PBB\x10\x1a\x12\x11\n" +
11810 "\rOFPAT_POP_PBB\x10\x1b\x12\x18\n" +
11811 "\x12OFPAT_EXPERIMENTER\x10\xff\xff\x03*V\n" +
11812 "\x16ofp_controller_max_len\x12\x12\n" +
11813 "\x0eOFPCML_INVALID\x10\x00\x12\x10\n" +
11814 "\n" +
11815 "OFPCML_MAX\x10\xe5\xff\x03\x12\x16\n" +
11816 "\x10OFPCML_NO_BUFFER\x10\xff\xff\x03*\xcf\x01\n" +
11817 "\x14ofp_instruction_type\x12\x11\n" +
11818 "\rOFPIT_INVALID\x10\x00\x12\x14\n" +
11819 "\x10OFPIT_GOTO_TABLE\x10\x01\x12\x18\n" +
11820 "\x14OFPIT_WRITE_METADATA\x10\x02\x12\x17\n" +
11821 "\x13OFPIT_WRITE_ACTIONS\x10\x03\x12\x17\n" +
11822 "\x13OFPIT_APPLY_ACTIONS\x10\x04\x12\x17\n" +
11823 "\x13OFPIT_CLEAR_ACTIONS\x10\x05\x12\x0f\n" +
11824 "\vOFPIT_METER\x10\x06\x12\x18\n" +
11825 "\x12OFPIT_EXPERIMENTER\x10\xff\xff\x03*{\n" +
11826 "\x14ofp_flow_mod_command\x12\r\n" +
11827 "\tOFPFC_ADD\x10\x00\x12\x10\n" +
11828 "\fOFPFC_MODIFY\x10\x01\x12\x17\n" +
11829 "\x13OFPFC_MODIFY_STRICT\x10\x02\x12\x10\n" +
11830 "\fOFPFC_DELETE\x10\x03\x12\x17\n" +
11831 "\x13OFPFC_DELETE_STRICT\x10\x04*\xa3\x01\n" +
11832 "\x12ofp_flow_mod_flags\x12\x11\n" +
11833 "\rOFPFF_INVALID\x10\x00\x12\x17\n" +
11834 "\x13OFPFF_SEND_FLOW_REM\x10\x01\x12\x17\n" +
11835 "\x13OFPFF_CHECK_OVERLAP\x10\x02\x12\x16\n" +
11836 "\x12OFPFF_RESET_COUNTS\x10\x04\x12\x17\n" +
11837 "\x13OFPFF_NO_PKT_COUNTS\x10\b\x12\x17\n" +
11838 "\x13OFPFF_NO_BYT_COUNTS\x10\x10*S\n" +
11839 "\tofp_group\x12\x10\n" +
11840 "\fOFPG_INVALID\x10\x00\x12\x10\n" +
11841 "\bOFPG_MAX\x10\x80\xfe\xff\xff\a\x12\x10\n" +
11842 "\bOFPG_ALL\x10\xfc\xff\xff\xff\a\x12\x10\n" +
11843 "\bOFPG_ANY\x10\xff\xff\xff\xff\a*J\n" +
11844 "\x15ofp_group_mod_command\x12\r\n" +
11845 "\tOFPGC_ADD\x10\x00\x12\x10\n" +
11846 "\fOFPGC_MODIFY\x10\x01\x12\x10\n" +
11847 "\fOFPGC_DELETE\x10\x02*S\n" +
11848 "\x0eofp_group_type\x12\r\n" +
11849 "\tOFPGT_ALL\x10\x00\x12\x10\n" +
11850 "\fOFPGT_SELECT\x10\x01\x12\x12\n" +
11851 "\x0eOFPGT_INDIRECT\x10\x02\x12\f\n" +
11852 "\bOFPGT_FF\x10\x03*P\n" +
11853 "\x14ofp_packet_in_reason\x12\x11\n" +
11854 "\rOFPR_NO_MATCH\x10\x00\x12\x0f\n" +
11855 "\vOFPR_ACTION\x10\x01\x12\x14\n" +
11856 "\x10OFPR_INVALID_TTL\x10\x02*\x8b\x01\n" +
11857 "\x17ofp_flow_removed_reason\x12\x16\n" +
11858 "\x12OFPRR_IDLE_TIMEOUT\x10\x00\x12\x16\n" +
11859 "\x12OFPRR_HARD_TIMEOUT\x10\x01\x12\x10\n" +
11860 "\fOFPRR_DELETE\x10\x02\x12\x16\n" +
11861 "\x12OFPRR_GROUP_DELETE\x10\x03\x12\x16\n" +
11862 "\x12OFPRR_METER_DELETE\x10\x04*n\n" +
11863 "\tofp_meter\x12\r\n" +
11864 "\tOFPM_ZERO\x10\x00\x12\x10\n" +
11865 "\bOFPM_MAX\x10\x80\x80\xfc\xff\a\x12\x15\n" +
11866 "\rOFPM_SLOWPATH\x10\xfd\xff\xff\xff\a\x12\x17\n" +
11867 "\x0fOFPM_CONTROLLER\x10\xfe\xff\xff\xff\a\x12\x10\n" +
11868 "\bOFPM_ALL\x10\xff\xff\xff\xff\a*m\n" +
11869 "\x13ofp_meter_band_type\x12\x12\n" +
11870 "\x0eOFPMBT_INVALID\x10\x00\x12\x0f\n" +
11871 "\vOFPMBT_DROP\x10\x01\x12\x16\n" +
11872 "\x12OFPMBT_DSCP_REMARK\x10\x02\x12\x19\n" +
11873 "\x13OFPMBT_EXPERIMENTER\x10\xff\xff\x03*J\n" +
11874 "\x15ofp_meter_mod_command\x12\r\n" +
11875 "\tOFPMC_ADD\x10\x00\x12\x10\n" +
11876 "\fOFPMC_MODIFY\x10\x01\x12\x10\n" +
11877 "\fOFPMC_DELETE\x10\x02*g\n" +
11878 "\x0fofp_meter_flags\x12\x11\n" +
11879 "\rOFPMF_INVALID\x10\x00\x12\x0e\n" +
11880 "\n" +
11881 "OFPMF_KBPS\x10\x01\x12\x0f\n" +
11882 "\vOFPMF_PKTPS\x10\x02\x12\x0f\n" +
11883 "\vOFPMF_BURST\x10\x04\x12\x0f\n" +
11884 "\vOFPMF_STATS\x10\b*\xa4\x03\n" +
11885 "\x0eofp_error_type\x12\x16\n" +
11886 "\x12OFPET_HELLO_FAILED\x10\x00\x12\x15\n" +
11887 "\x11OFPET_BAD_REQUEST\x10\x01\x12\x14\n" +
11888 "\x10OFPET_BAD_ACTION\x10\x02\x12\x19\n" +
11889 "\x15OFPET_BAD_INSTRUCTION\x10\x03\x12\x13\n" +
11890 "\x0fOFPET_BAD_MATCH\x10\x04\x12\x19\n" +
11891 "\x15OFPET_FLOW_MOD_FAILED\x10\x05\x12\x1a\n" +
11892 "\x16OFPET_GROUP_MOD_FAILED\x10\x06\x12\x19\n" +
11893 "\x15OFPET_PORT_MOD_FAILED\x10\a\x12\x1a\n" +
11894 "\x16OFPET_TABLE_MOD_FAILED\x10\b\x12\x19\n" +
11895 "\x15OFPET_QUEUE_OP_FAILED\x10\t\x12\x1e\n" +
11896 "\x1aOFPET_SWITCH_CONFIG_FAILED\x10\n" +
11897 "\x12\x1d\n" +
11898 "\x19OFPET_ROLE_REQUEST_FAILED\x10\v\x12\x1a\n" +
11899 "\x16OFPET_METER_MOD_FAILED\x10\f\x12\x1f\n" +
11900 "\x1bOFPET_TABLE_FEATURES_FAILED\x10\r\x12\x18\n" +
11901 "\x12OFPET_EXPERIMENTER\x10\xff\xff\x03*B\n" +
11902 "\x15ofp_hello_failed_code\x12\x17\n" +
11903 "\x13OFPHFC_INCOMPATIBLE\x10\x00\x12\x10\n" +
11904 "\fOFPHFC_EPERM\x10\x01*\xed\x02\n" +
11905 "\x14ofp_bad_request_code\x12\x16\n" +
11906 "\x12OFPBRC_BAD_VERSION\x10\x00\x12\x13\n" +
11907 "\x0fOFPBRC_BAD_TYPE\x10\x01\x12\x18\n" +
11908 "\x14OFPBRC_BAD_MULTIPART\x10\x02\x12\x1b\n" +
11909 "\x17OFPBRC_BAD_EXPERIMENTER\x10\x03\x12\x17\n" +
11910 "\x13OFPBRC_BAD_EXP_TYPE\x10\x04\x12\x10\n" +
11911 "\fOFPBRC_EPERM\x10\x05\x12\x12\n" +
11912 "\x0eOFPBRC_BAD_LEN\x10\x06\x12\x17\n" +
11913 "\x13OFPBRC_BUFFER_EMPTY\x10\a\x12\x19\n" +
11914 "\x15OFPBRC_BUFFER_UNKNOWN\x10\b\x12\x17\n" +
11915 "\x13OFPBRC_BAD_TABLE_ID\x10\t\x12\x13\n" +
11916 "\x0fOFPBRC_IS_SLAVE\x10\n" +
11917 "\x12\x13\n" +
11918 "\x0fOFPBRC_BAD_PORT\x10\v\x12\x15\n" +
11919 "\x11OFPBRC_BAD_PACKET\x10\f\x12$\n" +
11920 " OFPBRC_MULTIPART_BUFFER_OVERFLOW\x10\r*\x9c\x03\n" +
11921 "\x13ofp_bad_action_code\x12\x13\n" +
11922 "\x0fOFPBAC_BAD_TYPE\x10\x00\x12\x12\n" +
11923 "\x0eOFPBAC_BAD_LEN\x10\x01\x12\x1b\n" +
11924 "\x17OFPBAC_BAD_EXPERIMENTER\x10\x02\x12\x17\n" +
11925 "\x13OFPBAC_BAD_EXP_TYPE\x10\x03\x12\x17\n" +
11926 "\x13OFPBAC_BAD_OUT_PORT\x10\x04\x12\x17\n" +
11927 "\x13OFPBAC_BAD_ARGUMENT\x10\x05\x12\x10\n" +
11928 "\fOFPBAC_EPERM\x10\x06\x12\x13\n" +
11929 "\x0fOFPBAC_TOO_MANY\x10\a\x12\x14\n" +
11930 "\x10OFPBAC_BAD_QUEUE\x10\b\x12\x18\n" +
11931 "\x14OFPBAC_BAD_OUT_GROUP\x10\t\x12\x1d\n" +
11932 "\x19OFPBAC_MATCH_INCONSISTENT\x10\n" +
11933 "\x12\x1c\n" +
11934 "\x18OFPBAC_UNSUPPORTED_ORDER\x10\v\x12\x12\n" +
11935 "\x0eOFPBAC_BAD_TAG\x10\f\x12\x17\n" +
11936 "\x13OFPBAC_BAD_SET_TYPE\x10\r\x12\x16\n" +
11937 "\x12OFPBAC_BAD_SET_LEN\x10\x0e\x12\x1b\n" +
11938 "\x17OFPBAC_BAD_SET_ARGUMENT\x10\x0f*\xfa\x01\n" +
11939 "\x18ofp_bad_instruction_code\x12\x17\n" +
11940 "\x13OFPBIC_UNKNOWN_INST\x10\x00\x12\x15\n" +
11941 "\x11OFPBIC_UNSUP_INST\x10\x01\x12\x17\n" +
11942 "\x13OFPBIC_BAD_TABLE_ID\x10\x02\x12\x19\n" +
11943 "\x15OFPBIC_UNSUP_METADATA\x10\x03\x12\x1e\n" +
11944 "\x1aOFPBIC_UNSUP_METADATA_MASK\x10\x04\x12\x1b\n" +
11945 "\x17OFPBIC_BAD_EXPERIMENTER\x10\x05\x12\x17\n" +
11946 "\x13OFPBIC_BAD_EXP_TYPE\x10\x06\x12\x12\n" +
11947 "\x0eOFPBIC_BAD_LEN\x10\a\x12\x10\n" +
11948 "\fOFPBIC_EPERM\x10\b*\xa5\x02\n" +
11949 "\x12ofp_bad_match_code\x12\x13\n" +
11950 "\x0fOFPBMC_BAD_TYPE\x10\x00\x12\x12\n" +
11951 "\x0eOFPBMC_BAD_LEN\x10\x01\x12\x12\n" +
11952 "\x0eOFPBMC_BAD_TAG\x10\x02\x12\x1b\n" +
11953 "\x17OFPBMC_BAD_DL_ADDR_MASK\x10\x03\x12\x1b\n" +
11954 "\x17OFPBMC_BAD_NW_ADDR_MASK\x10\x04\x12\x18\n" +
11955 "\x14OFPBMC_BAD_WILDCARDS\x10\x05\x12\x14\n" +
11956 "\x10OFPBMC_BAD_FIELD\x10\x06\x12\x14\n" +
11957 "\x10OFPBMC_BAD_VALUE\x10\a\x12\x13\n" +
11958 "\x0fOFPBMC_BAD_MASK\x10\b\x12\x15\n" +
11959 "\x11OFPBMC_BAD_PREREQ\x10\t\x12\x14\n" +
11960 "\x10OFPBMC_DUP_FIELD\x10\n" +
11961 "\x12\x10\n" +
11962 "\fOFPBMC_EPERM\x10\v*\xd2\x01\n" +
11963 "\x18ofp_flow_mod_failed_code\x12\x13\n" +
11964 "\x0fOFPFMFC_UNKNOWN\x10\x00\x12\x16\n" +
11965 "\x12OFPFMFC_TABLE_FULL\x10\x01\x12\x18\n" +
11966 "\x14OFPFMFC_BAD_TABLE_ID\x10\x02\x12\x13\n" +
11967 "\x0fOFPFMFC_OVERLAP\x10\x03\x12\x11\n" +
11968 "\rOFPFMFC_EPERM\x10\x04\x12\x17\n" +
11969 "\x13OFPFMFC_BAD_TIMEOUT\x10\x05\x12\x17\n" +
11970 "\x13OFPFMFC_BAD_COMMAND\x10\x06\x12\x15\n" +
11971 "\x11OFPFMFC_BAD_FLAGS\x10\a*\xa1\x03\n" +
11972 "\x19ofp_group_mod_failed_code\x12\x18\n" +
11973 "\x14OFPGMFC_GROUP_EXISTS\x10\x00\x12\x19\n" +
11974 "\x15OFPGMFC_INVALID_GROUP\x10\x01\x12\x1e\n" +
11975 "\x1aOFPGMFC_WEIGHT_UNSUPPORTED\x10\x02\x12\x19\n" +
11976 "\x15OFPGMFC_OUT_OF_GROUPS\x10\x03\x12\x1a\n" +
11977 "\x16OFPGMFC_OUT_OF_BUCKETS\x10\x04\x12 \n" +
11978 "\x1cOFPGMFC_CHAINING_UNSUPPORTED\x10\x05\x12\x1d\n" +
11979 "\x19OFPGMFC_WATCH_UNSUPPORTED\x10\x06\x12\x10\n" +
11980 "\fOFPGMFC_LOOP\x10\a\x12\x19\n" +
11981 "\x15OFPGMFC_UNKNOWN_GROUP\x10\b\x12\x19\n" +
11982 "\x15OFPGMFC_CHAINED_GROUP\x10\t\x12\x14\n" +
11983 "\x10OFPGMFC_BAD_TYPE\x10\n" +
11984 "\x12\x17\n" +
11985 "\x13OFPGMFC_BAD_COMMAND\x10\v\x12\x16\n" +
11986 "\x12OFPGMFC_BAD_BUCKET\x10\f\x12\x15\n" +
11987 "\x11OFPGMFC_BAD_WATCH\x10\r\x12\x11\n" +
11988 "\rOFPGMFC_EPERM\x10\x0e*\x8f\x01\n" +
11989 "\x18ofp_port_mod_failed_code\x12\x14\n" +
11990 "\x10OFPPMFC_BAD_PORT\x10\x00\x12\x17\n" +
11991 "\x13OFPPMFC_BAD_HW_ADDR\x10\x01\x12\x16\n" +
11992 "\x12OFPPMFC_BAD_CONFIG\x10\x02\x12\x19\n" +
11993 "\x15OFPPMFC_BAD_ADVERTISE\x10\x03\x12\x11\n" +
11994 "\rOFPPMFC_EPERM\x10\x04*]\n" +
11995 "\x19ofp_table_mod_failed_code\x12\x15\n" +
11996 "\x11OFPTMFC_BAD_TABLE\x10\x00\x12\x16\n" +
11997 "\x12OFPTMFC_BAD_CONFIG\x10\x01\x12\x11\n" +
11998 "\rOFPTMFC_EPERM\x10\x02*Z\n" +
11999 "\x18ofp_queue_op_failed_code\x12\x14\n" +
12000 "\x10OFPQOFC_BAD_PORT\x10\x00\x12\x15\n" +
12001 "\x11OFPQOFC_BAD_QUEUE\x10\x01\x12\x11\n" +
12002 "\rOFPQOFC_EPERM\x10\x02*^\n" +
12003 "\x1dofp_switch_config_failed_code\x12\x15\n" +
12004 "\x11OFPSCFC_BAD_FLAGS\x10\x00\x12\x13\n" +
12005 "\x0fOFPSCFC_BAD_LEN\x10\x01\x12\x11\n" +
12006 "\rOFPSCFC_EPERM\x10\x02*Z\n" +
12007 "\x1cofp_role_request_failed_code\x12\x11\n" +
12008 "\rOFPRRFC_STALE\x10\x00\x12\x11\n" +
12009 "\rOFPRRFC_UNSUP\x10\x01\x12\x14\n" +
12010 "\x10OFPRRFC_BAD_ROLE\x10\x02*\xc5\x02\n" +
12011 "\x19ofp_meter_mod_failed_code\x12\x13\n" +
12012 "\x0fOFPMMFC_UNKNOWN\x10\x00\x12\x18\n" +
12013 "\x14OFPMMFC_METER_EXISTS\x10\x01\x12\x19\n" +
12014 "\x15OFPMMFC_INVALID_METER\x10\x02\x12\x19\n" +
12015 "\x15OFPMMFC_UNKNOWN_METER\x10\x03\x12\x17\n" +
12016 "\x13OFPMMFC_BAD_COMMAND\x10\x04\x12\x15\n" +
12017 "\x11OFPMMFC_BAD_FLAGS\x10\x05\x12\x14\n" +
12018 "\x10OFPMMFC_BAD_RATE\x10\x06\x12\x15\n" +
12019 "\x11OFPMMFC_BAD_BURST\x10\a\x12\x14\n" +
12020 "\x10OFPMMFC_BAD_BAND\x10\b\x12\x1b\n" +
12021 "\x17OFPMMFC_BAD_BAND_DETAIL\x10\t\x12\x19\n" +
12022 "\x15OFPMMFC_OUT_OF_METERS\x10\n" +
12023 "\x12\x18\n" +
12024 "\x14OFPMMFC_OUT_OF_BANDS\x10\v*\xa9\x01\n" +
12025 "\x1eofp_table_features_failed_code\x12\x15\n" +
12026 "\x11OFPTFFC_BAD_TABLE\x10\x00\x12\x18\n" +
12027 "\x14OFPTFFC_BAD_METADATA\x10\x01\x12\x14\n" +
12028 "\x10OFPTFFC_BAD_TYPE\x10\x02\x12\x13\n" +
12029 "\x0fOFPTFFC_BAD_LEN\x10\x03\x12\x18\n" +
12030 "\x14OFPTFFC_BAD_ARGUMENT\x10\x04\x12\x11\n" +
12031 "\rOFPTFFC_EPERM\x10\x05*\xce\x02\n" +
12032 "\x12ofp_multipart_type\x12\x0e\n" +
12033 "\n" +
12034 "OFPMP_DESC\x10\x00\x12\x0e\n" +
12035 "\n" +
12036 "OFPMP_FLOW\x10\x01\x12\x13\n" +
12037 "\x0fOFPMP_AGGREGATE\x10\x02\x12\x0f\n" +
12038 "\vOFPMP_TABLE\x10\x03\x12\x14\n" +
12039 "\x10OFPMP_PORT_STATS\x10\x04\x12\x0f\n" +
12040 "\vOFPMP_QUEUE\x10\x05\x12\x0f\n" +
12041 "\vOFPMP_GROUP\x10\x06\x12\x14\n" +
12042 "\x10OFPMP_GROUP_DESC\x10\a\x12\x18\n" +
12043 "\x14OFPMP_GROUP_FEATURES\x10\b\x12\x0f\n" +
12044 "\vOFPMP_METER\x10\t\x12\x16\n" +
12045 "\x12OFPMP_METER_CONFIG\x10\n" +
12046 "\x12\x18\n" +
12047 "\x14OFPMP_METER_FEATURES\x10\v\x12\x18\n" +
12048 "\x14OFPMP_TABLE_FEATURES\x10\f\x12\x13\n" +
12049 "\x0fOFPMP_PORT_DESC\x10\r\x12\x18\n" +
12050 "\x12OFPMP_EXPERIMENTER\x10\xff\xff\x03*J\n" +
12051 "\x1bofp_multipart_request_flags\x12\x16\n" +
12052 "\x12OFPMPF_REQ_INVALID\x10\x00\x12\x13\n" +
12053 "\x0fOFPMPF_REQ_MORE\x10\x01*L\n" +
12054 "\x19ofp_multipart_reply_flags\x12\x18\n" +
12055 "\x14OFPMPF_REPLY_INVALID\x10\x00\x12\x15\n" +
12056 "\x11OFPMPF_REPLY_MORE\x10\x01*\xe4\x03\n" +
12057 "\x1bofp_table_feature_prop_type\x12\x18\n" +
12058 "\x14OFPTFPT_INSTRUCTIONS\x10\x00\x12\x1d\n" +
12059 "\x19OFPTFPT_INSTRUCTIONS_MISS\x10\x01\x12\x17\n" +
12060 "\x13OFPTFPT_NEXT_TABLES\x10\x02\x12\x1c\n" +
12061 "\x18OFPTFPT_NEXT_TABLES_MISS\x10\x03\x12\x19\n" +
12062 "\x15OFPTFPT_WRITE_ACTIONS\x10\x04\x12\x1e\n" +
12063 "\x1aOFPTFPT_WRITE_ACTIONS_MISS\x10\x05\x12\x19\n" +
12064 "\x15OFPTFPT_APPLY_ACTIONS\x10\x06\x12\x1e\n" +
12065 "\x1aOFPTFPT_APPLY_ACTIONS_MISS\x10\a\x12\x11\n" +
12066 "\rOFPTFPT_MATCH\x10\b\x12\x15\n" +
12067 "\x11OFPTFPT_WILDCARDS\x10\n" +
12068 "\x12\x1a\n" +
12069 "\x16OFPTFPT_WRITE_SETFIELD\x10\f\x12\x1f\n" +
12070 "\x1bOFPTFPT_WRITE_SETFIELD_MISS\x10\r\x12\x1a\n" +
12071 "\x16OFPTFPT_APPLY_SETFIELD\x10\x0e\x12\x1f\n" +
12072 "\x1bOFPTFPT_APPLY_SETFIELD_MISS\x10\x0f\x12\x1a\n" +
12073 "\x14OFPTFPT_EXPERIMENTER\x10\xfe\xff\x03\x12\x1f\n" +
12074 "\x19OFPTFPT_EXPERIMENTER_MISS\x10\xff\xff\x03*\x93\x01\n" +
12075 "\x16ofp_group_capabilities\x12\x12\n" +
12076 "\x0eOFPGFC_INVALID\x10\x00\x12\x18\n" +
12077 "\x14OFPGFC_SELECT_WEIGHT\x10\x01\x12\x1a\n" +
12078 "\x16OFPGFC_SELECT_LIVENESS\x10\x02\x12\x13\n" +
12079 "\x0fOFPGFC_CHAINING\x10\x04\x12\x1a\n" +
12080 "\x16OFPGFC_CHAINING_CHECKS\x10\b*k\n" +
12081 "\x14ofp_queue_properties\x12\x11\n" +
12082 "\rOFPQT_INVALID\x10\x00\x12\x12\n" +
12083 "\x0eOFPQT_MIN_RATE\x10\x01\x12\x12\n" +
12084 "\x0eOFPQT_MAX_RATE\x10\x02\x12\x18\n" +
12085 "\x12OFPQT_EXPERIMENTER\x10\xff\xff\x03*q\n" +
12086 "\x13ofp_controller_role\x12\x17\n" +
12087 "\x13OFPCR_ROLE_NOCHANGE\x10\x00\x12\x14\n" +
12088 "\x10OFPCR_ROLE_EQUAL\x10\x01\x12\x15\n" +
12089 "\x11OFPCR_ROLE_MASTER\x10\x02\x12\x14\n" +
12090 "\x10OFPCR_ROLE_SLAVE\x10\x03BU\n" +
12091 "\x1eorg.opencord.voltha.openflow13Z3github.com/opencord/voltha-protos/v5/go/openflow_13b\x06proto3"
12092
12093var (
12094 file_voltha_protos_openflow_13_proto_rawDescOnce sync.Once
12095 file_voltha_protos_openflow_13_proto_rawDescData []byte
12096)
12097
12098func file_voltha_protos_openflow_13_proto_rawDescGZIP() []byte {
12099 file_voltha_protos_openflow_13_proto_rawDescOnce.Do(func() {
12100 file_voltha_protos_openflow_13_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_voltha_protos_openflow_13_proto_rawDesc), len(file_voltha_protos_openflow_13_proto_rawDesc)))
12101 })
12102 return file_voltha_protos_openflow_13_proto_rawDescData
12103}
12104
12105var file_voltha_protos_openflow_13_proto_enumTypes = make([]protoimpl.EnumInfo, 53)
12106var file_voltha_protos_openflow_13_proto_msgTypes = make([]protoimpl.MessageInfo, 99)
12107var file_voltha_protos_openflow_13_proto_goTypes = []any{
12108 (OfpPortNo)(0), // 0: openflow_13.ofp_port_no
12109 (OfpType)(0), // 1: openflow_13.ofp_type
12110 (OfpHelloElemType)(0), // 2: openflow_13.ofp_hello_elem_type
12111 (OfpConfigFlags)(0), // 3: openflow_13.ofp_config_flags
12112 (OfpTableConfig)(0), // 4: openflow_13.ofp_table_config
12113 (OfpTable)(0), // 5: openflow_13.ofp_table
12114 (OfpCapabilities)(0), // 6: openflow_13.ofp_capabilities
12115 (OfpPortConfig)(0), // 7: openflow_13.ofp_port_config
12116 (OfpPortState)(0), // 8: openflow_13.ofp_port_state
12117 (OfpPortFeatures)(0), // 9: openflow_13.ofp_port_features
12118 (OfpPortReason)(0), // 10: openflow_13.ofp_port_reason
12119 (OfpDeviceConnection)(0), // 11: openflow_13.ofp_device_connection
12120 (OfpMatchType)(0), // 12: openflow_13.ofp_match_type
12121 (OfpOxmClass)(0), // 13: openflow_13.ofp_oxm_class
12122 (OxmOfbFieldTypes)(0), // 14: openflow_13.oxm_ofb_field_types
12123 (OfpVlanId)(0), // 15: openflow_13.ofp_vlan_id
12124 (OfpIpv6ExthdrFlags)(0), // 16: openflow_13.ofp_ipv6exthdr_flags
12125 (OfpActionType)(0), // 17: openflow_13.ofp_action_type
12126 (OfpControllerMaxLen)(0), // 18: openflow_13.ofp_controller_max_len
12127 (OfpInstructionType)(0), // 19: openflow_13.ofp_instruction_type
12128 (OfpFlowModCommand)(0), // 20: openflow_13.ofp_flow_mod_command
12129 (OfpFlowModFlags)(0), // 21: openflow_13.ofp_flow_mod_flags
12130 (OfpGroup)(0), // 22: openflow_13.ofp_group
12131 (OfpGroupModCommand)(0), // 23: openflow_13.ofp_group_mod_command
12132 (OfpGroupType)(0), // 24: openflow_13.ofp_group_type
12133 (OfpPacketInReason)(0), // 25: openflow_13.ofp_packet_in_reason
12134 (OfpFlowRemovedReason)(0), // 26: openflow_13.ofp_flow_removed_reason
12135 (OfpMeter)(0), // 27: openflow_13.ofp_meter
12136 (OfpMeterBandType)(0), // 28: openflow_13.ofp_meter_band_type
12137 (OfpMeterModCommand)(0), // 29: openflow_13.ofp_meter_mod_command
12138 (OfpMeterFlags)(0), // 30: openflow_13.ofp_meter_flags
12139 (OfpErrorType)(0), // 31: openflow_13.ofp_error_type
12140 (OfpHelloFailedCode)(0), // 32: openflow_13.ofp_hello_failed_code
12141 (OfpBadRequestCode)(0), // 33: openflow_13.ofp_bad_request_code
12142 (OfpBadActionCode)(0), // 34: openflow_13.ofp_bad_action_code
12143 (OfpBadInstructionCode)(0), // 35: openflow_13.ofp_bad_instruction_code
12144 (OfpBadMatchCode)(0), // 36: openflow_13.ofp_bad_match_code
12145 (OfpFlowModFailedCode)(0), // 37: openflow_13.ofp_flow_mod_failed_code
12146 (OfpGroupModFailedCode)(0), // 38: openflow_13.ofp_group_mod_failed_code
12147 (OfpPortModFailedCode)(0), // 39: openflow_13.ofp_port_mod_failed_code
12148 (OfpTableModFailedCode)(0), // 40: openflow_13.ofp_table_mod_failed_code
12149 (OfpQueueOpFailedCode)(0), // 41: openflow_13.ofp_queue_op_failed_code
12150 (OfpSwitchConfigFailedCode)(0), // 42: openflow_13.ofp_switch_config_failed_code
12151 (OfpRoleRequestFailedCode)(0), // 43: openflow_13.ofp_role_request_failed_code
12152 (OfpMeterModFailedCode)(0), // 44: openflow_13.ofp_meter_mod_failed_code
12153 (OfpTableFeaturesFailedCode)(0), // 45: openflow_13.ofp_table_features_failed_code
12154 (OfpMultipartType)(0), // 46: openflow_13.ofp_multipart_type
12155 (OfpMultipartRequestFlags)(0), // 47: openflow_13.ofp_multipart_request_flags
12156 (OfpMultipartReplyFlags)(0), // 48: openflow_13.ofp_multipart_reply_flags
12157 (OfpTableFeaturePropType)(0), // 49: openflow_13.ofp_table_feature_prop_type
12158 (OfpGroupCapabilities)(0), // 50: openflow_13.ofp_group_capabilities
12159 (OfpQueueProperties)(0), // 51: openflow_13.ofp_queue_properties
12160 (OfpControllerRole)(0), // 52: openflow_13.ofp_controller_role
12161 (*OfpHeader)(nil), // 53: openflow_13.ofp_header
12162 (*OfpHelloElemHeader)(nil), // 54: openflow_13.ofp_hello_elem_header
12163 (*OfpHelloElemVersionbitmap)(nil), // 55: openflow_13.ofp_hello_elem_versionbitmap
12164 (*OfpHello)(nil), // 56: openflow_13.ofp_hello
12165 (*OfpSwitchConfig)(nil), // 57: openflow_13.ofp_switch_config
12166 (*OfpTableMod)(nil), // 58: openflow_13.ofp_table_mod
12167 (*OfpPort)(nil), // 59: openflow_13.ofp_port
12168 (*OfpSwitchFeatures)(nil), // 60: openflow_13.ofp_switch_features
12169 (*OfpPortStatus)(nil), // 61: openflow_13.ofp_port_status
12170 (*OfpDeviceStatus)(nil), // 62: openflow_13.ofp_device_status
12171 (*OfpPortMod)(nil), // 63: openflow_13.ofp_port_mod
12172 (*OfpMatch)(nil), // 64: openflow_13.ofp_match
12173 (*OfpOxmField)(nil), // 65: openflow_13.ofp_oxm_field
12174 (*OfpOxmOfbField)(nil), // 66: openflow_13.ofp_oxm_ofb_field
12175 (*OfpOxmExperimenterField)(nil), // 67: openflow_13.ofp_oxm_experimenter_field
12176 (*OfpAction)(nil), // 68: openflow_13.ofp_action
12177 (*OfpActionOutput)(nil), // 69: openflow_13.ofp_action_output
12178 (*OfpActionMplsTtl)(nil), // 70: openflow_13.ofp_action_mpls_ttl
12179 (*OfpActionPush)(nil), // 71: openflow_13.ofp_action_push
12180 (*OfpActionPopMpls)(nil), // 72: openflow_13.ofp_action_pop_mpls
12181 (*OfpActionGroup)(nil), // 73: openflow_13.ofp_action_group
12182 (*OfpActionNwTtl)(nil), // 74: openflow_13.ofp_action_nw_ttl
12183 (*OfpActionSetField)(nil), // 75: openflow_13.ofp_action_set_field
12184 (*OfpActionExperimenter)(nil), // 76: openflow_13.ofp_action_experimenter
12185 (*OfpInstruction)(nil), // 77: openflow_13.ofp_instruction
12186 (*OfpInstructionGotoTable)(nil), // 78: openflow_13.ofp_instruction_goto_table
12187 (*OfpInstructionWriteMetadata)(nil), // 79: openflow_13.ofp_instruction_write_metadata
12188 (*OfpInstructionActions)(nil), // 80: openflow_13.ofp_instruction_actions
12189 (*OfpInstructionMeter)(nil), // 81: openflow_13.ofp_instruction_meter
12190 (*OfpInstructionExperimenter)(nil), // 82: openflow_13.ofp_instruction_experimenter
12191 (*OfpFlowMod)(nil), // 83: openflow_13.ofp_flow_mod
12192 (*OfpBucket)(nil), // 84: openflow_13.ofp_bucket
12193 (*OfpGroupMod)(nil), // 85: openflow_13.ofp_group_mod
12194 (*OfpPacketOut)(nil), // 86: openflow_13.ofp_packet_out
12195 (*OfpPacketIn)(nil), // 87: openflow_13.ofp_packet_in
12196 (*OfpFlowRemoved)(nil), // 88: openflow_13.ofp_flow_removed
12197 (*OfpMeterBandHeader)(nil), // 89: openflow_13.ofp_meter_band_header
12198 (*OfpMeterBandDrop)(nil), // 90: openflow_13.ofp_meter_band_drop
12199 (*OfpMeterBandDscpRemark)(nil), // 91: openflow_13.ofp_meter_band_dscp_remark
12200 (*OfpMeterBandExperimenter)(nil), // 92: openflow_13.ofp_meter_band_experimenter
12201 (*OfpMeterMod)(nil), // 93: openflow_13.ofp_meter_mod
12202 (*OfpErrorMsg)(nil), // 94: openflow_13.ofp_error_msg
12203 (*OfpErrorExperimenterMsg)(nil), // 95: openflow_13.ofp_error_experimenter_msg
12204 (*OfpMultipartRequest)(nil), // 96: openflow_13.ofp_multipart_request
12205 (*OfpMultipartReply)(nil), // 97: openflow_13.ofp_multipart_reply
12206 (*OfpDesc)(nil), // 98: openflow_13.ofp_desc
12207 (*OfpFlowStatsRequest)(nil), // 99: openflow_13.ofp_flow_stats_request
12208 (*OfpFlowStats)(nil), // 100: openflow_13.ofp_flow_stats
12209 (*OfpAggregateStatsRequest)(nil), // 101: openflow_13.ofp_aggregate_stats_request
12210 (*OfpAggregateStatsReply)(nil), // 102: openflow_13.ofp_aggregate_stats_reply
12211 (*OfpTableFeatureProperty)(nil), // 103: openflow_13.ofp_table_feature_property
12212 (*OfpTableFeaturePropInstructions)(nil), // 104: openflow_13.ofp_table_feature_prop_instructions
12213 (*OfpTableFeaturePropNextTables)(nil), // 105: openflow_13.ofp_table_feature_prop_next_tables
12214 (*OfpTableFeaturePropActions)(nil), // 106: openflow_13.ofp_table_feature_prop_actions
12215 (*OfpTableFeaturePropOxm)(nil), // 107: openflow_13.ofp_table_feature_prop_oxm
12216 (*OfpTableFeaturePropExperimenter)(nil), // 108: openflow_13.ofp_table_feature_prop_experimenter
12217 (*OfpTableFeatures)(nil), // 109: openflow_13.ofp_table_features
12218 (*OfpTableStats)(nil), // 110: openflow_13.ofp_table_stats
12219 (*OfpPortStatsRequest)(nil), // 111: openflow_13.ofp_port_stats_request
12220 (*OfpPortStats)(nil), // 112: openflow_13.ofp_port_stats
12221 (*OfpGroupStatsRequest)(nil), // 113: openflow_13.ofp_group_stats_request
12222 (*OfpBucketCounter)(nil), // 114: openflow_13.ofp_bucket_counter
12223 (*OfpGroupStats)(nil), // 115: openflow_13.ofp_group_stats
12224 (*OfpGroupDesc)(nil), // 116: openflow_13.ofp_group_desc
12225 (*OfpGroupEntry)(nil), // 117: openflow_13.ofp_group_entry
12226 (*OfpGroupFeatures)(nil), // 118: openflow_13.ofp_group_features
12227 (*OfpMeterMultipartRequest)(nil), // 119: openflow_13.ofp_meter_multipart_request
12228 (*OfpMeterBandStats)(nil), // 120: openflow_13.ofp_meter_band_stats
12229 (*OfpMeterStats)(nil), // 121: openflow_13.ofp_meter_stats
12230 (*OfpMeterConfig)(nil), // 122: openflow_13.ofp_meter_config
12231 (*OfpMeterFeatures)(nil), // 123: openflow_13.ofp_meter_features
12232 (*OfpMeterEntry)(nil), // 124: openflow_13.ofp_meter_entry
12233 (*OfpExperimenterMultipartHeader)(nil), // 125: openflow_13.ofp_experimenter_multipart_header
12234 (*OfpExperimenterHeader)(nil), // 126: openflow_13.ofp_experimenter_header
12235 (*OfpQueuePropHeader)(nil), // 127: openflow_13.ofp_queue_prop_header
12236 (*OfpQueuePropMinRate)(nil), // 128: openflow_13.ofp_queue_prop_min_rate
12237 (*OfpQueuePropMaxRate)(nil), // 129: openflow_13.ofp_queue_prop_max_rate
12238 (*OfpQueuePropExperimenter)(nil), // 130: openflow_13.ofp_queue_prop_experimenter
12239 (*OfpPacketQueue)(nil), // 131: openflow_13.ofp_packet_queue
12240 (*OfpQueueGetConfigRequest)(nil), // 132: openflow_13.ofp_queue_get_config_request
12241 (*OfpQueueGetConfigReply)(nil), // 133: openflow_13.ofp_queue_get_config_reply
12242 (*OfpActionSetQueue)(nil), // 134: openflow_13.ofp_action_set_queue
12243 (*OfpQueueStatsRequest)(nil), // 135: openflow_13.ofp_queue_stats_request
12244 (*OfpQueueStats)(nil), // 136: openflow_13.ofp_queue_stats
12245 (*OfpRoleRequest)(nil), // 137: openflow_13.ofp_role_request
12246 (*OfpAsyncConfig)(nil), // 138: openflow_13.ofp_async_config
12247 (*MeterModUpdate)(nil), // 139: openflow_13.MeterModUpdate
12248 (*MeterStatsReply)(nil), // 140: openflow_13.MeterStatsReply
12249 (*FlowTableUpdate)(nil), // 141: openflow_13.FlowTableUpdate
12250 (*FlowGroupTableUpdate)(nil), // 142: openflow_13.FlowGroupTableUpdate
12251 (*Flows)(nil), // 143: openflow_13.Flows
12252 (*Meters)(nil), // 144: openflow_13.Meters
12253 (*FlowGroups)(nil), // 145: openflow_13.FlowGroups
12254 (*FlowChanges)(nil), // 146: openflow_13.FlowChanges
12255 (*FlowGroupChanges)(nil), // 147: openflow_13.FlowGroupChanges
12256 (*PacketIn)(nil), // 148: openflow_13.PacketIn
12257 (*PacketOut)(nil), // 149: openflow_13.PacketOut
12258 (*ChangeEvent)(nil), // 150: openflow_13.ChangeEvent
12259 (*FlowMetadata)(nil), // 151: openflow_13.FlowMetadata
12260}
12261var file_voltha_protos_openflow_13_proto_depIdxs = []int32{
12262 1, // 0: openflow_13.ofp_header.type:type_name -> openflow_13.ofp_type
12263 2, // 1: openflow_13.ofp_hello_elem_header.type:type_name -> openflow_13.ofp_hello_elem_type
12264 55, // 2: openflow_13.ofp_hello_elem_header.versionbitmap:type_name -> openflow_13.ofp_hello_elem_versionbitmap
12265 54, // 3: openflow_13.ofp_hello.elements:type_name -> openflow_13.ofp_hello_elem_header
12266 10, // 4: openflow_13.ofp_port_status.reason:type_name -> openflow_13.ofp_port_reason
12267 59, // 5: openflow_13.ofp_port_status.desc:type_name -> openflow_13.ofp_port
12268 11, // 6: openflow_13.ofp_device_status.status:type_name -> openflow_13.ofp_device_connection
12269 12, // 7: openflow_13.ofp_match.type:type_name -> openflow_13.ofp_match_type
12270 65, // 8: openflow_13.ofp_match.oxm_fields:type_name -> openflow_13.ofp_oxm_field
12271 13, // 9: openflow_13.ofp_oxm_field.oxm_class:type_name -> openflow_13.ofp_oxm_class
12272 66, // 10: openflow_13.ofp_oxm_field.ofb_field:type_name -> openflow_13.ofp_oxm_ofb_field
12273 67, // 11: openflow_13.ofp_oxm_field.experimenter_field:type_name -> openflow_13.ofp_oxm_experimenter_field
12274 14, // 12: openflow_13.ofp_oxm_ofb_field.type:type_name -> openflow_13.oxm_ofb_field_types
12275 17, // 13: openflow_13.ofp_action.type:type_name -> openflow_13.ofp_action_type
12276 69, // 14: openflow_13.ofp_action.output:type_name -> openflow_13.ofp_action_output
12277 70, // 15: openflow_13.ofp_action.mpls_ttl:type_name -> openflow_13.ofp_action_mpls_ttl
12278 71, // 16: openflow_13.ofp_action.push:type_name -> openflow_13.ofp_action_push
12279 72, // 17: openflow_13.ofp_action.pop_mpls:type_name -> openflow_13.ofp_action_pop_mpls
12280 73, // 18: openflow_13.ofp_action.group:type_name -> openflow_13.ofp_action_group
12281 74, // 19: openflow_13.ofp_action.nw_ttl:type_name -> openflow_13.ofp_action_nw_ttl
12282 75, // 20: openflow_13.ofp_action.set_field:type_name -> openflow_13.ofp_action_set_field
12283 76, // 21: openflow_13.ofp_action.experimenter:type_name -> openflow_13.ofp_action_experimenter
12284 65, // 22: openflow_13.ofp_action_set_field.field:type_name -> openflow_13.ofp_oxm_field
12285 78, // 23: openflow_13.ofp_instruction.goto_table:type_name -> openflow_13.ofp_instruction_goto_table
12286 79, // 24: openflow_13.ofp_instruction.write_metadata:type_name -> openflow_13.ofp_instruction_write_metadata
12287 80, // 25: openflow_13.ofp_instruction.actions:type_name -> openflow_13.ofp_instruction_actions
12288 81, // 26: openflow_13.ofp_instruction.meter:type_name -> openflow_13.ofp_instruction_meter
12289 82, // 27: openflow_13.ofp_instruction.experimenter:type_name -> openflow_13.ofp_instruction_experimenter
12290 68, // 28: openflow_13.ofp_instruction_actions.actions:type_name -> openflow_13.ofp_action
12291 20, // 29: openflow_13.ofp_flow_mod.command:type_name -> openflow_13.ofp_flow_mod_command
12292 64, // 30: openflow_13.ofp_flow_mod.match:type_name -> openflow_13.ofp_match
12293 77, // 31: openflow_13.ofp_flow_mod.instructions:type_name -> openflow_13.ofp_instruction
12294 68, // 32: openflow_13.ofp_bucket.actions:type_name -> openflow_13.ofp_action
12295 23, // 33: openflow_13.ofp_group_mod.command:type_name -> openflow_13.ofp_group_mod_command
12296 24, // 34: openflow_13.ofp_group_mod.type:type_name -> openflow_13.ofp_group_type
12297 84, // 35: openflow_13.ofp_group_mod.buckets:type_name -> openflow_13.ofp_bucket
12298 68, // 36: openflow_13.ofp_packet_out.actions:type_name -> openflow_13.ofp_action
12299 25, // 37: openflow_13.ofp_packet_in.reason:type_name -> openflow_13.ofp_packet_in_reason
12300 64, // 38: openflow_13.ofp_packet_in.match:type_name -> openflow_13.ofp_match
12301 26, // 39: openflow_13.ofp_flow_removed.reason:type_name -> openflow_13.ofp_flow_removed_reason
12302 64, // 40: openflow_13.ofp_flow_removed.match:type_name -> openflow_13.ofp_match
12303 28, // 41: openflow_13.ofp_meter_band_header.type:type_name -> openflow_13.ofp_meter_band_type
12304 90, // 42: openflow_13.ofp_meter_band_header.drop:type_name -> openflow_13.ofp_meter_band_drop
12305 91, // 43: openflow_13.ofp_meter_band_header.dscp_remark:type_name -> openflow_13.ofp_meter_band_dscp_remark
12306 92, // 44: openflow_13.ofp_meter_band_header.experimenter:type_name -> openflow_13.ofp_meter_band_experimenter
12307 29, // 45: openflow_13.ofp_meter_mod.command:type_name -> openflow_13.ofp_meter_mod_command
12308 89, // 46: openflow_13.ofp_meter_mod.bands:type_name -> openflow_13.ofp_meter_band_header
12309 53, // 47: openflow_13.ofp_error_msg.header:type_name -> openflow_13.ofp_header
12310 46, // 48: openflow_13.ofp_multipart_request.type:type_name -> openflow_13.ofp_multipart_type
12311 46, // 49: openflow_13.ofp_multipart_reply.type:type_name -> openflow_13.ofp_multipart_type
12312 64, // 50: openflow_13.ofp_flow_stats_request.match:type_name -> openflow_13.ofp_match
12313 64, // 51: openflow_13.ofp_flow_stats.match:type_name -> openflow_13.ofp_match
12314 77, // 52: openflow_13.ofp_flow_stats.instructions:type_name -> openflow_13.ofp_instruction
12315 64, // 53: openflow_13.ofp_aggregate_stats_request.match:type_name -> openflow_13.ofp_match
12316 49, // 54: openflow_13.ofp_table_feature_property.type:type_name -> openflow_13.ofp_table_feature_prop_type
12317 104, // 55: openflow_13.ofp_table_feature_property.instructions:type_name -> openflow_13.ofp_table_feature_prop_instructions
12318 105, // 56: openflow_13.ofp_table_feature_property.next_tables:type_name -> openflow_13.ofp_table_feature_prop_next_tables
12319 106, // 57: openflow_13.ofp_table_feature_property.actions:type_name -> openflow_13.ofp_table_feature_prop_actions
12320 107, // 58: openflow_13.ofp_table_feature_property.oxm:type_name -> openflow_13.ofp_table_feature_prop_oxm
12321 108, // 59: openflow_13.ofp_table_feature_property.experimenter:type_name -> openflow_13.ofp_table_feature_prop_experimenter
12322 77, // 60: openflow_13.ofp_table_feature_prop_instructions.instructions:type_name -> openflow_13.ofp_instruction
12323 68, // 61: openflow_13.ofp_table_feature_prop_actions.actions:type_name -> openflow_13.ofp_action
12324 103, // 62: openflow_13.ofp_table_features.properties:type_name -> openflow_13.ofp_table_feature_property
12325 114, // 63: openflow_13.ofp_group_stats.bucket_stats:type_name -> openflow_13.ofp_bucket_counter
12326 24, // 64: openflow_13.ofp_group_desc.type:type_name -> openflow_13.ofp_group_type
12327 84, // 65: openflow_13.ofp_group_desc.buckets:type_name -> openflow_13.ofp_bucket
12328 116, // 66: openflow_13.ofp_group_entry.desc:type_name -> openflow_13.ofp_group_desc
12329 115, // 67: openflow_13.ofp_group_entry.stats:type_name -> openflow_13.ofp_group_stats
12330 120, // 68: openflow_13.ofp_meter_stats.band_stats:type_name -> openflow_13.ofp_meter_band_stats
12331 89, // 69: openflow_13.ofp_meter_config.bands:type_name -> openflow_13.ofp_meter_band_header
12332 122, // 70: openflow_13.ofp_meter_entry.config:type_name -> openflow_13.ofp_meter_config
12333 121, // 71: openflow_13.ofp_meter_entry.stats:type_name -> openflow_13.ofp_meter_stats
12334 127, // 72: openflow_13.ofp_queue_prop_min_rate.prop_header:type_name -> openflow_13.ofp_queue_prop_header
12335 127, // 73: openflow_13.ofp_queue_prop_max_rate.prop_header:type_name -> openflow_13.ofp_queue_prop_header
12336 127, // 74: openflow_13.ofp_queue_prop_experimenter.prop_header:type_name -> openflow_13.ofp_queue_prop_header
12337 127, // 75: openflow_13.ofp_packet_queue.properties:type_name -> openflow_13.ofp_queue_prop_header
12338 131, // 76: openflow_13.ofp_queue_get_config_reply.queues:type_name -> openflow_13.ofp_packet_queue
12339 52, // 77: openflow_13.ofp_role_request.role:type_name -> openflow_13.ofp_controller_role
12340 93, // 78: openflow_13.MeterModUpdate.meter_mod:type_name -> openflow_13.ofp_meter_mod
12341 121, // 79: openflow_13.MeterStatsReply.meter_stats:type_name -> openflow_13.ofp_meter_stats
12342 83, // 80: openflow_13.FlowTableUpdate.flow_mod:type_name -> openflow_13.ofp_flow_mod
12343 85, // 81: openflow_13.FlowGroupTableUpdate.group_mod:type_name -> openflow_13.ofp_group_mod
12344 100, // 82: openflow_13.Flows.items:type_name -> openflow_13.ofp_flow_stats
12345 124, // 83: openflow_13.Meters.items:type_name -> openflow_13.ofp_meter_entry
12346 117, // 84: openflow_13.FlowGroups.items:type_name -> openflow_13.ofp_group_entry
12347 143, // 85: openflow_13.FlowChanges.to_add:type_name -> openflow_13.Flows
12348 143, // 86: openflow_13.FlowChanges.to_remove:type_name -> openflow_13.Flows
12349 145, // 87: openflow_13.FlowGroupChanges.to_add:type_name -> openflow_13.FlowGroups
12350 145, // 88: openflow_13.FlowGroupChanges.to_remove:type_name -> openflow_13.FlowGroups
12351 145, // 89: openflow_13.FlowGroupChanges.to_update:type_name -> openflow_13.FlowGroups
12352 87, // 90: openflow_13.PacketIn.packet_in:type_name -> openflow_13.ofp_packet_in
12353 86, // 91: openflow_13.PacketOut.packet_out:type_name -> openflow_13.ofp_packet_out
12354 61, // 92: openflow_13.ChangeEvent.port_status:type_name -> openflow_13.ofp_port_status
12355 94, // 93: openflow_13.ChangeEvent.error:type_name -> openflow_13.ofp_error_msg
12356 62, // 94: openflow_13.ChangeEvent.device_status:type_name -> openflow_13.ofp_device_status
12357 122, // 95: openflow_13.FlowMetadata.meters:type_name -> openflow_13.ofp_meter_config
12358 96, // [96:96] is the sub-list for method output_type
12359 96, // [96:96] is the sub-list for method input_type
12360 96, // [96:96] is the sub-list for extension type_name
12361 96, // [96:96] is the sub-list for extension extendee
12362 0, // [0:96] is the sub-list for field type_name
12363}
12364
12365func init() { file_voltha_protos_openflow_13_proto_init() }
12366func file_voltha_protos_openflow_13_proto_init() {
12367 if File_voltha_protos_openflow_13_proto != nil {
12368 return
12369 }
12370 file_voltha_protos_openflow_13_proto_msgTypes[1].OneofWrappers = []any{
12371 (*OfpHelloElemHeader_Versionbitmap)(nil),
12372 }
12373 file_voltha_protos_openflow_13_proto_msgTypes[12].OneofWrappers = []any{
12374 (*OfpOxmField_OfbField)(nil),
12375 (*OfpOxmField_ExperimenterField)(nil),
12376 }
12377 file_voltha_protos_openflow_13_proto_msgTypes[13].OneofWrappers = []any{
William Kurkian1b363f42019-03-12 15:28:12 -040012378 (*OfpOxmOfbField_Port)(nil),
12379 (*OfpOxmOfbField_PhysicalPort)(nil),
12380 (*OfpOxmOfbField_TableMetadata)(nil),
12381 (*OfpOxmOfbField_EthDst)(nil),
12382 (*OfpOxmOfbField_EthSrc)(nil),
12383 (*OfpOxmOfbField_EthType)(nil),
12384 (*OfpOxmOfbField_VlanVid)(nil),
12385 (*OfpOxmOfbField_VlanPcp)(nil),
12386 (*OfpOxmOfbField_IpDscp)(nil),
12387 (*OfpOxmOfbField_IpEcn)(nil),
12388 (*OfpOxmOfbField_IpProto)(nil),
12389 (*OfpOxmOfbField_Ipv4Src)(nil),
12390 (*OfpOxmOfbField_Ipv4Dst)(nil),
12391 (*OfpOxmOfbField_TcpSrc)(nil),
12392 (*OfpOxmOfbField_TcpDst)(nil),
12393 (*OfpOxmOfbField_UdpSrc)(nil),
12394 (*OfpOxmOfbField_UdpDst)(nil),
12395 (*OfpOxmOfbField_SctpSrc)(nil),
12396 (*OfpOxmOfbField_SctpDst)(nil),
12397 (*OfpOxmOfbField_Icmpv4Type)(nil),
12398 (*OfpOxmOfbField_Icmpv4Code)(nil),
12399 (*OfpOxmOfbField_ArpOp)(nil),
12400 (*OfpOxmOfbField_ArpSpa)(nil),
12401 (*OfpOxmOfbField_ArpTpa)(nil),
12402 (*OfpOxmOfbField_ArpSha)(nil),
12403 (*OfpOxmOfbField_ArpTha)(nil),
12404 (*OfpOxmOfbField_Ipv6Src)(nil),
12405 (*OfpOxmOfbField_Ipv6Dst)(nil),
12406 (*OfpOxmOfbField_Ipv6Flabel)(nil),
12407 (*OfpOxmOfbField_Icmpv6Type)(nil),
12408 (*OfpOxmOfbField_Icmpv6Code)(nil),
12409 (*OfpOxmOfbField_Ipv6NdTarget)(nil),
12410 (*OfpOxmOfbField_Ipv6NdSsl)(nil),
12411 (*OfpOxmOfbField_Ipv6NdTll)(nil),
12412 (*OfpOxmOfbField_MplsLabel)(nil),
12413 (*OfpOxmOfbField_MplsTc)(nil),
12414 (*OfpOxmOfbField_MplsBos)(nil),
12415 (*OfpOxmOfbField_PbbIsid)(nil),
12416 (*OfpOxmOfbField_TunnelId)(nil),
12417 (*OfpOxmOfbField_Ipv6Exthdr)(nil),
12418 (*OfpOxmOfbField_TableMetadataMask)(nil),
12419 (*OfpOxmOfbField_EthDstMask)(nil),
12420 (*OfpOxmOfbField_EthSrcMask)(nil),
12421 (*OfpOxmOfbField_VlanVidMask)(nil),
12422 (*OfpOxmOfbField_Ipv4SrcMask)(nil),
12423 (*OfpOxmOfbField_Ipv4DstMask)(nil),
12424 (*OfpOxmOfbField_ArpSpaMask)(nil),
12425 (*OfpOxmOfbField_ArpTpaMask)(nil),
12426 (*OfpOxmOfbField_Ipv6SrcMask)(nil),
12427 (*OfpOxmOfbField_Ipv6DstMask)(nil),
12428 (*OfpOxmOfbField_Ipv6FlabelMask)(nil),
12429 (*OfpOxmOfbField_PbbIsidMask)(nil),
12430 (*OfpOxmOfbField_TunnelIdMask)(nil),
12431 (*OfpOxmOfbField_Ipv6ExthdrMask)(nil),
12432 }
Abhay Kumar03713392025-12-30 05:20:58 +000012433 file_voltha_protos_openflow_13_proto_msgTypes[15].OneofWrappers = []any{
William Kurkian1b363f42019-03-12 15:28:12 -040012434 (*OfpAction_Output)(nil),
12435 (*OfpAction_MplsTtl)(nil),
12436 (*OfpAction_Push)(nil),
12437 (*OfpAction_PopMpls)(nil),
12438 (*OfpAction_Group)(nil),
12439 (*OfpAction_NwTtl)(nil),
12440 (*OfpAction_SetField)(nil),
12441 (*OfpAction_Experimenter)(nil),
12442 }
Abhay Kumar03713392025-12-30 05:20:58 +000012443 file_voltha_protos_openflow_13_proto_msgTypes[24].OneofWrappers = []any{
William Kurkian1b363f42019-03-12 15:28:12 -040012444 (*OfpInstruction_GotoTable)(nil),
12445 (*OfpInstruction_WriteMetadata)(nil),
12446 (*OfpInstruction_Actions)(nil),
12447 (*OfpInstruction_Meter)(nil),
12448 (*OfpInstruction_Experimenter)(nil),
12449 }
Abhay Kumar03713392025-12-30 05:20:58 +000012450 file_voltha_protos_openflow_13_proto_msgTypes[36].OneofWrappers = []any{
William Kurkian1b363f42019-03-12 15:28:12 -040012451 (*OfpMeterBandHeader_Drop)(nil),
12452 (*OfpMeterBandHeader_DscpRemark)(nil),
12453 (*OfpMeterBandHeader_Experimenter)(nil),
12454 }
Abhay Kumar03713392025-12-30 05:20:58 +000012455 file_voltha_protos_openflow_13_proto_msgTypes[50].OneofWrappers = []any{
William Kurkian1b363f42019-03-12 15:28:12 -040012456 (*OfpTableFeatureProperty_Instructions)(nil),
12457 (*OfpTableFeatureProperty_NextTables)(nil),
12458 (*OfpTableFeatureProperty_Actions)(nil),
12459 (*OfpTableFeatureProperty_Oxm)(nil),
12460 (*OfpTableFeatureProperty_Experimenter)(nil),
12461 }
Abhay Kumar03713392025-12-30 05:20:58 +000012462 file_voltha_protos_openflow_13_proto_msgTypes[97].OneofWrappers = []any{
William Kurkian1b363f42019-03-12 15:28:12 -040012463 (*ChangeEvent_PortStatus)(nil),
Maninderd4373b42020-12-10 04:58:13 +053012464 (*ChangeEvent_Error)(nil),
Andrea Campanellab14af632021-11-18 11:00:47 -080012465 (*ChangeEvent_DeviceStatus)(nil),
William Kurkian1b363f42019-03-12 15:28:12 -040012466 }
Abhay Kumar03713392025-12-30 05:20:58 +000012467 type x struct{}
12468 out := protoimpl.TypeBuilder{
12469 File: protoimpl.DescBuilder{
12470 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
12471 RawDescriptor: unsafe.Slice(unsafe.StringData(file_voltha_protos_openflow_13_proto_rawDesc), len(file_voltha_protos_openflow_13_proto_rawDesc)),
12472 NumEnums: 53,
12473 NumMessages: 99,
12474 NumExtensions: 0,
12475 NumServices: 0,
12476 },
12477 GoTypes: file_voltha_protos_openflow_13_proto_goTypes,
12478 DependencyIndexes: file_voltha_protos_openflow_13_proto_depIdxs,
12479 EnumInfos: file_voltha_protos_openflow_13_proto_enumTypes,
12480 MessageInfos: file_voltha_protos_openflow_13_proto_msgTypes,
12481 }.Build()
12482 File_voltha_protos_openflow_13_proto = out.File
12483 file_voltha_protos_openflow_13_proto_goTypes = nil
12484 file_voltha_protos_openflow_13_proto_depIdxs = nil
William Kurkian1b363f42019-03-12 15:28:12 -040012485}