blob: 70d8404eeac52f0a3df90b875789449ac22f769d [file] [log] [blame]
Jonathan Hart44bdbfc2020-04-14 17:45:47 -07001/*
2 * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
3 * Copyright (c) 2011, 2012 Open Networking Foundation
4 * Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
5 * Copyright 2018, Red Hat, Inc.
6 */
7// Automatically generated by LOXI from template const.go
8// Do not modify
9
10package of15
11
12import (
13 "fmt"
14 "strings"
15)
16
17const (
18 // Identifiers from group macro_definitions
19 MaxTableNameLen = 32 // OFP_MAX_TABLE_NAME_LEN
20 MaxPortNameLen = 16 // OFP_MAX_PORT_NAME_LEN
21 TCPPort = 6653 // OFP_TCP_PORT
22 SSLPort = 6653 // OFP_SSL_PORT
23 EthAlen = 6 // OFP_ETH_ALEN
24 DefaultMissSendLen = 128 // OFP_DEFAULT_MISS_SEND_LEN
25 VLANNone = 0 // OFP_VLAN_NONE
26 FlowPermanent = 0 // OFP_FLOW_PERMANENT
27 DefaultPriority = 32768 // OFP_DEFAULT_PRIORITY
28 NoBuffer = 4294967295 // OFP_NO_BUFFER
29 DescStrLen = 256 // DESC_STR_LEN
30 SerialNumLen = 32 // SERIAL_NUM_LEN
31 OFPQAll = 4294967295 // OFPQ_ALL
32 OFPQMaxRateUncfg = 65535 // OFPQ_MAX_RATE_UNCFG
33 OFPQMinRateUncfg = 65535 // OFPQ_MIN_RATE_UNCFG
34)
35
36const (
37 // Identifiers from group nx_action_controller2_prop_type
38 Nxac2PtMaxLen = 0 // NXAC2PT_MAX_LEN
39 Nxac2PtControllerID = 1 // NXAC2PT_CONTROLLER_ID
40 Nxac2PtReason = 2 // NXAC2PT_REASON
41 Nxac2PtUserdata = 3 // NXAC2PT_USERDATA
42 Nxac2PtPause = 4 // NXAC2PT_PAUSE
43 Nxac2PtMeterID = 5 // NXAC2PT_METER_ID
44)
45
46type NxActionController2PropType uint16
47
48func (self NxActionController2PropType) MarshalJSON() ([]byte, error) {
49 return []byte(fmt.Sprintf("%d", self)), nil
50}
51
52const (
53 // Identifiers from group nx_bd_algorithms
54 NxBdAlgActiveBackup = 0 // NX_BD_ALG_ACTIVE_BACKUP
55 NxBdAlgHrw = 1 // NX_BD_ALG_HRW
56)
57
58type NxBdAlgorithms uint16
59
60func (self NxBdAlgorithms) MarshalJSON() ([]byte, error) {
61 return []byte(fmt.Sprintf("\"%s\"", self)), nil
62}
63
64func (self NxBdAlgorithms) String() string {
65 switch self {
66 case NxBdAlgActiveBackup:
67 return "active_backup"
68 case NxBdAlgHrw:
69 return "hrw"
70 default:
71 return fmt.Sprintf("%d", self)
72 }
73}
74
75const (
76 // Identifiers from group nx_conntrack_flags
77 NxCtFCommit = 1 // NX_CT_F_COMMIT
78 NxCtFForce = 2 // NX_CT_F_FORCE
79)
80
81type NxConntrackFlags uint16
82
83func (self NxConntrackFlags) MarshalJSON() ([]byte, error) {
84 var flags []string
85 if self&NxCtFCommit == NxCtFCommit {
86 flags = append(flags, "\"Commit\": true")
87 }
88 if self&NxCtFForce == NxCtFForce {
89 flags = append(flags, "\"Force\": true")
90 }
91 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
92}
93
94const (
95 // Identifiers from group nx_flow_monitor_flags
96 NxfmfInitial = 1 // NXFMF_INITIAL
97 NxfmfAdd = 2 // NXFMF_ADD
98 NxfmfDelete = 4 // NXFMF_DELETE
99 NxfmfModify = 8 // NXFMF_MODIFY
100 NxfmfActions = 16 // NXFMF_ACTIONS
101 NxfmfOwn = 32 // NXFMF_OWN
102)
103
104type NxFlowMonitorFlags uint16
105
106func (self NxFlowMonitorFlags) MarshalJSON() ([]byte, error) {
107 var flags []string
108 if self&NxfmfInitial == NxfmfInitial {
109 flags = append(flags, "\"Initial\": true")
110 }
111 if self&NxfmfAdd == NxfmfAdd {
112 flags = append(flags, "\"Add\": true")
113 }
114 if self&NxfmfDelete == NxfmfDelete {
115 flags = append(flags, "\"Delete\": true")
116 }
117 if self&NxfmfModify == NxfmfModify {
118 flags = append(flags, "\"Modify\": true")
119 }
120 if self&NxfmfActions == NxfmfActions {
121 flags = append(flags, "\"Actions\": true")
122 }
123 if self&NxfmfOwn == NxfmfOwn {
124 flags = append(flags, "\"Own\": true")
125 }
126 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
127}
128
129const (
130 // Identifiers from group nx_hash_fields
131 NxHashFieldsEthSrc = 0 // NX_HASH_FIELDS_ETH_SRC
132 NxHashFieldsSymmetricL4 = 1 // NX_HASH_FIELDS_SYMMETRIC_L4
133 NxHashFieldsSymmetricL3L4 = 2 // NX_HASH_FIELDS_SYMMETRIC_L3L4
134 NxHashFieldsSymmetricL3L4Udp = 3 // NX_HASH_FIELDS_SYMMETRIC_L3L4_UDP
135 NxHashFieldsNwSrc = 4 // NX_HASH_FIELDS_NW_SRC
136 NxHashFieldsNwDst = 5 // NX_HASH_FIELDS_NW_DST
137 NxHashFieldsSymmetricL3 = 6 // NX_HASH_FIELDS_SYMMETRIC_L3
138)
139
140type NxHashFields uint16
141
142func (self NxHashFields) MarshalJSON() ([]byte, error) {
143 return []byte(fmt.Sprintf("\"%s\"", self)), nil
144}
145
146func (self NxHashFields) String() string {
147 switch self {
148 case NxHashFieldsEthSrc:
149 return "eth_src"
150 case NxHashFieldsSymmetricL4:
151 return "symmetric_l4"
152 case NxHashFieldsSymmetricL3L4:
153 return "symmetric_l3l4"
154 case NxHashFieldsSymmetricL3L4Udp:
155 return "symmetric_l3l4_udp"
156 case NxHashFieldsNwSrc:
157 return "nw_src"
158 case NxHashFieldsNwDst:
159 return "nw_dst"
160 case NxHashFieldsSymmetricL3:
161 return "symmetric_l3"
162 default:
163 return fmt.Sprintf("%d", self)
164 }
165}
166
167const (
168 // Identifiers from group nx_mp_algorithm
169 NxMpAlgModuloN = 0 // NX_MP_ALG_MODULO_N
170 NxMpAlgHashThreshold = 1 // NX_MP_ALG_HASH_THRESHOLD
171 NxMpAlgHrw = 2 // NX_MP_ALG_HRW
172 NxMpAlgIterHash = 3 // NX_MP_ALG_ITER_HASH
173)
174
175type NxMpAlgorithm uint16
176
177func (self NxMpAlgorithm) MarshalJSON() ([]byte, error) {
178 return []byte(fmt.Sprintf("\"%s\"", self)), nil
179}
180
181func (self NxMpAlgorithm) String() string {
182 switch self {
183 case NxMpAlgModuloN:
184 return "modulo_n"
185 case NxMpAlgHashThreshold:
186 return "hash_threshold"
187 case NxMpAlgHrw:
188 return "hrw"
189 case NxMpAlgIterHash:
190 return "iter_hash"
191 default:
192 return fmt.Sprintf("%d", self)
193 }
194}
195
196const (
197 // Identifiers from group of_action_nx_bundle_slave_type
198 NxmOfInPort = 2 // NXM_OF_IN_PORT
199 NxmOfJustThereToDefinePrefix = 10000 // NXM_OF_JUST_THERE_TO_DEFINE_PREFIX
200)
201
202type ActionNxBundleSlaveType uint32
203
204func (self ActionNxBundleSlaveType) MarshalJSON() ([]byte, error) {
205 return []byte(fmt.Sprintf("\"%s\"", self)), nil
206}
207
208func (self ActionNxBundleSlaveType) String() string {
209 switch self {
210 case NxmOfInPort:
211 return "in_port"
212 case NxmOfJustThereToDefinePrefix:
213 return "just_there_to_define_prefix"
214 default:
215 return fmt.Sprintf("%d", self)
216 }
217}
218
219const (
220 // Identifiers from group of_bsn_gentable_error_code
221 OFBSNGentableErrorUnknown = 0 // OF_BSN_GENTABLE_ERROR_UNKNOWN
222 OFBSNGentableErrorParam = 1 // OF_BSN_GENTABLE_ERROR_PARAM
223 OFBSNGentableErrorTableFull = 2 // OF_BSN_GENTABLE_ERROR_TABLE_FULL
224)
225
226type BsnGentableErrorCode uint16
227
228func (self BsnGentableErrorCode) MarshalJSON() ([]byte, error) {
229 return []byte(fmt.Sprintf("%d", self)), nil
230}
231
232const (
233 // Identifiers from group of_bsn_hash_gtp_port_match
234 OFBSNHashGtpPortMatchSrc = 1 // OF_BSN_HASH_GTP_PORT_MATCH_SRC
235 OFBSNHashGtpPortMatchDst = 2 // OF_BSN_HASH_GTP_PORT_MATCH_DST
236 OFBSNHashGtpPortMatchSrcOrDst = 3 // OF_BSN_HASH_GTP_PORT_MATCH_SRC_OR_DST
237 OFBSNHashGtpPortMatchSrcAndDst = 4 // OF_BSN_HASH_GTP_PORT_MATCH_SRC_AND_DST
238)
239
240type BsnHashGtpPortMatch uint8
241
242func (self BsnHashGtpPortMatch) MarshalJSON() ([]byte, error) {
243 return []byte(fmt.Sprintf("%d", self)), nil
244}
245
246const (
247 // Identifiers from group of_bsn_hash_packet_field
248 BSNHashFieldDstMAC = 2 // OFP_BSN_HASH_FIELD_DST_MAC
249 BSNHashFieldSrcMAC = 4 // OFP_BSN_HASH_FIELD_SRC_MAC
250 BSNHashFieldEthType = 8 // OFP_BSN_HASH_FIELD_ETH_TYPE
251 BSNHashFieldVLANID = 16 // OFP_BSN_HASH_FIELD_VLAN_ID
252 BSNHashFieldInnerL2 = 32 // OFP_BSN_HASH_FIELD_INNER_L2
253 BSNHashFieldInnerL3 = 64 // OFP_BSN_HASH_FIELD_INNER_L3
254 BSNHashFieldSrcIp = 128 // OFP_BSN_HASH_FIELD_SRC_IP
255 BSNHashFieldDstIp = 256 // OFP_BSN_HASH_FIELD_DST_IP
256 BSNHashFieldIpProto = 512 // OFP_BSN_HASH_FIELD_IP_PROTO
257 BSNHashFieldSrcL4Port = 1024 // OFP_BSN_HASH_FIELD_SRC_L4_PORT
258 BSNHashFieldDstL4Port = 2048 // OFP_BSN_HASH_FIELD_DST_L4_PORT
259 BSNHashFieldMplsLabel1 = 4096 // OFP_BSN_HASH_FIELD_MPLS_LABEL1
260 BSNHashFieldMplsLabel2 = 8192 // OFP_BSN_HASH_FIELD_MPLS_LABEL2
261 BSNHashFieldMplsLabel3 = 16384 // OFP_BSN_HASH_FIELD_MPLS_LABEL3
262 BSNHashFieldMplsLabelHiBits = 32768 // OFP_BSN_HASH_FIELD_MPLS_LABEL_HI_BITS
263 BSNHashFieldMplsPayloadSrcIp = 65536 // OFP_BSN_HASH_FIELD_MPLS_PAYLOAD_SRC_IP
264 BSNHashFieldMplsPayloadDstIp = 131072 // OFP_BSN_HASH_FIELD_MPLS_PAYLOAD_DST_IP
265 BSNHashFieldSymmetric = 262144 // OFP_BSN_HASH_FIELD_SYMMETRIC
266)
267
268type BsnHashPacketField uint64
269
270func (self BsnHashPacketField) MarshalJSON() ([]byte, error) {
271 var flags []string
272 if self&BSNHashFieldDstMAC == BSNHashFieldDstMAC {
273 flags = append(flags, "\"DstMAC\": true")
274 }
275 if self&BSNHashFieldSrcMAC == BSNHashFieldSrcMAC {
276 flags = append(flags, "\"SrcMAC\": true")
277 }
278 if self&BSNHashFieldEthType == BSNHashFieldEthType {
279 flags = append(flags, "\"EthType\": true")
280 }
281 if self&BSNHashFieldVLANID == BSNHashFieldVLANID {
282 flags = append(flags, "\"VlanID\": true")
283 }
284 if self&BSNHashFieldInnerL2 == BSNHashFieldInnerL2 {
285 flags = append(flags, "\"InnerL2\": true")
286 }
287 if self&BSNHashFieldInnerL3 == BSNHashFieldInnerL3 {
288 flags = append(flags, "\"InnerL3\": true")
289 }
290 if self&BSNHashFieldSrcIp == BSNHashFieldSrcIp {
291 flags = append(flags, "\"SrcIp\": true")
292 }
293 if self&BSNHashFieldDstIp == BSNHashFieldDstIp {
294 flags = append(flags, "\"DstIp\": true")
295 }
296 if self&BSNHashFieldIpProto == BSNHashFieldIpProto {
297 flags = append(flags, "\"IpProto\": true")
298 }
299 if self&BSNHashFieldSrcL4Port == BSNHashFieldSrcL4Port {
300 flags = append(flags, "\"SrcL4Port\": true")
301 }
302 if self&BSNHashFieldDstL4Port == BSNHashFieldDstL4Port {
303 flags = append(flags, "\"DstL4Port\": true")
304 }
305 if self&BSNHashFieldMplsLabel1 == BSNHashFieldMplsLabel1 {
306 flags = append(flags, "\"MplsLabel1\": true")
307 }
308 if self&BSNHashFieldMplsLabel2 == BSNHashFieldMplsLabel2 {
309 flags = append(flags, "\"MplsLabel2\": true")
310 }
311 if self&BSNHashFieldMplsLabel3 == BSNHashFieldMplsLabel3 {
312 flags = append(flags, "\"MplsLabel3\": true")
313 }
314 if self&BSNHashFieldMplsLabelHiBits == BSNHashFieldMplsLabelHiBits {
315 flags = append(flags, "\"MplsLabelHiBits\": true")
316 }
317 if self&BSNHashFieldMplsPayloadSrcIp == BSNHashFieldMplsPayloadSrcIp {
318 flags = append(flags, "\"MplsPayloadSrcIp\": true")
319 }
320 if self&BSNHashFieldMplsPayloadDstIp == BSNHashFieldMplsPayloadDstIp {
321 flags = append(flags, "\"MplsPayloadDstIp\": true")
322 }
323 if self&BSNHashFieldSymmetric == BSNHashFieldSymmetric {
324 flags = append(flags, "\"Symmetric\": true")
325 }
326 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
327}
328
329const (
330 // Identifiers from group of_bsn_hash_packet_type
331 OFBSNHashPacketL2 = 0 // OF_BSN_HASH_PACKET_L2
332 OFBSNHashPacketL2Gre = 1 // OF_BSN_HASH_PACKET_L2GRE
333 OFBSNHashPacketIpv4 = 3 // OF_BSN_HASH_PACKET_IPV4
334 OFBSNHashPacketIpv6 = 4 // OF_BSN_HASH_PACKET_IPV6
335 OFBSNHashPacketMpls = 5 // OF_BSN_HASH_PACKET_MPLS
336 OFBSNHashPacketSymmetric = 6 // OF_BSN_HASH_PACKET_SYMMETRIC
337)
338
339type BsnHashPacketType uint8
340
341func (self BsnHashPacketType) MarshalJSON() ([]byte, error) {
342 return []byte(fmt.Sprintf("%d", self)), nil
343}
344
345const (
346 // Identifiers from group of_bsn_hash_type
347 BSNHashTypeL2 = 0 // OFP_BSN_HASH_TYPE_L2
348 BSNHashTypeL3 = 1 // OFP_BSN_HASH_TYPE_L3
349 BSNHashTypeEnhanced = 2 // OFP_BSN_HASH_TYPE_ENHANCED
350)
351
352type BsnHashType uint8
353
354func (self BsnHashType) MarshalJSON() ([]byte, error) {
355 return []byte(fmt.Sprintf("%d", self)), nil
356}
357
358const (
359 // Identifiers from group of_bsn_lacp_convergence_status
360 LacpSuccess = 0 // LACP_SUCCESS
361 LacpTimedout = 1 // LACP_TIMEDOUT
362 LacpOutOfSync = 2 // LACP_OUT_OF_SYNC
363)
364
365type BsnLacpConvergenceStatus uint8
366
367func (self BsnLacpConvergenceStatus) MarshalJSON() ([]byte, error) {
368 return []byte(fmt.Sprintf("%d", self)), nil
369}
370
371const (
372 // Identifiers from group of_bsn_pdu_slot_num
373 BsnPduSlotNumAny = 255 // BSN_PDU_SLOT_NUM_ANY
374)
375
376type BsnPduSlotNum uint8
377
378func (self BsnPduSlotNum) MarshalJSON() ([]byte, error) {
379 return []byte(fmt.Sprintf("%d", self)), nil
380}
381
382const (
383 // Identifiers from group of_bsn_vlan_counter
384 BSNVLANCounterRxBytes = 0 // OFP_BSN_VLAN_COUNTER_RX_BYTES
385 BSNVLANCounterRxPackets = 1 // OFP_BSN_VLAN_COUNTER_RX_PACKETS
386 BSNVLANCounterTxBytes = 2 // OFP_BSN_VLAN_COUNTER_TX_BYTES
387 BSNVLANCounterTxPackets = 3 // OFP_BSN_VLAN_COUNTER_TX_PACKETS
388)
389
390type BsnVlanCounter uint8
391
392func (self BsnVlanCounter) MarshalJSON() ([]byte, error) {
393 return []byte(fmt.Sprintf("%d", self)), nil
394}
395
396const (
397 // Identifiers from group of_bsn_vrf_counter
398 BSNVrfCounterBytes = 0 // OFP_BSN_VRF_COUNTER_BYTES
399 BSNVrfCounterPackets = 1 // OFP_BSN_VRF_COUNTER_PACKETS
400)
401
402type BsnVrfCounter uint8
403
404func (self BsnVrfCounter) MarshalJSON() ([]byte, error) {
405 return []byte(fmt.Sprintf("%d", self)), nil
406}
407
408const (
409 // Identifiers from group of_nx_nat_range
410 NxNatRangeIpv4Min = 1 // NX_NAT_RANGE_IPV4_MIN
411 NxNatRangeIpv4Max = 2 // NX_NAT_RANGE_IPV4_MAX
412 NxNatRangeIpv6Min = 4 // NX_NAT_RANGE_IPV6_MIN
413 NxNatRangeIpv6Max = 8 // NX_NAT_RANGE_IPV6_MAX
414 NxNatRangeProtoMin = 16 // NX_NAT_RANGE_PROTO_MIN
415 NxNatRangeProtoMax = 32 // NX_NAT_RANGE_PROTO_MAX
416)
417
418type NxNatRange uint16
419
420func (self NxNatRange) MarshalJSON() ([]byte, error) {
421 var flags []string
422 if self&NxNatRangeIpv4Min == NxNatRangeIpv4Min {
423 flags = append(flags, "\"Ipv4Min\": true")
424 }
425 if self&NxNatRangeIpv4Max == NxNatRangeIpv4Max {
426 flags = append(flags, "\"Ipv4Max\": true")
427 }
428 if self&NxNatRangeIpv6Min == NxNatRangeIpv6Min {
429 flags = append(flags, "\"Ipv6Min\": true")
430 }
431 if self&NxNatRangeIpv6Max == NxNatRangeIpv6Max {
432 flags = append(flags, "\"Ipv6Max\": true")
433 }
434 if self&NxNatRangeProtoMin == NxNatRangeProtoMin {
435 flags = append(flags, "\"ProtoMin\": true")
436 }
437 if self&NxNatRangeProtoMax == NxNatRangeProtoMax {
438 flags = append(flags, "\"ProtoMax\": true")
439 }
440 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
441}
442
443const (
444 // Identifiers from group ofp_action_type
445 OFPATOutput = 0 // OFPAT_OUTPUT
446 OFPATCopyTtlOut = 11 // OFPAT_COPY_TTL_OUT
447 OFPATCopyTtlIn = 12 // OFPAT_COPY_TTL_IN
448 OFPATSetMplsTtl = 15 // OFPAT_SET_MPLS_TTL
449 OFPATDecMplsTtl = 16 // OFPAT_DEC_MPLS_TTL
450 OFPATPushVLAN = 17 // OFPAT_PUSH_VLAN
451 OFPATPopVLAN = 18 // OFPAT_POP_VLAN
452 OFPATPushMpls = 19 // OFPAT_PUSH_MPLS
453 OFPATPopMpls = 20 // OFPAT_POP_MPLS
454 OFPATSetQueue = 21 // OFPAT_SET_QUEUE
455 OFPATGroup = 22 // OFPAT_GROUP
456 OFPATSetNwTtl = 23 // OFPAT_SET_NW_TTL
457 OFPATDecNwTtl = 24 // OFPAT_DEC_NW_TTL
458 OFPATSetField = 25 // OFPAT_SET_FIELD
459 OFPATPushPbb = 26 // OFPAT_PUSH_PBB
460 OFPATPopPbb = 27 // OFPAT_POP_PBB
461 OFPATCopyField = 28 // OFPAT_COPY_FIELD
462 OFPATMeter = 29 // OFPAT_METER
463 OFPATExperimenter = 65535 // OFPAT_EXPERIMENTER
464)
465
466type ActionType uint16
467
468func (self ActionType) MarshalJSON() ([]byte, error) {
469 return []byte(fmt.Sprintf("%d", self)), nil
470}
471
472const (
473 // Identifiers from group ofp_async_config_failed_code
474 OFPACFCInvalid = 0 // OFPACFC_INVALID
475 OFPACFCUnsupported = 1 // OFPACFC_UNSUPPORTED
476 OFPACFCEperm = 2 // OFPACFC_EPERM
477)
478
479type AsyncConfigFailedCode uint16
480
481func (self AsyncConfigFailedCode) MarshalJSON() ([]byte, error) {
482 return []byte(fmt.Sprintf("%d", self)), nil
483}
484
485const (
486 // Identifiers from group ofp_async_config_prop_type
487 OFPACPTPacketInSlave = 0 // OFPACPT_PACKET_IN_SLAVE
488 OFPACPTPacketInMaster = 1 // OFPACPT_PACKET_IN_MASTER
489 OFPACPTPortStatusSlave = 2 // OFPACPT_PORT_STATUS_SLAVE
490 OFPACPTPortStatusMaster = 3 // OFPACPT_PORT_STATUS_MASTER
491 OFPACPTFlowRemovedSlave = 4 // OFPACPT_FLOW_REMOVED_SLAVE
492 OFPACPTFlowRemovedMaster = 5 // OFPACPT_FLOW_REMOVED_MASTER
493 OFPACPTRoleStatusSlave = 6 // OFPACPT_ROLE_STATUS_SLAVE
494 OFPACPTRoleStatusMaster = 7 // OFPACPT_ROLE_STATUS_MASTER
495 OFPACPTTableStatusSlave = 8 // OFPACPT_TABLE_STATUS_SLAVE
496 OFPACPTTableStatusMaster = 9 // OFPACPT_TABLE_STATUS_MASTER
497 OFPACPTRequestforwardSlave = 10 // OFPACPT_REQUESTFORWARD_SLAVE
498 OFPACPTRequestforwardMaster = 11 // OFPACPT_REQUESTFORWARD_MASTER
499 OFPACPTFlowStatsSlave = 12 // OFPACPT_FLOW_STATS_SLAVE
500 OFPACPTFlowStatsMaster = 13 // OFPACPT_FLOW_STATS_MASTER
501 OFPACPTContStatusSlave = 14 // OFPACPT_CONT_STATUS_SLAVE
502 OFPACPTContStatusMaster = 15 // OFPACPT_CONT_STATUS_MASTER
503 OFPACPTExperimenterSlave = 65534 // OFPACPT_EXPERIMENTER_SLAVE
504 OFPACPTExperimenterMaster = 65535 // OFPACPT_EXPERIMENTER_MASTER
505)
506
507const (
508 // Identifiers from group ofp_bad_action_code
509 OFPBACBadType = 0 // OFPBAC_BAD_TYPE
510 OFPBACBadLen = 1 // OFPBAC_BAD_LEN
511 OFPBACBadExperimenter = 2 // OFPBAC_BAD_EXPERIMENTER
512 OFPBACBadExperimenterType = 3 // OFPBAC_BAD_EXPERIMENTER_TYPE
513 OFPBACBadOutPort = 4 // OFPBAC_BAD_OUT_PORT
514 OFPBACBadArgument = 5 // OFPBAC_BAD_ARGUMENT
515 OFPBACEperm = 6 // OFPBAC_EPERM
516 OFPBACTooMany = 7 // OFPBAC_TOO_MANY
517 OFPBACBadQueue = 8 // OFPBAC_BAD_QUEUE
518 OFPBACBadOutGroup = 9 // OFPBAC_BAD_OUT_GROUP
519 OFPBACMatchInconsistent = 10 // OFPBAC_MATCH_INCONSISTENT
520 OFPBACUnsupportedOrder = 11 // OFPBAC_UNSUPPORTED_ORDER
521 OFPBACBadTag = 12 // OFPBAC_BAD_TAG
522 OFPBACBadSetType = 13 // OFPBAC_BAD_SET_TYPE
523 OFPBACBadSetLen = 14 // OFPBAC_BAD_SET_LEN
524 OFPBACBadSetArgument = 15 // OFPBAC_BAD_SET_ARGUMENT
525 OFPBACBadSetMask = 16 // OFPBAC_BAD_SET_MASK
526 OFPBACBadMeter = 17 // OFPBAC_BAD_METER
527)
528
529type BadActionCode uint16
530
531func (self BadActionCode) MarshalJSON() ([]byte, error) {
532 return []byte(fmt.Sprintf("%d", self)), nil
533}
534
535const (
536 // Identifiers from group ofp_bad_instruction_code
537 OFPBICUnknownInst = 0 // OFPBIC_UNKNOWN_INST
538 OFPBICUnsupInst = 1 // OFPBIC_UNSUP_INST
539 OFPBICBadTableID = 2 // OFPBIC_BAD_TABLE_ID
540 OFPBICUnsupMetadata = 3 // OFPBIC_UNSUP_METADATA
541 OFPBICUnsupMetadataMask = 4 // OFPBIC_UNSUP_METADATA_MASK
542 OFPBICBadExperimenter = 5 // OFPBIC_BAD_EXPERIMENTER
543 OFPBICBadExperimenterType = 6 // OFPBIC_BAD_EXPERIMENTER_TYPE
544 OFPBICBadLen = 7 // OFPBIC_BAD_LEN
545 OFPBICEperm = 8 // OFPBIC_EPERM
546 OFPBICDupInst = 9 // OFPBIC_DUP_INST
547)
548
549type BadInstructionCode uint16
550
551func (self BadInstructionCode) MarshalJSON() ([]byte, error) {
552 return []byte(fmt.Sprintf("%d", self)), nil
553}
554
555const (
556 // Identifiers from group ofp_bad_match_code
557 OFPBMCBadType = 0 // OFPBMC_BAD_TYPE
558 OFPBMCBadLen = 1 // OFPBMC_BAD_LEN
559 OFPBMCBadTag = 2 // OFPBMC_BAD_TAG
560 OFPBMCBadDlAddrMask = 3 // OFPBMC_BAD_DL_ADDR_MASK
561 OFPBMCBadNwAddrMask = 4 // OFPBMC_BAD_NW_ADDR_MASK
562 OFPBMCBadWildcards = 5 // OFPBMC_BAD_WILDCARDS
563 OFPBMCBadField = 6 // OFPBMC_BAD_FIELD
564 OFPBMCBadValue = 7 // OFPBMC_BAD_VALUE
565 OFPBMCBadMask = 8 // OFPBMC_BAD_MASK
566 OFPBMCBadPrereq = 9 // OFPBMC_BAD_PREREQ
567 OFPBMCDupField = 10 // OFPBMC_DUP_FIELD
568 OFPBMCEperm = 11 // OFPBMC_EPERM
569)
570
571type BadMatchCode uint16
572
573func (self BadMatchCode) MarshalJSON() ([]byte, error) {
574 return []byte(fmt.Sprintf("%d", self)), nil
575}
576
577const (
578 // Identifiers from group ofp_bad_property_code
579 OFPBPCBadType = 0 // OFPBPC_BAD_TYPE
580 OFPBPCBadLen = 1 // OFPBPC_BAD_LEN
581 OFPBPCBadValue = 2 // OFPBPC_BAD_VALUE
582 OFPBPCTooMany = 3 // OFPBPC_TOO_MANY
583 OFPBPCDupType = 4 // OFPBPC_DUP_TYPE
584 OFPBPCBadExperimenter = 5 // OFPBPC_BAD_EXPERIMENTER
585 OFPBPCBadExpType = 6 // OFPBPC_BAD_EXP_TYPE
586 OFPBPCBadExpValue = 7 // OFPBPC_BAD_EXP_VALUE
587 OFPBPCEperm = 8 // OFPBPC_EPERM
588)
589
590type BadPropertyCode uint16
591
592func (self BadPropertyCode) MarshalJSON() ([]byte, error) {
593 return []byte(fmt.Sprintf("%d", self)), nil
594}
595
596const (
597 // Identifiers from group ofp_bad_request_code
598 OFPBRCBadVersion = 0 // OFPBRC_BAD_VERSION
599 OFPBRCBadType = 1 // OFPBRC_BAD_TYPE
600 OFPBRCBadStat = 2 // OFPBRC_BAD_STAT
601 OFPBRCBadExperimenter = 3 // OFPBRC_BAD_EXPERIMENTER
602 OFPBRCBadExperimenterType = 4 // OFPBRC_BAD_EXPERIMENTER_TYPE
603 OFPBRCEperm = 5 // OFPBRC_EPERM
604 OFPBRCBadLen = 6 // OFPBRC_BAD_LEN
605 OFPBRCBufferEmpty = 7 // OFPBRC_BUFFER_EMPTY
606 OFPBRCBufferUnknown = 8 // OFPBRC_BUFFER_UNKNOWN
607 OFPBRCBadTableID = 9 // OFPBRC_BAD_TABLE_ID
608 OFPBRCIsSlave = 10 // OFPBRC_IS_SLAVE
609 OFPBRCBadPort = 11 // OFPBRC_BAD_PORT
610 OFPBRCBadPacket = 12 // OFPBRC_BAD_PACKET
611 OFPBRCMultipartBufferOverflow = 13 // OFPBRC_MULTIPART_BUFFER_OVERFLOW
612 OFPBRCMultipartRequestTimeout = 14 // OFPBRC_MULTIPART_REQUEST_TIMEOUT
613 OFPBRCMultipartReplyTimeout = 15 // OFPBRC_MULTIPART_REPLY_TIMEOUT
614 OFPBRCMultipartBadSched = 16 // OFPBRC_MULTIPART_BAD_SCHED
615 OFPBRCPipelineFieldsOnly = 17 // OFPBRC_PIPELINE_FIELDS_ONLY
616 OFPBRCUnknown = 18 // OFPBRC_UNKNOWN
617)
618
619type BadRequestCode uint16
620
621func (self BadRequestCode) MarshalJSON() ([]byte, error) {
622 return []byte(fmt.Sprintf("%d", self)), nil
623}
624
625const (
626 // Identifiers from group ofp_bsn_anchor
627 BSNAnchorPacketStart = 0 // OFP_BSN_ANCHOR_PACKET_START
628 BSNAnchorL3HeaderStart = 1 // OFP_BSN_ANCHOR_L3_HEADER_START
629 BSNAnchorL4HeaderStart = 2 // OFP_BSN_ANCHOR_L4_HEADER_START
630 BSNAnchorL4PayloadStart = 3 // OFP_BSN_ANCHOR_L4_PAYLOAD_START
631)
632
633type BsnAnchor uint16
634
635func (self BsnAnchor) MarshalJSON() ([]byte, error) {
636 return []byte(fmt.Sprintf("%d", self)), nil
637}
638
639const (
640 // Identifiers from group ofp_bsn_auto_negotiation_type
641 BSNAutoNegotiationDefault = 0 // OFP_BSN_AUTO_NEGOTIATION_DEFAULT
642 BSNAutoNegotiationEnable = 1 // OFP_BSN_AUTO_NEGOTIATION_ENABLE
643 BSNAutoNegotiationDisable = 2 // OFP_BSN_AUTO_NEGOTIATION_DISABLE
644)
645
646type BsnAutoNegotiationType uint8
647
648func (self BsnAutoNegotiationType) MarshalJSON() ([]byte, error) {
649 return []byte(fmt.Sprintf("%d", self)), nil
650}
651
652const (
653 // Identifiers from group ofp_bsn_bfd_endpoint
654 BSNBfdUnused = 0 // OFP_BSN_BFD_UNUSED
655 BSNBfdMicro = 1 // OFP_BSN_BFD_MICRO
656 BSNBfd1Hop = 2 // OFP_BSN_BFD_1_HOP
657 BSNBfdMultiHop = 3 // OFP_BSN_BFD_MULTI_HOP
658)
659
660type BsnBfdEndpoint uint8
661
662func (self BsnBfdEndpoint) MarshalJSON() ([]byte, error) {
663 return []byte(fmt.Sprintf("%d", self)), nil
664}
665
666const (
667 // Identifiers from group ofp_bsn_bfd_endpoint_state
668 BSNBfdEndpointStateAdmindown = 0 // OFP_BSN_BFD_ENDPOINT_STATE_ADMINDOWN
669 BSNBfdEndpointStateDown = 1 // OFP_BSN_BFD_ENDPOINT_STATE_DOWN
670 BSNBfdEndpointStateInit = 2 // OFP_BSN_BFD_ENDPOINT_STATE_INIT
671 BSNBfdEndpointStateUp = 3 // OFP_BSN_BFD_ENDPOINT_STATE_UP
672 BSNBfdEndpointSessionError = 4 // OFP_BSN_BFD_ENDPOINT_SESSION_ERROR
673 BSNBfdEndpointRemoteAdmindown = 5 // OFP_BSN_BFD_ENDPOINT_REMOTE_ADMINDOWN
674 BSNBfdEndpointParamsChange = 6 // OFP_BSN_BFD_ENDPOINT_PARAMS_CHANGE
675)
676
677type BsnBfdEndpointState uint8
678
679func (self BsnBfdEndpointState) MarshalJSON() ([]byte, error) {
680 return []byte(fmt.Sprintf("%d", self)), nil
681}
682
683const (
684 // Identifiers from group ofp_bsn_cml
685 BSNCmlNone = 0 // OFP_BSN_CML_NONE
686 BSNCmlCpuDrop = 1 // OFP_BSN_CML_CPU_DROP
687 BSNCmlForward = 2 // OFP_BSN_CML_FORWARD
688 BSNCmlCpuForward = 3 // OFP_BSN_CML_CPU_FORWARD
689)
690
691type BsnCml uint16
692
693func (self BsnCml) MarshalJSON() ([]byte, error) {
694 return []byte(fmt.Sprintf("%d", self)), nil
695}
696
697const (
698 // Identifiers from group ofp_bsn_controller_connection_state
699 BSNControllerConnectionStateDisconnected = 0 // OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED
700 BSNControllerConnectionStateConnected = 1 // OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED
701)
702
703type BsnControllerConnectionState uint8
704
705func (self BsnControllerConnectionState) MarshalJSON() ([]byte, error) {
706 return []byte(fmt.Sprintf("%d", self)), nil
707}
708
709const (
710 // Identifiers from group ofp_bsn_decap
711 BSNDecapVxlan = 0 // OFP_BSN_DECAP_VXLAN
712 BSNDecapErspan = 1 // OFP_BSN_DECAP_ERSPAN
713 BSNDecapL2GRE = 2 // OFP_BSN_DECAP_L2_GRE
714 BSNDecapNvgre = 3 // OFP_BSN_DECAP_NVGRE
715 BSNDecapCapwap = 4 // OFP_BSN_DECAP_CAPWAP
716 BSNDecapL2Mpls = 5 // OFP_BSN_DECAP_L2_MPLS
717 BSNDecapL3GRE = 6 // OFP_BSN_DECAP_L3_GRE
718 BSNDecapGtp = 7 // OFP_BSN_DECAP_GTP
719 BSNDecapL3Mpls = 8 // OFP_BSN_DECAP_L3_MPLS
720)
721
722type BsnDecap uint16
723
724func (self BsnDecap) MarshalJSON() ([]byte, error) {
725 return []byte(fmt.Sprintf("%d", self)), nil
726}
727
728const (
729 // Identifiers from group ofp_bsn_encap
730 BSNEncapUnused = 0 // OFP_BSN_ENCAP_UNUSED
731 BSNEncapIpv4Udp = 1 // OFP_BSN_ENCAP_IPV4_UDP
732 BSNEncapIpv6Udp = 2 // OFP_BSN_ENCAP_IPV6_UDP
733)
734
735type BsnEncap uint8
736
737func (self BsnEncap) MarshalJSON() ([]byte, error) {
738 return []byte(fmt.Sprintf("%d", self)), nil
739}
740
741const (
742 // Identifiers from group ofp_bsn_enhanced_hash_type
743 BSNEnhancedHashL2 = 1 // OFP_BSN_ENHANCED_HASH_L2
744 BSNEnhancedHashL3 = 2 // OFP_BSN_ENHANCED_HASH_L3
745 BSNEnhancedHashL2Gre = 4 // OFP_BSN_ENHANCED_HASH_L2GRE
746 BSNEnhancedHashMpls = 8 // OFP_BSN_ENHANCED_HASH_MPLS
747 BSNEnhancedHashGtp = 16 // OFP_BSN_ENHANCED_HASH_GTP
748 BSNEnhancedHashSymmetric = 32 // OFP_BSN_ENHANCED_HASH_SYMMETRIC
749)
750
751type BsnEnhancedHashType uint64
752
753func (self BsnEnhancedHashType) MarshalJSON() ([]byte, error) {
754 var flags []string
755 if self&BSNEnhancedHashL2 == BSNEnhancedHashL2 {
756 flags = append(flags, "\"L2\": true")
757 }
758 if self&BSNEnhancedHashL3 == BSNEnhancedHashL3 {
759 flags = append(flags, "\"L3\": true")
760 }
761 if self&BSNEnhancedHashL2Gre == BSNEnhancedHashL2Gre {
762 flags = append(flags, "\"L2Gre\": true")
763 }
764 if self&BSNEnhancedHashMpls == BSNEnhancedHashMpls {
765 flags = append(flags, "\"Mpls\": true")
766 }
767 if self&BSNEnhancedHashGtp == BSNEnhancedHashGtp {
768 flags = append(flags, "\"Gtp\": true")
769 }
770 if self&BSNEnhancedHashSymmetric == BSNEnhancedHashSymmetric {
771 flags = append(flags, "\"Symmetric\": true")
772 }
773 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
774}
775
776const (
777 // Identifiers from group ofp_bsn_extended_capabilities
778 BSNExtCapAn = 1 // OFP_BSN_EXT_CAP_AN
779 BSNExtCapFec = 2 // OFP_BSN_EXT_CAP_FEC
780)
781
782type BsnExtendedCapabilities uint64
783
784func (self BsnExtendedCapabilities) MarshalJSON() ([]byte, error) {
785 var flags []string
786 if self&BSNExtCapAn == BSNExtCapAn {
787 flags = append(flags, "\"An\": true")
788 }
789 if self&BSNExtCapFec == BSNExtCapFec {
790 flags = append(flags, "\"Fec\": true")
791 }
792 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
793}
794
795const (
796 // Identifiers from group ofp_bsn_fabric_port_role
797 BSNFabricPortRolePartitionedSpine = 1 // OFP_BSN_FABRIC_PORT_ROLE_PARTITIONED_SPINE
798)
799
800type BsnFabricPortRole uint16
801
802func (self BsnFabricPortRole) MarshalJSON() ([]byte, error) {
803 return []byte(fmt.Sprintf("%d", self)), nil
804}
805
806const (
807 // Identifiers from group ofp_bsn_fec_config_state
808 BSNFecConfigStateUnset = 0 // OFP_BSN_FEC_CONFIG_STATE_UNSET
809 BSNFecConfigStateEnabled = 1 // OFP_BSN_FEC_CONFIG_STATE_ENABLED
810 BSNFecConfigStateDisabled = 2 // OFP_BSN_FEC_CONFIG_STATE_DISABLED
811)
812
813type BsnFecConfigState uint32
814
815func (self BsnFecConfigState) MarshalJSON() ([]byte, error) {
816 return []byte(fmt.Sprintf("%d", self)), nil
817}
818
819const (
820 // Identifiers from group ofp_bsn_flow_classifier
821 BSNFlowClassifierNone = 0 // OFP_BSN_FLOW_CLASSIFIER_NONE
822 BSNFlowClassifierL2Bc = 1 // OFP_BSN_FLOW_CLASSIFIER_L2BC
823 BSNFlowClassifierL2Uc = 2 // OFP_BSN_FLOW_CLASSIFIER_L2UC
824 BSNFlowClassifierL2Unknown = 3 // OFP_BSN_FLOW_CLASSIFIER_L2UNKNOWN
825 BSNFlowClassifierL2Mcknown = 4 // OFP_BSN_FLOW_CLASSIFIER_L2MCKNOWN
826 BSNFlowClassifierL2Mcunknown = 5 // OFP_BSN_FLOW_CLASSIFIER_L2MCUNKNOWN
827 BSNFlowClassifierL3Mcunknown = 6 // OFP_BSN_FLOW_CLASSIFIER_L3MCUNKNOWN
828 BSNFlowClassifierL3Mcknown = 7 // OFP_BSN_FLOW_CLASSIFIER_L3MCKNOWN
829 BSNFlowClassifierL3Ucknown = 8 // OFP_BSN_FLOW_CLASSIFIER_L3UCKNOWN
830 BSNFlowClassifierL3Ucunknown = 9 // OFP_BSN_FLOW_CLASSIFIER_L3UCUNKNOWN
831)
832
833type BsnFlowClassifier uint16
834
835func (self BsnFlowClassifier) MarshalJSON() ([]byte, error) {
836 return []byte(fmt.Sprintf("%d", self)), nil
837}
838
839const (
840 // Identifiers from group ofp_bsn_forward_error_correction_type
841 BSNForwardErrorCorrectionDefault = 0 // OFP_BSN_FORWARD_ERROR_CORRECTION_DEFAULT
842 BSNForwardErrorCorrectionEnable = 1 // OFP_BSN_FORWARD_ERROR_CORRECTION_ENABLE
843 BSNForwardErrorCorrectionDisable = 2 // OFP_BSN_FORWARD_ERROR_CORRECTION_DISABLE
844)
845
846type BsnForwardErrorCorrectionType uint8
847
848func (self BsnForwardErrorCorrectionType) MarshalJSON() ([]byte, error) {
849 return []byte(fmt.Sprintf("%d", self)), nil
850}
851
852const (
853 // Identifiers from group ofp_bsn_hash_algorithm_type
854 BSNHashAlgorithmCrc16Xor8 = 0 // OFP_BSN_HASH_ALGORITHM_CRC16XOR8
855 BSNHashAlgorithmCrc16Xor4 = 1 // OFP_BSN_HASH_ALGORITHM_CRC16XOR4
856 BSNHashAlgorithmCrc16Xor2 = 2 // OFP_BSN_HASH_ALGORITHM_CRC16XOR2
857 BSNHashAlgorithmCrc16Xor1 = 3 // OFP_BSN_HASH_ALGORITHM_CRC16XOR1
858 BSNHashAlgorithmCrc16 = 4 // OFP_BSN_HASH_ALGORITHM_CRC16
859 BSNHashAlgorithmXor16 = 5 // OFP_BSN_HASH_ALGORITHM_XOR16
860 BSNHashAlgorithmCrc16Ccitt = 6 // OFP_BSN_HASH_ALGORITHM_CRC16CCITT
861 BSNHashAlgorithmCrc32Lo = 7 // OFP_BSN_HASH_ALGORITHM_CRC32LO
862 BSNHashAlgorithmCrc32Hi = 8 // OFP_BSN_HASH_ALGORITHM_CRC32HI
863)
864
865type BsnHashAlgorithmType uint16
866
867func (self BsnHashAlgorithmType) MarshalJSON() ([]byte, error) {
868 return []byte(fmt.Sprintf("%d", self)), nil
869}
870
871const (
872 // Identifiers from group ofp_bsn_hash_select_flags
873 BSNHashSelectSrcIp = 1 // OFP_BSN_HASH_SELECT_SRC_IP
874 BSNHashSelectDstIp = 2 // OFP_BSN_HASH_SELECT_DST_IP
875)
876
877type BsnHashSelectFlags uint32
878
879func (self BsnHashSelectFlags) MarshalJSON() ([]byte, error) {
880 var flags []string
881 if self&BSNHashSelectSrcIp == BSNHashSelectSrcIp {
882 flags = append(flags, "\"SrcIp\": true")
883 }
884 if self&BSNHashSelectDstIp == BSNHashSelectDstIp {
885 flags = append(flags, "\"DstIp\": true")
886 }
887 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
888}
889
890const (
891 // Identifiers from group ofp_bsn_ip_tunnel_type
892 BSNIpTunnelTypeNone = 0 // OFP_BSN_IP_TUNNEL_TYPE_NONE
893 BSNIpTunnelTypePim = 1 // OFP_BSN_IP_TUNNEL_TYPE_PIM
894)
895
896type BsnIpTunnelType uint16
897
898func (self BsnIpTunnelType) MarshalJSON() ([]byte, error) {
899 return []byte(fmt.Sprintf("%d", self)), nil
900}
901
902const (
903 // Identifiers from group ofp_bsn_lacp_state
904 BSNLacpStateActivity = 1 // OFP_BSN_LACP_STATE_ACTIVITY
905 BSNLacpStateTimeout = 2 // OFP_BSN_LACP_STATE_TIMEOUT
906 BSNLacpStateAggregation = 4 // OFP_BSN_LACP_STATE_AGGREGATION
907 BSNLacpStateSynchronization = 8 // OFP_BSN_LACP_STATE_SYNCHRONIZATION
908 BSNLacpStateCollecting = 16 // OFP_BSN_LACP_STATE_COLLECTING
909 BSNLacpStateDistributing = 32 // OFP_BSN_LACP_STATE_DISTRIBUTING
910 BSNLacpStateDefaulted = 64 // OFP_BSN_LACP_STATE_DEFAULTED
911 BSNLacpStateExpired = 128 // OFP_BSN_LACP_STATE_EXPIRED
912)
913
914type BsnLacpState uint8
915
916func (self BsnLacpState) MarshalJSON() ([]byte, error) {
917 var flags []string
918 if self&BSNLacpStateActivity == BSNLacpStateActivity {
919 flags = append(flags, "\"Activity\": true")
920 }
921 if self&BSNLacpStateTimeout == BSNLacpStateTimeout {
922 flags = append(flags, "\"Timeout\": true")
923 }
924 if self&BSNLacpStateAggregation == BSNLacpStateAggregation {
925 flags = append(flags, "\"Aggregation\": true")
926 }
927 if self&BSNLacpStateSynchronization == BSNLacpStateSynchronization {
928 flags = append(flags, "\"Synchronization\": true")
929 }
930 if self&BSNLacpStateCollecting == BSNLacpStateCollecting {
931 flags = append(flags, "\"Collecting\": true")
932 }
933 if self&BSNLacpStateDistributing == BSNLacpStateDistributing {
934 flags = append(flags, "\"Distributing\": true")
935 }
936 if self&BSNLacpStateDefaulted == BSNLacpStateDefaulted {
937 flags = append(flags, "\"Defaulted\": true")
938 }
939 if self&BSNLacpStateExpired == BSNLacpStateExpired {
940 flags = append(flags, "\"Expired\": true")
941 }
942 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
943}
944
945const (
946 // Identifiers from group ofp_bsn_lag_flag
947 BSNLagFlagAutoRecovery = 1 // OFP_BSN_LAG_FLAG_AUTO_RECOVERY
948)
949
950type BsnLagFlag uint16
951
952func (self BsnLagFlag) MarshalJSON() ([]byte, error) {
953 var flags []string
954 if self&BSNLagFlagAutoRecovery == BSNLagFlagAutoRecovery {
955 flags = append(flags, "\"BSNLagFlagAutoRecovery\": true")
956 }
957 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
958}
959
960const (
961 // Identifiers from group ofp_bsn_loglevel
962 BSNLoglevelMsg = 0 // OFP_BSN_LOGLEVEL_MSG
963 BSNLoglevelError = 1 // OFP_BSN_LOGLEVEL_ERROR
964 BSNLoglevelWarn = 2 // OFP_BSN_LOGLEVEL_WARN
965 BSNLoglevelInfo = 3 // OFP_BSN_LOGLEVEL_INFO
966 BSNLoglevelVerbose = 4 // OFP_BSN_LOGLEVEL_VERBOSE
967 BSNLoglevelTrace = 5 // OFP_BSN_LOGLEVEL_TRACE
968)
969
970type BsnLoglevel uint8
971
972func (self BsnLoglevel) MarshalJSON() ([]byte, error) {
973 return []byte(fmt.Sprintf("%d", self)), nil
974}
975
976const (
977 // Identifiers from group ofp_bsn_loopback_mode
978 BSNLoopbackModeNone = 0 // OFP_BSN_LOOPBACK_MODE_NONE
979 BSNLoopbackModeMAC = 1 // OFP_BSN_LOOPBACK_MODE_MAC
980 BSNLoopbackModePhy = 2 // OFP_BSN_LOOPBACK_MODE_PHY
981 BSNLoopbackModePhyRemote = 3 // OFP_BSN_LOOPBACK_MODE_PHY_REMOTE
982)
983
984type BsnLoopbackMode uint8
985
986func (self BsnLoopbackMode) MarshalJSON() ([]byte, error) {
987 return []byte(fmt.Sprintf("%d", self)), nil
988}
989
990const (
991 // Identifiers from group ofp_bsn_lua_upload_flags
992 BSNLuaUploadMore = 1 // OFP_BSN_LUA_UPLOAD_MORE
993 BSNLuaUploadForce = 2 // OFP_BSN_LUA_UPLOAD_FORCE
994)
995
996type BsnLuaUploadFlags uint16
997
998func (self BsnLuaUploadFlags) MarshalJSON() ([]byte, error) {
999 var flags []string
1000 if self&BSNLuaUploadMore == BSNLuaUploadMore {
1001 flags = append(flags, "\"More\": true")
1002 }
1003 if self&BSNLuaUploadForce == BSNLuaUploadForce {
1004 flags = append(flags, "\"Force\": true")
1005 }
1006 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1007}
1008
1009const (
1010 // Identifiers from group ofp_bsn_misc_capabilities
1011 BSNMiscCapFec = 1 // OFP_BSN_MISC_CAP_FEC
1012)
1013
1014type BsnMiscCapabilities uint64
1015
1016func (self BsnMiscCapabilities) MarshalJSON() ([]byte, error) {
1017 var flags []string
1018 if self&BSNMiscCapFec == BSNMiscCapFec {
1019 flags = append(flags, "\"BSNMiscCapFec\": true")
1020 }
1021 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1022}
1023
1024const (
1025 // Identifiers from group ofp_bsn_multicast_packet
1026 BSNMulticastPacketNone = 0 // OFP_BSN_MULTICAST_PACKET_NONE
1027 BSNMulticastPacketPimHello = 1 // OFP_BSN_MULTICAST_PACKET_PIM_HELLO
1028 BSNMulticastPacketPimJoinPrune = 2 // OFP_BSN_MULTICAST_PACKET_PIM_JOIN_PRUNE
1029 BSNMulticastPacketPimAssert = 3 // OFP_BSN_MULTICAST_PACKET_PIM_ASSERT
1030)
1031
1032type BsnMulticastPacket uint16
1033
1034func (self BsnMulticastPacket) MarshalJSON() ([]byte, error) {
1035 return []byte(fmt.Sprintf("%d", self)), nil
1036}
1037
1038const (
1039 // Identifiers from group ofp_bsn_pktin_flag
1040 BSNPktinFlagPdu = 1 // OFP_BSN_PKTIN_FLAG_PDU
1041 BSNPktinFlagNewHost = 2 // OFP_BSN_PKTIN_FLAG_NEW_HOST
1042 BSNPktinFlagStationMove = 4 // OFP_BSN_PKTIN_FLAG_STATION_MOVE
1043 BSNPktinFlagARP = 8 // OFP_BSN_PKTIN_FLAG_ARP
1044 BSNPktinFlagDhcp = 16 // OFP_BSN_PKTIN_FLAG_DHCP
1045 BSNPktinFlagL2Cpu = 32 // OFP_BSN_PKTIN_FLAG_L2_CPU
1046 BSNPktinFlagDebug = 64 // OFP_BSN_PKTIN_FLAG_DEBUG
1047 BSNPktinFlagTtlExpired = 128 // OFP_BSN_PKTIN_FLAG_TTL_EXPIRED
1048 BSNPktinFlagL3Miss = 256 // OFP_BSN_PKTIN_FLAG_L3_MISS
1049 BSNPktinFlagL3Cpu = 512 // OFP_BSN_PKTIN_FLAG_L3_CPU
1050 BSNPktinFlagIngressAcl = 1024 // OFP_BSN_PKTIN_FLAG_INGRESS_ACL
1051 BSNPktinFlagSflow = 2048 // OFP_BSN_PKTIN_FLAG_SFLOW
1052 BSNPktinFlagARPCache = 4096 // OFP_BSN_PKTIN_FLAG_ARP_CACHE
1053 BSNPktinFlagARPTarget = 8192 // OFP_BSN_PKTIN_FLAG_ARP_TARGET
1054 BSNPktinFlagIgmp = 16384 // OFP_BSN_PKTIN_FLAG_IGMP
1055 BSNPktinFlagPim = 32768 // OFP_BSN_PKTIN_FLAG_PIM
1056 BSNPktinFlagVxlanSipMiss = 65536 // OFP_BSN_PKTIN_FLAG_VXLAN_SIP_MISS
1057 BSNPktinFlagMcReserved = 131072 // OFP_BSN_PKTIN_FLAG_MC_RESERVED
1058 BSNPktinFlagAnalytics = 262144 // OFP_BSN_PKTIN_FLAG_ANALYTICS
1059 BSNPktinFlagIcmpv6 = 524288 // OFP_BSN_PKTIN_FLAG_ICMPV6
1060 BSNPktinFlagIngressAclLocal = 1048576 // OFP_BSN_PKTIN_FLAG_INGRESS_ACL_LOCAL
1061 BSNPktinFlagIpmcMiss = 2097152 // OFP_BSN_PKTIN_FLAG_IPMC_MISS
1062 BSNPktinFlagIpmcRpfFailed = 4194304 // OFP_BSN_PKTIN_FLAG_IPMC_RPF_FAILED
1063 BSNPktinFlagBfdSlowpath = 8388608 // OFP_BSN_PKTIN_FLAG_BFD_SLOWPATH
1064 BSNPktinFlagSflowEgress = 16777216 // OFP_BSN_PKTIN_FLAG_SFLOW_EGRESS
1065)
1066
1067type BsnPktinFlag uint64
1068
1069func (self BsnPktinFlag) MarshalJSON() ([]byte, error) {
1070 var flags []string
1071 if self&BSNPktinFlagPdu == BSNPktinFlagPdu {
1072 flags = append(flags, "\"Pdu\": true")
1073 }
1074 if self&BSNPktinFlagNewHost == BSNPktinFlagNewHost {
1075 flags = append(flags, "\"NewHost\": true")
1076 }
1077 if self&BSNPktinFlagStationMove == BSNPktinFlagStationMove {
1078 flags = append(flags, "\"StationMove\": true")
1079 }
1080 if self&BSNPktinFlagARP == BSNPktinFlagARP {
1081 flags = append(flags, "\"Arp\": true")
1082 }
1083 if self&BSNPktinFlagDhcp == BSNPktinFlagDhcp {
1084 flags = append(flags, "\"Dhcp\": true")
1085 }
1086 if self&BSNPktinFlagL2Cpu == BSNPktinFlagL2Cpu {
1087 flags = append(flags, "\"L2Cpu\": true")
1088 }
1089 if self&BSNPktinFlagDebug == BSNPktinFlagDebug {
1090 flags = append(flags, "\"Debug\": true")
1091 }
1092 if self&BSNPktinFlagTtlExpired == BSNPktinFlagTtlExpired {
1093 flags = append(flags, "\"TtlExpired\": true")
1094 }
1095 if self&BSNPktinFlagL3Miss == BSNPktinFlagL3Miss {
1096 flags = append(flags, "\"L3Miss\": true")
1097 }
1098 if self&BSNPktinFlagL3Cpu == BSNPktinFlagL3Cpu {
1099 flags = append(flags, "\"L3Cpu\": true")
1100 }
1101 if self&BSNPktinFlagIngressAcl == BSNPktinFlagIngressAcl {
1102 flags = append(flags, "\"IngressAcl\": true")
1103 }
1104 if self&BSNPktinFlagSflow == BSNPktinFlagSflow {
1105 flags = append(flags, "\"Sflow\": true")
1106 }
1107 if self&BSNPktinFlagARPCache == BSNPktinFlagARPCache {
1108 flags = append(flags, "\"ArpCache\": true")
1109 }
1110 if self&BSNPktinFlagARPTarget == BSNPktinFlagARPTarget {
1111 flags = append(flags, "\"ArpTarget\": true")
1112 }
1113 if self&BSNPktinFlagIgmp == BSNPktinFlagIgmp {
1114 flags = append(flags, "\"Igmp\": true")
1115 }
1116 if self&BSNPktinFlagPim == BSNPktinFlagPim {
1117 flags = append(flags, "\"Pim\": true")
1118 }
1119 if self&BSNPktinFlagVxlanSipMiss == BSNPktinFlagVxlanSipMiss {
1120 flags = append(flags, "\"VxlanSipMiss\": true")
1121 }
1122 if self&BSNPktinFlagMcReserved == BSNPktinFlagMcReserved {
1123 flags = append(flags, "\"McReserved\": true")
1124 }
1125 if self&BSNPktinFlagAnalytics == BSNPktinFlagAnalytics {
1126 flags = append(flags, "\"Analytics\": true")
1127 }
1128 if self&BSNPktinFlagIcmpv6 == BSNPktinFlagIcmpv6 {
1129 flags = append(flags, "\"Icmpv6\": true")
1130 }
1131 if self&BSNPktinFlagIngressAclLocal == BSNPktinFlagIngressAclLocal {
1132 flags = append(flags, "\"IngressAclLocal\": true")
1133 }
1134 if self&BSNPktinFlagIpmcMiss == BSNPktinFlagIpmcMiss {
1135 flags = append(flags, "\"IpmcMiss\": true")
1136 }
1137 if self&BSNPktinFlagIpmcRpfFailed == BSNPktinFlagIpmcRpfFailed {
1138 flags = append(flags, "\"IpmcRpfFailed\": true")
1139 }
1140 if self&BSNPktinFlagBfdSlowpath == BSNPktinFlagBfdSlowpath {
1141 flags = append(flags, "\"BfdSlowpath\": true")
1142 }
1143 if self&BSNPktinFlagSflowEgress == BSNPktinFlagSflowEgress {
1144 flags = append(flags, "\"SflowEgress\": true")
1145 }
1146 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1147}
1148
1149const (
1150 // Identifiers from group ofp_bsn_port_counter
1151 BSNPortCounterRxBytes = 0 // OFP_BSN_PORT_COUNTER_RX_BYTES
1152 BSNPortCounterRxPacketsUnicast = 1 // OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST
1153 BSNPortCounterRxPacketsBroadcast = 2 // OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST
1154 BSNPortCounterRxPacketsMulticast = 3 // OFP_BSN_PORT_COUNTER_RX_PACKETS_MULTICAST
1155 BSNPortCounterRxDropped = 4 // OFP_BSN_PORT_COUNTER_RX_DROPPED
1156 BSNPortCounterRxErrors = 5 // OFP_BSN_PORT_COUNTER_RX_ERRORS
1157 BSNPortCounterTxBytes = 6 // OFP_BSN_PORT_COUNTER_TX_BYTES
1158 BSNPortCounterTxPacketsUnicast = 7 // OFP_BSN_PORT_COUNTER_TX_PACKETS_UNICAST
1159 BSNPortCounterTxPacketsBroadcast = 8 // OFP_BSN_PORT_COUNTER_TX_PACKETS_BROADCAST
1160 BSNPortCounterTxPacketsMulticast = 9 // OFP_BSN_PORT_COUNTER_TX_PACKETS_MULTICAST
1161 BSNPortCounterTxDropped = 10 // OFP_BSN_PORT_COUNTER_TX_DROPPED
1162 BSNPortCounterTxErrors = 11 // OFP_BSN_PORT_COUNTER_TX_ERRORS
1163 BSNPortCounterRxRunts = 12 // OFP_BSN_PORT_COUNTER_RX_RUNTS
1164 BSNPortCounterRxGiants = 13 // OFP_BSN_PORT_COUNTER_RX_GIANTS
1165 BSNPortCounterRxCrcErrors = 14 // OFP_BSN_PORT_COUNTER_RX_CRC_ERRORS
1166 BSNPortCounterRxAlignmentErrors = 15 // OFP_BSN_PORT_COUNTER_RX_ALIGNMENT_ERRORS
1167 BSNPortCounterRxSymbolErrors = 16 // OFP_BSN_PORT_COUNTER_RX_SYMBOL_ERRORS
1168 BSNPortCounterRxPauseInput = 17 // OFP_BSN_PORT_COUNTER_RX_PAUSE_INPUT
1169 BSNPortCounterTxCollisions = 18 // OFP_BSN_PORT_COUNTER_TX_COLLISIONS
1170 BSNPortCounterTxLateCollisions = 19 // OFP_BSN_PORT_COUNTER_TX_LATE_COLLISIONS
1171 BSNPortCounterTxDeferred = 20 // OFP_BSN_PORT_COUNTER_TX_DEFERRED
1172 BSNPortCounterTxPauseOutput = 21 // OFP_BSN_PORT_COUNTER_TX_PAUSE_OUTPUT
1173 BSNPortCounterRxPackets = 22 // OFP_BSN_PORT_COUNTER_RX_PACKETS
1174 BSNPortCounterTxPackets = 23 // OFP_BSN_PORT_COUNTER_TX_PACKETS
1175 BSNPortCounterRxLengthErrors = 24 // OFP_BSN_PORT_COUNTER_RX_LENGTH_ERRORS
1176 BSNPortCounterRxOverflowErrors = 25 // OFP_BSN_PORT_COUNTER_RX_OVERFLOW_ERRORS
1177 BSNPortCounterTxCarrierErrors = 26 // OFP_BSN_PORT_COUNTER_TX_CARRIER_ERRORS
1178 BSNPortCounterRxPacketsBadVLAN = 27 // OFP_BSN_PORT_COUNTER_RX_PACKETS_BAD_VLAN
1179 BSNPortCounterLinkUp = 28 // OFP_BSN_PORT_COUNTER_LINK_UP
1180 BSNPortCounterLinkDown = 29 // OFP_BSN_PORT_COUNTER_LINK_DOWN
1181 BSNPortCounterRxPfcControlFrame = 30 // OFP_BSN_PORT_COUNTER_RX_PFC_CONTROL_FRAME
1182 BSNPortCounterTxPfcControlFrame = 31 // OFP_BSN_PORT_COUNTER_TX_PFC_CONTROL_FRAME
1183 BSNPortCounterRxPfcFrameXonPriority0 = 32 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_0
1184 BSNPortCounterRxPfcFrameXonPriority1 = 33 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_1
1185 BSNPortCounterRxPfcFrameXonPriority2 = 34 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_2
1186 BSNPortCounterRxPfcFrameXonPriority3 = 35 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_3
1187 BSNPortCounterRxPfcFrameXonPriority4 = 36 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_4
1188 BSNPortCounterRxPfcFrameXonPriority5 = 37 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_5
1189 BSNPortCounterRxPfcFrameXonPriority6 = 38 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_6
1190 BSNPortCounterRxPfcFrameXonPriority7 = 39 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_XON_PRIORITY_7
1191 BSNPortCounterRxPfcFramePriority0 = 40 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_0
1192 BSNPortCounterRxPfcFramePriority1 = 41 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_1
1193 BSNPortCounterRxPfcFramePriority2 = 42 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_2
1194 BSNPortCounterRxPfcFramePriority3 = 43 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_3
1195 BSNPortCounterRxPfcFramePriority4 = 44 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_4
1196 BSNPortCounterRxPfcFramePriority5 = 45 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_5
1197 BSNPortCounterRxPfcFramePriority6 = 46 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_6
1198 BSNPortCounterRxPfcFramePriority7 = 47 // OFP_BSN_PORT_COUNTER_RX_PFC_FRAME_PRIORITY_7
1199 BSNPortCounterTxPfcFramePriority0 = 48 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_0
1200 BSNPortCounterTxPfcFramePriority1 = 49 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_1
1201 BSNPortCounterTxPfcFramePriority2 = 50 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_2
1202 BSNPortCounterTxPfcFramePriority3 = 51 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_3
1203 BSNPortCounterTxPfcFramePriority4 = 52 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_4
1204 BSNPortCounterTxPfcFramePriority5 = 53 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_5
1205 BSNPortCounterTxPfcFramePriority6 = 54 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_6
1206 BSNPortCounterTxPfcFramePriority7 = 55 // OFP_BSN_PORT_COUNTER_TX_PFC_FRAME_PRIORITY_7
1207)
1208
1209type BsnPortCounter uint8
1210
1211func (self BsnPortCounter) MarshalJSON() ([]byte, error) {
1212 return []byte(fmt.Sprintf("%d", self)), nil
1213}
1214
1215const (
1216 // Identifiers from group ofp_bsn_port_mode
1217 BSNPortModeNone = 0 // OFP_BSN_PORT_MODE_NONE
1218 BSNPortMode4Xx = 1 // OFP_BSN_PORT_MODE_4XX
1219 BSNPortMode4X1 = 2 // OFP_BSN_PORT_MODE_4X1
1220 BSNPortMode4X10 = 3 // OFP_BSN_PORT_MODE_4X10
1221 BSNPortMode4X25 = 4 // OFP_BSN_PORT_MODE_4X25
1222 BSNPortMode2X50 = 5 // OFP_BSN_PORT_MODE_2X50
1223 BSNPortMode1X1 = 6 // OFP_BSN_PORT_MODE_1X1
1224 BSNPortMode1X10 = 7 // OFP_BSN_PORT_MODE_1X10
1225 BSNPortMode1X25 = 8 // OFP_BSN_PORT_MODE_1X25
1226 BSNPortMode1X40 = 9 // OFP_BSN_PORT_MODE_1X40
1227 BSNPortMode1X100 = 10 // OFP_BSN_PORT_MODE_1X100
1228)
1229
1230type BsnPortMode uint16
1231
1232func (self BsnPortMode) MarshalJSON() ([]byte, error) {
1233 return []byte(fmt.Sprintf("%d", self)), nil
1234}
1235
1236const (
1237 // Identifiers from group ofp_bsn_port_speed_gbps_type
1238 BSNPortSpeedGbps1 = 1 // OFP_BSN_PORT_SPEED_GBPS_1
1239 BSNPortSpeedGbps10 = 10 // OFP_BSN_PORT_SPEED_GBPS_10
1240 BSNPortSpeedGbps25 = 25 // OFP_BSN_PORT_SPEED_GBPS_25
1241 BSNPortSpeedGbps40 = 40 // OFP_BSN_PORT_SPEED_GBPS_40
1242 BSNPortSpeedGbps50 = 50 // OFP_BSN_PORT_SPEED_GBPS_50
1243 BSNPortSpeedGbps100 = 100 // OFP_BSN_PORT_SPEED_GBPS_100
1244)
1245
1246type BsnPortSpeedGbpsType uint32
1247
1248func (self BsnPortSpeedGbpsType) MarshalJSON() ([]byte, error) {
1249 return []byte(fmt.Sprintf("%d", self)), nil
1250}
1251
1252const (
1253 // Identifiers from group ofp_bsn_port_usage
1254 BSNPortUnused = 0 // OFP_BSN_PORT_UNUSED
1255 BSNPortTransmitOnly = 1 // OFP_BSN_PORT_TRANSMIT_ONLY
1256 BSNPortReceiveOnly = 2 // OFP_BSN_PORT_RECEIVE_ONLY
1257 BSNPortBidirection = 3 // OFP_BSN_PORT_BIDIRECTION
1258)
1259
1260type BsnPortUsage uint16
1261
1262func (self BsnPortUsage) MarshalJSON() ([]byte, error) {
1263 return []byte(fmt.Sprintf("%d", self)), nil
1264}
1265
1266const (
1267 // Identifiers from group ofp_bsn_port_vxlan_mode
1268 BSNPortVxlanRecirculationEnable = 0 // OFP_BSN_PORT_VXLAN_RECIRCULATION_ENABLE
1269 BSNPortVxlanTerminationEnable = 1 // OFP_BSN_PORT_VXLAN_TERMINATION_ENABLE
1270)
1271
1272type BsnPortVxlanMode uint8
1273
1274func (self BsnPortVxlanMode) MarshalJSON() ([]byte, error) {
1275 return []byte(fmt.Sprintf("%d", self)), nil
1276}
1277
1278const (
1279 // Identifiers from group ofp_bsn_push_vlan
1280 BSNPushVLANUntagged = 1 // OFP_BSN_PUSH_VLAN_UNTAGGED
1281 BSNPushVLANSingleTagged = 2 // OFP_BSN_PUSH_VLAN_SINGLE_TAGGED
1282 BSNPushVLANDoubleTagged = 4 // OFP_BSN_PUSH_VLAN_DOUBLE_TAGGED
1283)
1284
1285type BsnPushVlan uint8
1286
1287func (self BsnPushVlan) MarshalJSON() ([]byte, error) {
1288 var flags []string
1289 if self&BSNPushVLANUntagged == BSNPushVLANUntagged {
1290 flags = append(flags, "\"Untagged\": true")
1291 }
1292 if self&BSNPushVLANSingleTagged == BSNPushVLANSingleTagged {
1293 flags = append(flags, "\"SingleTagged\": true")
1294 }
1295 if self&BSNPushVLANDoubleTagged == BSNPushVLANDoubleTagged {
1296 flags = append(flags, "\"DoubleTagged\": true")
1297 }
1298 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1299}
1300
1301const (
1302 // Identifiers from group ofp_bsn_rate_unit
1303 BSNRateUnitPps = 0 // OFP_BSN_RATE_UNIT_PPS
1304 BSNRateUnitKbitps = 1 // OFP_BSN_RATE_UNIT_KBITPS
1305)
1306
1307type BsnRateUnit uint8
1308
1309func (self BsnRateUnit) MarshalJSON() ([]byte, error) {
1310 return []byte(fmt.Sprintf("%d", self)), nil
1311}
1312
1313const (
1314 // Identifiers from group ofp_bsn_routing_param
1315 BSNRoutingParamOspfUcast = 1 // OFP_BSN_ROUTING_PARAM_OSPF_UCAST
1316 BSNRoutingParamOspfMcast = 2 // OFP_BSN_ROUTING_PARAM_OSPF_MCAST
1317 BSNRoutingParamARPFrr = 3 // OFP_BSN_ROUTING_PARAM_ARP_FRR
1318 BSNRoutingParamIpv6OspfUcast = 4 // OFP_BSN_ROUTING_PARAM_IPV6_OSPF_UCAST
1319 BSNRoutingParamIpv6OspfMcast = 5 // OFP_BSN_ROUTING_PARAM_IPV6_OSPF_MCAST
1320 BSNRoutingParamIpv6NdpFrr = 6 // OFP_BSN_ROUTING_PARAM_IPV6_NDP_FRR
1321)
1322
1323type BsnRoutingParam uint16
1324
1325func (self BsnRoutingParam) MarshalJSON() ([]byte, error) {
1326 return []byte(fmt.Sprintf("%d", self)), nil
1327}
1328
1329const (
1330 // Identifiers from group ofp_bsn_speed_capabilities
1331 BSNSpeedCap10M = 1 // OFP_BSN_SPEED_CAP_10M
1332 BSNSpeedCap100M = 2 // OFP_BSN_SPEED_CAP_100M
1333 BSNSpeedCap1Gb = 4 // OFP_BSN_SPEED_CAP_1GB
1334 BSNSpeedCap10Gb = 8 // OFP_BSN_SPEED_CAP_10GB
1335 BSNSpeedCap25Gb = 16 // OFP_BSN_SPEED_CAP_25GB
1336 BSNSpeedCap40Gb = 32 // OFP_BSN_SPEED_CAP_40GB
1337 BSNSpeedCap50Gb = 64 // OFP_BSN_SPEED_CAP_50GB
1338 BSNSpeedCap100Gb = 128 // OFP_BSN_SPEED_CAP_100GB
1339)
1340
1341type BsnSpeedCapabilities uint64
1342
1343func (self BsnSpeedCapabilities) MarshalJSON() ([]byte, error) {
1344 var flags []string
1345 if self&BSNSpeedCap10M == BSNSpeedCap10M {
1346 flags = append(flags, "\"10M\": true")
1347 }
1348 if self&BSNSpeedCap100M == BSNSpeedCap100M {
1349 flags = append(flags, "\"100M\": true")
1350 }
1351 if self&BSNSpeedCap1Gb == BSNSpeedCap1Gb {
1352 flags = append(flags, "\"1Gb\": true")
1353 }
1354 if self&BSNSpeedCap10Gb == BSNSpeedCap10Gb {
1355 flags = append(flags, "\"10Gb\": true")
1356 }
1357 if self&BSNSpeedCap25Gb == BSNSpeedCap25Gb {
1358 flags = append(flags, "\"25Gb\": true")
1359 }
1360 if self&BSNSpeedCap40Gb == BSNSpeedCap40Gb {
1361 flags = append(flags, "\"40Gb\": true")
1362 }
1363 if self&BSNSpeedCap50Gb == BSNSpeedCap50Gb {
1364 flags = append(flags, "\"50Gb\": true")
1365 }
1366 if self&BSNSpeedCap100Gb == BSNSpeedCap100Gb {
1367 flags = append(flags, "\"100Gb\": true")
1368 }
1369 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1370}
1371
1372const (
1373 // Identifiers from group ofp_bsn_status
1374 BSNStatusDisable = 0 // OFP_BSN_STATUS_DISABLE
1375 BSNStatusEnable = 1 // OFP_BSN_STATUS_ENABLE
1376)
1377
1378type BsnStatus uint8
1379
1380func (self BsnStatus) MarshalJSON() ([]byte, error) {
1381 return []byte(fmt.Sprintf("%d", self)), nil
1382}
1383
1384const (
1385 // Identifiers from group ofp_bsn_strip_vlan
1386 BSNStripVLANFirst = 1 // OFP_BSN_STRIP_VLAN_FIRST
1387 BSNStripVLANSecond = 2 // OFP_BSN_STRIP_VLAN_SECOND
1388 BSNStripVLANThird = 4 // OFP_BSN_STRIP_VLAN_THIRD
1389)
1390
1391type BsnStripVlan uint8
1392
1393func (self BsnStripVlan) MarshalJSON() ([]byte, error) {
1394 var flags []string
1395 if self&BSNStripVLANFirst == BSNStripVLANFirst {
1396 flags = append(flags, "\"First\": true")
1397 }
1398 if self&BSNStripVLANSecond == BSNStripVLANSecond {
1399 flags = append(flags, "\"Second\": true")
1400 }
1401 if self&BSNStripVLANThird == BSNStripVLANThird {
1402 flags = append(flags, "\"Third\": true")
1403 }
1404 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1405}
1406
1407const (
1408 // Identifiers from group ofp_bsn_tcp_flag
1409 BSNTCPFlagFin = 1 // OFP_BSN_TCP_FLAG_FIN
1410 BSNTCPFlagSyn = 2 // OFP_BSN_TCP_FLAG_SYN
1411 BSNTCPFlagRst = 4 // OFP_BSN_TCP_FLAG_RST
1412 BSNTCPFlagPsh = 8 // OFP_BSN_TCP_FLAG_PSH
1413 BSNTCPFlagAck = 16 // OFP_BSN_TCP_FLAG_ACK
1414 BSNTCPFlagUrg = 32 // OFP_BSN_TCP_FLAG_URG
1415 BSNTCPFlagEce = 64 // OFP_BSN_TCP_FLAG_ECE
1416 BSNTCPFlagCwr = 128 // OFP_BSN_TCP_FLAG_CWR
1417 BSNTCPFlagNs = 256 // OFP_BSN_TCP_FLAG_NS
1418)
1419
1420type BsnTcpFlag uint16
1421
1422func (self BsnTcpFlag) MarshalJSON() ([]byte, error) {
1423 var flags []string
1424 if self&BSNTCPFlagFin == BSNTCPFlagFin {
1425 flags = append(flags, "\"Fin\": true")
1426 }
1427 if self&BSNTCPFlagSyn == BSNTCPFlagSyn {
1428 flags = append(flags, "\"Syn\": true")
1429 }
1430 if self&BSNTCPFlagRst == BSNTCPFlagRst {
1431 flags = append(flags, "\"Rst\": true")
1432 }
1433 if self&BSNTCPFlagPsh == BSNTCPFlagPsh {
1434 flags = append(flags, "\"Psh\": true")
1435 }
1436 if self&BSNTCPFlagAck == BSNTCPFlagAck {
1437 flags = append(flags, "\"Ack\": true")
1438 }
1439 if self&BSNTCPFlagUrg == BSNTCPFlagUrg {
1440 flags = append(flags, "\"Urg\": true")
1441 }
1442 if self&BSNTCPFlagEce == BSNTCPFlagEce {
1443 flags = append(flags, "\"Ece\": true")
1444 }
1445 if self&BSNTCPFlagCwr == BSNTCPFlagCwr {
1446 flags = append(flags, "\"Cwr\": true")
1447 }
1448 if self&BSNTCPFlagNs == BSNTCPFlagNs {
1449 flags = append(flags, "\"Ns\": true")
1450 }
1451 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1452}
1453
1454const (
1455 // Identifiers from group ofp_bsn_tunnel_type
1456 BSNTunnelL2Gre = 1 // OFP_BSN_TUNNEL_L2GRE
1457 BSNTunnelVxlan = 2 // OFP_BSN_TUNNEL_VXLAN
1458)
1459
1460type BsnTunnelType uint64
1461
1462func (self BsnTunnelType) MarshalJSON() ([]byte, error) {
1463 var flags []string
1464 if self&BSNTunnelL2Gre == BSNTunnelL2Gre {
1465 flags = append(flags, "\"L2Gre\": true")
1466 }
1467 if self&BSNTunnelVxlan == BSNTunnelVxlan {
1468 flags = append(flags, "\"Vxlan\": true")
1469 }
1470 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1471}
1472
1473const (
1474 // Identifiers from group ofp_bsn_udf_anchor
1475 BSNUdfAnchorPacketStart = 0 // OFP_BSN_UDF_ANCHOR_PACKET_START
1476 BSNUdfAnchorL3HeaderStart = 1 // OFP_BSN_UDF_ANCHOR_L3_HEADER_START
1477 BSNUdfAnchorL4HeaderStart = 2 // OFP_BSN_UDF_ANCHOR_L4_HEADER_START
1478)
1479
1480type BsnUdfAnchor uint16
1481
1482func (self BsnUdfAnchor) MarshalJSON() ([]byte, error) {
1483 return []byte(fmt.Sprintf("%d", self)), nil
1484}
1485
1486const (
1487 // Identifiers from group ofp_bsn_udf_mode
1488 BSNUdf8X2Bytes = 1 // OFP_BSN_UDF_8X2_BYTES
1489)
1490
1491type BsnUdfMode uint8
1492
1493func (self BsnUdfMode) MarshalJSON() ([]byte, error) {
1494 var flags []string
1495 if self&BSNUdf8X2Bytes == BSNUdf8X2Bytes {
1496 flags = append(flags, "\"BSNUdf8X2Bytes\": true")
1497 }
1498 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1499}
1500
1501const (
1502 // Identifiers from group ofp_bsn_upgrade
1503 BSNUpgradeInvalid = 0 // OFP_BSN_UPGRADE_INVALID
1504 BSNUpgradeInProgress = 1 // OFP_BSN_UPGRADE_IN_PROGRESS
1505)
1506
1507type BsnUpgrade uint16
1508
1509func (self BsnUpgrade) MarshalJSON() ([]byte, error) {
1510 return []byte(fmt.Sprintf("%d", self)), nil
1511}
1512
1513const (
1514 // Identifiers from group ofp_bsn_vlan_counter_constants
1515 BSNVLANAll = 65535 // OFP_BSN_VLAN_ALL
1516)
1517
1518const (
1519 // Identifiers from group ofp_bsn_vport_l2gre_flags
1520 OFBSNVportL2GreLocalMACIsValid = 1 // OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID
1521 OFBSNVportL2GreDSCPAssign = 2 // OF_BSN_VPORT_L2GRE_DSCP_ASSIGN
1522 OFBSNVportL2GreDSCPCopy = 4 // OF_BSN_VPORT_L2GRE_DSCP_COPY
1523 OFBSNVportL2GreLoopbackIsValid = 8 // OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID
1524 OFBSNVportL2GreRateLimitIsValid = 16 // OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID
1525)
1526
1527type BsnVportL2GreFlags uint32
1528
1529func (self BsnVportL2GreFlags) MarshalJSON() ([]byte, error) {
1530 var flags []string
1531 if self&OFBSNVportL2GreLocalMACIsValid == OFBSNVportL2GreLocalMACIsValid {
1532 flags = append(flags, "\"LocalMACIsValid\": true")
1533 }
1534 if self&OFBSNVportL2GreDSCPAssign == OFBSNVportL2GreDSCPAssign {
1535 flags = append(flags, "\"DscpAssign\": true")
1536 }
1537 if self&OFBSNVportL2GreDSCPCopy == OFBSNVportL2GreDSCPCopy {
1538 flags = append(flags, "\"DscpCopy\": true")
1539 }
1540 if self&OFBSNVportL2GreLoopbackIsValid == OFBSNVportL2GreLoopbackIsValid {
1541 flags = append(flags, "\"LoopbackIsValid\": true")
1542 }
1543 if self&OFBSNVportL2GreRateLimitIsValid == OFBSNVportL2GreRateLimitIsValid {
1544 flags = append(flags, "\"RateLimitIsValid\": true")
1545 }
1546 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1547}
1548
1549const (
1550 // Identifiers from group ofp_bsn_vport_q_in_q_untagged
1551 OFBSNVportQInQUntagged = 65535 // OF_BSN_VPORT_Q_IN_Q_UNTAGGED
1552)
1553
1554type BsnVportQInQUntagged uint16
1555
1556func (self BsnVportQInQUntagged) MarshalJSON() ([]byte, error) {
1557 return []byte(fmt.Sprintf("%d", self)), nil
1558}
1559
1560const (
1561 // Identifiers from group ofp_bsn_vport_status
1562 OFBSNVportStatusOk = 0 // OF_BSN_VPORT_STATUS_OK
1563 OFBSNVportStatusFailed = 1 // OF_BSN_VPORT_STATUS_FAILED
1564)
1565
1566const (
1567 // Identifiers from group ofp_bsn_vrf_counter_constants
1568 BSNVrfAll = 4294967295 // OFP_BSN_VRF_ALL
1569)
1570
1571type BsnVrfCounterConstants uint32
1572
1573func (self BsnVrfCounterConstants) MarshalJSON() ([]byte, error) {
1574 return []byte(fmt.Sprintf("%d", self)), nil
1575}
1576
1577const (
1578 // Identifiers from group ofp_bundle_ctrl_type
1579 OFPBCTOpenRequest = 0 // OFPBCT_OPEN_REQUEST
1580 OFPBCTOpenReply = 1 // OFPBCT_OPEN_REPLY
1581 OFPBCTCloseRequest = 2 // OFPBCT_CLOSE_REQUEST
1582 OFPBCTCloseReply = 3 // OFPBCT_CLOSE_REPLY
1583 OFPBCTCommitRequest = 4 // OFPBCT_COMMIT_REQUEST
1584 OFPBCTCommitReply = 5 // OFPBCT_COMMIT_REPLY
1585 OFPBCTDiscardRequest = 6 // OFPBCT_DISCARD_REQUEST
1586 OFPBCTDiscardReply = 7 // OFPBCT_DISCARD_REPLY
1587)
1588
1589type BundleCtrlType uint16
1590
1591func (self BundleCtrlType) MarshalJSON() ([]byte, error) {
1592 return []byte(fmt.Sprintf("%d", self)), nil
1593}
1594
1595const (
1596 // Identifiers from group ofp_bundle_failed_code
1597 OFPBFCUnknown = 0 // OFPBFC_UNKNOWN
1598 OFPBFCEperm = 1 // OFPBFC_EPERM
1599 OFPBFCBadID = 2 // OFPBFC_BAD_ID
1600 OFPBFCBundleExist = 3 // OFPBFC_BUNDLE_EXIST
1601 OFPBFCBundleClosed = 4 // OFPBFC_BUNDLE_CLOSED
1602 OFPBFCOutOfBundles = 5 // OFPBFC_OUT_OF_BUNDLES
1603 OFPBFCBadType = 6 // OFPBFC_BAD_TYPE
1604 OFPBFCBadFlags = 7 // OFPBFC_BAD_FLAGS
1605 OFPBFCMsgBadLen = 8 // OFPBFC_MSG_BAD_LEN
1606 OFPBFCMsgBadXid = 9 // OFPBFC_MSG_BAD_XID
1607 OFPBFCMsgUnsup = 10 // OFPBFC_MSG_UNSUP
1608 OFPBFCMsgConflict = 11 // OFPBFC_MSG_CONFLICT
1609 OFPBFCMsgTooMany = 12 // OFPBFC_MSG_TOO_MANY
1610 OFPBFCMsgFailed = 13 // OFPBFC_MSG_FAILED
1611 OFPBFCTimeout = 14 // OFPBFC_TIMEOUT
1612 OFPBFCBundleInProgress = 15 // OFPBFC_BUNDLE_IN_PROGRESS
1613 OFPBFCSchedNotSupported = 16 // OFPBFC_SCHED_NOT_SUPPORTED
1614 OFPBFCSchedFuture = 17 // OFPBFC_SCHED_FUTURE
1615 OFPBFCSchedPast = 18 // OFPBFC_SCHED_PAST
1616)
1617
1618type BundleFailedCode uint16
1619
1620func (self BundleFailedCode) MarshalJSON() ([]byte, error) {
1621 return []byte(fmt.Sprintf("%d", self)), nil
1622}
1623
1624const (
1625 // Identifiers from group ofp_bundle_feature_flags
1626 OFPBFTimestamp = 1 // OFPBF_TIMESTAMP
1627 OFPBFTimeSetSched = 2 // OFPBF_TIME_SET_SCHED
1628)
1629
1630type BundleFeatureFlags uint32
1631
1632func (self BundleFeatureFlags) MarshalJSON() ([]byte, error) {
1633 var flags []string
1634 if self&OFPBFTimestamp == OFPBFTimestamp {
1635 flags = append(flags, "\"Stamp\": true")
1636 }
1637 if self&OFPBFTimeSetSched == OFPBFTimeSetSched {
1638 flags = append(flags, "\"SetSched\": true")
1639 }
1640 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1641}
1642
1643const (
1644 // Identifiers from group ofp_bundle_features_prop_type
1645 OFPTMPBFTimeCapability = 1 // OFPTMPBF_TIME_CAPABILITY
1646 OFPTMPBFExperimenter = 65535 // OFPTMPBF_EXPERIMENTER
1647)
1648
1649const (
1650 // Identifiers from group ofp_bundle_flags
1651 OFPBFAtomic = 1 // OFPBF_ATOMIC
1652 OFPBFOrdered = 2 // OFPBF_ORDERED
1653 OFPBFTime = 4 // OFPBF_TIME
1654)
1655
1656type BundleFlags uint16
1657
1658func (self BundleFlags) MarshalJSON() ([]byte, error) {
1659 var flags []string
1660 if self&OFPBFAtomic == OFPBFAtomic {
1661 flags = append(flags, "\"Atomic\": true")
1662 }
1663 if self&OFPBFOrdered == OFPBFOrdered {
1664 flags = append(flags, "\"Ordered\": true")
1665 }
1666 if self&OFPBFTime == OFPBFTime {
1667 flags = append(flags, "\"Time\": true")
1668 }
1669 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1670}
1671
1672const (
1673 // Identifiers from group ofp_bundle_prop_type
1674 OFPBPTTime = 1 // OFPBPT_TIME
1675 OFPBPTExperimenter = 65535 // OFPBPT_EXPERIMENTER
1676)
1677
1678const (
1679 // Identifiers from group ofp_capabilities
1680 OFPCFlowStats = 1 // OFPC_FLOW_STATS
1681 OFPCTableStats = 2 // OFPC_TABLE_STATS
1682 OFPCPortStats = 4 // OFPC_PORT_STATS
1683 OFPCGroupStats = 8 // OFPC_GROUP_STATS
1684 OFPCIpReasm = 32 // OFPC_IP_REASM
1685 OFPCQueueStats = 64 // OFPC_QUEUE_STATS
1686 OFPCPortBlocked = 256 // OFPC_PORT_BLOCKED
1687 OFPCBundles = 512 // OFPC_BUNDLES
1688 OFPCFlowMonitoring = 1024 // OFPC_FLOW_MONITORING
1689)
1690
1691type Capabilities uint32
1692
1693func (self Capabilities) MarshalJSON() ([]byte, error) {
1694 var flags []string
1695 if self&OFPCFlowStats == OFPCFlowStats {
1696 flags = append(flags, "\"FlowStats\": true")
1697 }
1698 if self&OFPCTableStats == OFPCTableStats {
1699 flags = append(flags, "\"TableStats\": true")
1700 }
1701 if self&OFPCPortStats == OFPCPortStats {
1702 flags = append(flags, "\"PortStats\": true")
1703 }
1704 if self&OFPCGroupStats == OFPCGroupStats {
1705 flags = append(flags, "\"GroupStats\": true")
1706 }
1707 if self&OFPCIpReasm == OFPCIpReasm {
1708 flags = append(flags, "\"IpReasm\": true")
1709 }
1710 if self&OFPCQueueStats == OFPCQueueStats {
1711 flags = append(flags, "\"QueueStats\": true")
1712 }
1713 if self&OFPCPortBlocked == OFPCPortBlocked {
1714 flags = append(flags, "\"PortBlocked\": true")
1715 }
1716 if self&OFPCBundles == OFPCBundles {
1717 flags = append(flags, "\"Bundles\": true")
1718 }
1719 if self&OFPCFlowMonitoring == OFPCFlowMonitoring {
1720 flags = append(flags, "\"FlowMonitoring\": true")
1721 }
1722 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1723}
1724
1725const (
1726 // Identifiers from group ofp_config_flags
1727 OFPCFragNormal = 0 // OFPC_FRAG_NORMAL
1728 OFPCFragDrop = 1 // OFPC_FRAG_DROP
1729 OFPCFragReasm = 2 // OFPC_FRAG_REASM
1730 OFPCFragMask = 3 // OFPC_FRAG_MASK
1731)
1732
1733type ConfigFlags uint16
1734
1735func (self ConfigFlags) MarshalJSON() ([]byte, error) {
1736 var flags []string
1737 if self&OFPCFragNormal == OFPCFragNormal {
1738 flags = append(flags, "\"Normal\": true")
1739 }
1740 if self&OFPCFragDrop == OFPCFragDrop {
1741 flags = append(flags, "\"Drop\": true")
1742 }
1743 if self&OFPCFragReasm == OFPCFragReasm {
1744 flags = append(flags, "\"Reasm\": true")
1745 }
1746 if self&OFPCFragMask == OFPCFragMask {
1747 flags = append(flags, "\"Mask\": true")
1748 }
1749 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1750}
1751
1752const (
1753 // Identifiers from group ofp_control_channel_status
1754 OFPCTStatusUp = 0 // OFPCT_STATUS_UP
1755 OFPCTStatusDown = 1 // OFPCT_STATUS_DOWN
1756)
1757
1758type ControlChannelStatus uint8
1759
1760func (self ControlChannelStatus) MarshalJSON() ([]byte, error) {
1761 return []byte(fmt.Sprintf("%d", self)), nil
1762}
1763
1764const (
1765 // Identifiers from group ofp_controller_max_len
1766 OFPCMLMax = 65509 // OFPCML_MAX
1767 OFPCMLNoBuffer = 65535 // OFPCML_NO_BUFFER
1768)
1769
1770type ControllerMaxLen uint16
1771
1772func (self ControllerMaxLen) MarshalJSON() ([]byte, error) {
1773 return []byte(fmt.Sprintf("%d", self)), nil
1774}
1775
1776const (
1777 // Identifiers from group ofp_controller_role
1778 OFPCRRoleNochange = 0 // OFPCR_ROLE_NOCHANGE
1779 OFPCRRoleEqual = 1 // OFPCR_ROLE_EQUAL
1780 OFPCRRoleMaster = 2 // OFPCR_ROLE_MASTER
1781 OFPCRRoleSlave = 3 // OFPCR_ROLE_SLAVE
1782)
1783
1784type ControllerRole uint32
1785
1786func (self ControllerRole) MarshalJSON() ([]byte, error) {
1787 return []byte(fmt.Sprintf("%d", self)), nil
1788}
1789
1790const (
1791 // Identifiers from group ofp_controller_role_reason
1792 OFPCRRMasterRequest = 0 // OFPCRR_MASTER_REQUEST
1793 OFPCRRConfig = 1 // OFPCRR_CONFIG
1794 OFPCRRExperimenter = 2 // OFPCRR_EXPERIMENTER
1795)
1796
1797type ControllerRoleReason uint8
1798
1799func (self ControllerRoleReason) MarshalJSON() ([]byte, error) {
1800 return []byte(fmt.Sprintf("%d", self)), nil
1801}
1802
1803const (
1804 // Identifiers from group ofp_controller_status_prop_type
1805 OFPCSPTUri = 0 // OFPCSPT_URI
1806 OFPCSPTExperimenter = 65535 // OFPCSPT_EXPERIMENTER
1807)
1808
1809const (
1810 // Identifiers from group ofp_controller_status_reason
1811 OFPCSRRequest = 0 // OFPCSR_REQUEST
1812 OFPCSRChannelStatus = 1 // OFPCSR_CHANNEL_STATUS
1813 OFPCSRRole = 2 // OFPCSR_ROLE
1814 OFPCSRControllerAdded = 3 // OFPCSR_CONTROLLER_ADDED
1815 OFPCSRControllerRemoved = 4 // OFPCSR_CONTROLLER_REMOVED
1816 OFPCSRShortID = 5 // OFPCSR_SHORT_ID
1817 OFPCSRExperimenter = 6 // OFPCSR_EXPERIMENTER
1818)
1819
1820type ControllerStatusReason uint8
1821
1822func (self ControllerStatusReason) MarshalJSON() ([]byte, error) {
1823 return []byte(fmt.Sprintf("%d", self)), nil
1824}
1825
1826const (
1827 // Identifiers from group ofp_cs_states
1828 CsNew = 1 // OFP_CS_NEW
1829 CsEstablished = 2 // OFP_CS_ESTABLISHED
1830 CsRelated = 4 // OFP_CS_RELATED
1831 CsReplyDir = 8 // OFP_CS_REPLY_DIR
1832 CsInvalid = 16 // OFP_CS_INVALID
1833 CsTracked = 32 // OFP_CS_TRACKED
1834 CsSrcNat = 64 // OFP_CS_SRC_NAT
1835 CsDstNat = 128 // OFP_CS_DST_NAT
1836)
1837
1838type CsStates uint32
1839
1840func (self CsStates) MarshalJSON() ([]byte, error) {
1841 var flags []string
1842 if self&CsNew == CsNew {
1843 flags = append(flags, "\"New\": true")
1844 }
1845 if self&CsEstablished == CsEstablished {
1846 flags = append(flags, "\"Established\": true")
1847 }
1848 if self&CsRelated == CsRelated {
1849 flags = append(flags, "\"Related\": true")
1850 }
1851 if self&CsReplyDir == CsReplyDir {
1852 flags = append(flags, "\"ReplyDir\": true")
1853 }
1854 if self&CsInvalid == CsInvalid {
1855 flags = append(flags, "\"Invalid\": true")
1856 }
1857 if self&CsTracked == CsTracked {
1858 flags = append(flags, "\"Tracked\": true")
1859 }
1860 if self&CsSrcNat == CsSrcNat {
1861 flags = append(flags, "\"SrcNat\": true")
1862 }
1863 if self&CsDstNat == CsDstNat {
1864 flags = append(flags, "\"DstNat\": true")
1865 }
1866 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
1867}
1868
1869const (
1870 // Identifiers from group ofp_ed_nsh_prop_type
1871 OFPPPTPropNshNone = 0 // OFPPPT_PROP_NSH_NONE
1872 OFPPPTPropNshMdtype = 1 // OFPPPT_PROP_NSH_MDTYPE
1873 OFPPPTPropNshTlv = 2 // OFPPPT_PROP_NSH_TLV
1874)
1875
1876type EdNshPropType uint8
1877
1878func (self EdNshPropType) MarshalJSON() ([]byte, error) {
1879 return []byte(fmt.Sprintf("%d", self)), nil
1880}
1881
1882const (
1883 // Identifiers from group ofp_ed_prop_class
1884 OFPPPCBasic = 0 // OFPPPC_BASIC
1885 OFPPPCMpls = 1 // OFPPPC_MPLS
1886 OFPPPCGRE = 2 // OFPPPC_GRE
1887 OFPPPCGtp = 3 // OFPPPC_GTP
1888 OFPPPCNsh = 4 // OFPPPC_NSH
1889 OFPPPCExperimenter = 65535 // OFPPPC_EXPERIMENTER
1890)
1891
1892type EdPropClass uint16
1893
1894func (self EdPropClass) MarshalJSON() ([]byte, error) {
1895 return []byte(fmt.Sprintf("%d", self)), nil
1896}
1897
1898const (
1899 // Identifiers from group ofp_error_type
1900 OFPETHelloFailed = 0 // OFPET_HELLO_FAILED
1901 OFPETBadRequest = 1 // OFPET_BAD_REQUEST
1902 OFPETBadAction = 2 // OFPET_BAD_ACTION
1903 OFPETBadInstruction = 3 // OFPET_BAD_INSTRUCTION
1904 OFPETBadMatch = 4 // OFPET_BAD_MATCH
1905 OFPETFlowModFailed = 5 // OFPET_FLOW_MOD_FAILED
1906 OFPETGroupModFailed = 6 // OFPET_GROUP_MOD_FAILED
1907 OFPETPortModFailed = 7 // OFPET_PORT_MOD_FAILED
1908 OFPETTableModFailed = 8 // OFPET_TABLE_MOD_FAILED
1909 OFPETQueueOpFailed = 9 // OFPET_QUEUE_OP_FAILED
1910 OFPETSwitchConfigFailed = 10 // OFPET_SWITCH_CONFIG_FAILED
1911 OFPETRoleRequestFailed = 11 // OFPET_ROLE_REQUEST_FAILED
1912 OFPETMeterModFailed = 12 // OFPET_METER_MOD_FAILED
1913 OFPETTableFeaturesFailed = 13 // OFPET_TABLE_FEATURES_FAILED
1914 OFPETBadProperty = 14 // OFPET_BAD_PROPERTY
1915 OFPETAsyncConfigFailed = 15 // OFPET_ASYNC_CONFIG_FAILED
1916 OFPETFlowMonitorFailed = 16 // OFPET_FLOW_MONITOR_FAILED
1917 OFPETBundleFailed = 17 // OFPET_BUNDLE_FAILED
1918 OFPETExperimenter = 65535 // OFPET_EXPERIMENTER
1919)
1920
1921type ErrorType uint16
1922
1923func (self ErrorType) MarshalJSON() ([]byte, error) {
1924 return []byte(fmt.Sprintf("%d", self)), nil
1925}
1926
1927const (
1928 // Identifiers from group ofp_ethernet_type
1929 EthPLoop = 96 // ETH_P_LOOP
1930 EthPPup = 512 // ETH_P_PUP
1931 EthPPupat = 513 // ETH_P_PUPAT
1932 EthPIp = 2048 // ETH_P_IP
1933 EthPX25 = 2053 // ETH_P_X25
1934 EthPARP = 2054 // ETH_P_ARP
1935 EthPBpq = 2303 // ETH_P_BPQ
1936 EthPIeeepup = 2560 // ETH_P_IEEEPUP
1937 EthPIeeepupat = 2561 // ETH_P_IEEEPUPAT
1938 EthPDec = 24576 // ETH_P_DEC
1939 EthPDnaDl = 24577 // ETH_P_DNA_DL
1940 EthPDnaRc = 24578 // ETH_P_DNA_RC
1941 EthPDnaRt = 24579 // ETH_P_DNA_RT
1942 EthPLat = 24580 // ETH_P_LAT
1943 EthPDiag = 24581 // ETH_P_DIAG
1944 EthPCust = 24582 // ETH_P_CUST
1945 EthPSca = 24583 // ETH_P_SCA
1946 EthPTeb = 25944 // ETH_P_TEB
1947 EthPRarp = 32821 // ETH_P_RARP
1948 EthPAtalk = 32923 // ETH_P_ATALK
1949 EthPAarp = 33011 // ETH_P_AARP
1950 EthP8021Q = 33024 // ETH_P_8021Q
1951 EthPIpx = 33079 // ETH_P_IPX
1952 EthPIpv6 = 34525 // ETH_P_IPV6
1953 EthPPause = 34824 // ETH_P_PAUSE
1954 EthPSlow = 34825 // ETH_P_SLOW
1955 EthPWccp = 34878 // ETH_P_WCCP
1956 EthPPppDisc = 34915 // ETH_P_PPP_DISC
1957 EthPPppSes = 34916 // ETH_P_PPP_SES
1958 EthPMplsUc = 34887 // ETH_P_MPLS_UC
1959 EthPMplsMc = 34888 // ETH_P_MPLS_MC
1960 EthPAtmmpoa = 34892 // ETH_P_ATMMPOA
1961 EthPAtmfate = 34948 // ETH_P_ATMFATE
1962 EthPPae = 34958 // ETH_P_PAE
1963 EthPAoe = 34978 // ETH_P_AOE
1964 EthPTipc = 35018 // ETH_P_TIPC
1965 EthP1588 = 35063 // ETH_P_1588
1966 EthPFcoe = 35078 // ETH_P_FCOE
1967 EthPFip = 35092 // ETH_P_FIP
1968 EthPEdsa = 56026 // ETH_P_EDSA
1969)
1970
1971type EthernetType uint16
1972
1973func (self EthernetType) MarshalJSON() ([]byte, error) {
1974 return []byte(fmt.Sprintf("\"%s\"", self)), nil
1975}
1976
1977func (self EthernetType) String() string {
1978 switch self {
1979 case EthPLoop:
1980 return "loop"
1981 case EthPPup:
1982 return "pup"
1983 case EthPPupat:
1984 return "pupat"
1985 case EthPIp:
1986 return "ip"
1987 case EthPX25:
1988 return "x25"
1989 case EthPARP:
1990 return "arp"
1991 case EthPBpq:
1992 return "bpq"
1993 case EthPIeeepup:
1994 return "ieeepup"
1995 case EthPIeeepupat:
1996 return "ieeepupat"
1997 case EthPDec:
1998 return "dec"
1999 case EthPDnaDl:
2000 return "dna_dl"
2001 case EthPDnaRc:
2002 return "dna_rc"
2003 case EthPDnaRt:
2004 return "dna_rt"
2005 case EthPLat:
2006 return "lat"
2007 case EthPDiag:
2008 return "diag"
2009 case EthPCust:
2010 return "cust"
2011 case EthPSca:
2012 return "sca"
2013 case EthPTeb:
2014 return "teb"
2015 case EthPRarp:
2016 return "rarp"
2017 case EthPAtalk:
2018 return "atalk"
2019 case EthPAarp:
2020 return "aarp"
2021 case EthP8021Q:
2022 return "8021q"
2023 case EthPIpx:
2024 return "ipx"
2025 case EthPIpv6:
2026 return "ipv6"
2027 case EthPPause:
2028 return "pause"
2029 case EthPSlow:
2030 return "slow"
2031 case EthPWccp:
2032 return "wccp"
2033 case EthPPppDisc:
2034 return "ppp_disc"
2035 case EthPPppSes:
2036 return "ppp_ses"
2037 case EthPMplsUc:
2038 return "mpls_uc"
2039 case EthPMplsMc:
2040 return "mpls_mc"
2041 case EthPAtmmpoa:
2042 return "atmmpoa"
2043 case EthPAtmfate:
2044 return "atmfate"
2045 case EthPPae:
2046 return "pae"
2047 case EthPAoe:
2048 return "aoe"
2049 case EthPTipc:
2050 return "tipc"
2051 case EthP1588:
2052 return "1588"
2053 case EthPFcoe:
2054 return "fcoe"
2055 case EthPFip:
2056 return "fip"
2057 case EthPEdsa:
2058 return "edsa"
2059 default:
2060 return fmt.Sprintf("%d", self)
2061 }
2062}
2063
2064const (
2065 // Identifiers from group ofp_flow_mod_command
2066 OFPFCAdd = 0 // OFPFC_ADD
2067 OFPFCModify = 1 // OFPFC_MODIFY
2068 OFPFCModifyStrict = 2 // OFPFC_MODIFY_STRICT
2069 OFPFCDelete = 3 // OFPFC_DELETE
2070 OFPFCDeleteStrict = 4 // OFPFC_DELETE_STRICT
2071)
2072
2073type FlowModCommand uint8
2074
2075func (self FlowModCommand) MarshalJSON() ([]byte, error) {
2076 return []byte(fmt.Sprintf("%d", self)), nil
2077}
2078
2079const (
2080 // Identifiers from group ofp_flow_mod_failed_code
2081 OFPFMFCUnknown = 0 // OFPFMFC_UNKNOWN
2082 OFPFMFCTableFull = 1 // OFPFMFC_TABLE_FULL
2083 OFPFMFCBadTableID = 2 // OFPFMFC_BAD_TABLE_ID
2084 OFPFMFCOverlap = 3 // OFPFMFC_OVERLAP
2085 OFPFMFCEperm = 4 // OFPFMFC_EPERM
2086 OFPFMFCBadTimeout = 5 // OFPFMFC_BAD_TIMEOUT
2087 OFPFMFCBadCommand = 6 // OFPFMFC_BAD_COMMAND
2088 OFPFMFCBadFlags = 7 // OFPFMFC_BAD_FLAGS
2089 OFPFMFCCantSync = 8 // OFPFMFC_CANT_SYNC
2090 OFPFMFCBadPriority = 9 // OFPFMFC_BAD_PRIORITY
2091 OFPFMFCIsSync = 10 // OFPFMFC_IS_SYNC
2092)
2093
2094type FlowModFailedCode uint16
2095
2096func (self FlowModFailedCode) MarshalJSON() ([]byte, error) {
2097 return []byte(fmt.Sprintf("%d", self)), nil
2098}
2099
2100const (
2101 // Identifiers from group ofp_flow_mod_flags
2102 OFPFFSendFlowRem = 1 // OFPFF_SEND_FLOW_REM
2103 OFPFFCheckOverlap = 2 // OFPFF_CHECK_OVERLAP
2104 OFPFFResetCounts = 4 // OFPFF_RESET_COUNTS
2105 OFPFFNoPktCounts = 8 // OFPFF_NO_PKT_COUNTS
2106 OFPFFNoBytCounts = 16 // OFPFF_NO_BYT_COUNTS
2107 OFPFFBSNSendIdle = 128 // OFPFF_BSN_SEND_IDLE
2108)
2109
2110type FlowModFlags uint16
2111
2112func (self FlowModFlags) MarshalJSON() ([]byte, error) {
2113 var flags []string
2114 if self&OFPFFSendFlowRem == OFPFFSendFlowRem {
2115 flags = append(flags, "\"SendFlowRem\": true")
2116 }
2117 if self&OFPFFCheckOverlap == OFPFFCheckOverlap {
2118 flags = append(flags, "\"CheckOverlap\": true")
2119 }
2120 if self&OFPFFResetCounts == OFPFFResetCounts {
2121 flags = append(flags, "\"ResetCounts\": true")
2122 }
2123 if self&OFPFFNoPktCounts == OFPFFNoPktCounts {
2124 flags = append(flags, "\"NoPktCounts\": true")
2125 }
2126 if self&OFPFFNoBytCounts == OFPFFNoBytCounts {
2127 flags = append(flags, "\"NoBytCounts\": true")
2128 }
2129 if self&OFPFFBSNSendIdle == OFPFFBSNSendIdle {
2130 flags = append(flags, "\"BsnSendIdle\": true")
2131 }
2132 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2133}
2134
2135const (
2136 // Identifiers from group ofp_flow_monitor_command
2137 OFPFMCAdd = 0 // OFPFMC_ADD
2138 OFPFMCModify = 1 // OFPFMC_MODIFY
2139 OFPFMCDelete = 2 // OFPFMC_DELETE
2140)
2141
2142type FlowMonitorCommand uint8
2143
2144func (self FlowMonitorCommand) MarshalJSON() ([]byte, error) {
2145 return []byte(fmt.Sprintf("%d", self)), nil
2146}
2147
2148const (
2149 // Identifiers from group ofp_flow_monitor_failed_code
2150 OFPMOFCUnknown = 0 // OFPMOFC_UNKNOWN
2151 OFPMOFCMonitorExists = 1 // OFPMOFC_MONITOR_EXISTS
2152 OFPMOFCInvalidMonitor = 2 // OFPMOFC_INVALID_MONITOR
2153 OFPMOFCUnknownMonitor = 3 // OFPMOFC_UNKNOWN_MONITOR
2154 OFPMOFCBadCommand = 4 // OFPMOFC_BAD_COMMAND
2155 OFPMOFCBadFlags = 5 // OFPMOFC_BAD_FLAGS
2156 OFPMOFCBadTableID = 6 // OFPMOFC_BAD_TABLE_ID
2157 OFPMOFCBadOut = 7 // OFPMOFC_BAD_OUT
2158)
2159
2160type FlowMonitorFailedCode uint16
2161
2162func (self FlowMonitorFailedCode) MarshalJSON() ([]byte, error) {
2163 return []byte(fmt.Sprintf("%d", self)), nil
2164}
2165
2166const (
2167 // Identifiers from group ofp_flow_monitor_flags
2168 OFPFMFInitial = 1 // OFPFMF_INITIAL
2169 OFPFMFAdd = 2 // OFPFMF_ADD
2170 OFPFMFRemoved = 4 // OFPFMF_REMOVED
2171 OFPFMFModify = 8 // OFPFMF_MODIFY
2172 OFPFMFInstructions = 16 // OFPFMF_INSTRUCTIONS
2173 OFPFMFNoAbbrev = 32 // OFPFMF_NO_ABBREV
2174 OFPFMFOnlyOwn = 64 // OFPFMF_ONLY_OWN
2175)
2176
2177type FlowMonitorFlags uint16
2178
2179func (self FlowMonitorFlags) MarshalJSON() ([]byte, error) {
2180 var flags []string
2181 if self&OFPFMFInitial == OFPFMFInitial {
2182 flags = append(flags, "\"Initial\": true")
2183 }
2184 if self&OFPFMFAdd == OFPFMFAdd {
2185 flags = append(flags, "\"Add\": true")
2186 }
2187 if self&OFPFMFRemoved == OFPFMFRemoved {
2188 flags = append(flags, "\"Removed\": true")
2189 }
2190 if self&OFPFMFModify == OFPFMFModify {
2191 flags = append(flags, "\"Modify\": true")
2192 }
2193 if self&OFPFMFInstructions == OFPFMFInstructions {
2194 flags = append(flags, "\"Instructions\": true")
2195 }
2196 if self&OFPFMFNoAbbrev == OFPFMFNoAbbrev {
2197 flags = append(flags, "\"NoAbbrev\": true")
2198 }
2199 if self&OFPFMFOnlyOwn == OFPFMFOnlyOwn {
2200 flags = append(flags, "\"OnlyOwn\": true")
2201 }
2202 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2203}
2204
2205const (
2206 // Identifiers from group ofp_flow_removed_reason
2207 OFPRRIdleTimeout = 0 // OFPRR_IDLE_TIMEOUT
2208 OFPRRHardTimeout = 1 // OFPRR_HARD_TIMEOUT
2209 OFPRRDelete = 2 // OFPRR_DELETE
2210 OFPRRGroupDelete = 3 // OFPRR_GROUP_DELETE
2211 OFPRRMeterDelete = 4 // OFPRR_METER_DELETE
2212 OFPRREviction = 5 // OFPRR_EVICTION
2213)
2214
2215type FlowRemovedReason uint8
2216
2217func (self FlowRemovedReason) MarshalJSON() ([]byte, error) {
2218 return []byte(fmt.Sprintf("%d", self)), nil
2219}
2220
2221const (
2222 // Identifiers from group ofp_flow_stats_reason
2223 OFPFSRStatsRequest = 0 // OFPFSR_STATS_REQUEST
2224 OFPFSRStatTrigger = 1 // OFPFSR_STAT_TRIGGER
2225)
2226
2227type FlowStatsReason uint8
2228
2229func (self FlowStatsReason) MarshalJSON() ([]byte, error) {
2230 return []byte(fmt.Sprintf("%d", self)), nil
2231}
2232
2233const (
2234 // Identifiers from group ofp_flow_update_event
2235 OFPFMEInitial = 0 // OFPFME_INITIAL
2236 OFPFMEAdded = 1 // OFPFME_ADDED
2237 OFPFMERemoved = 2 // OFPFME_REMOVED
2238 OFPFMEModified = 3 // OFPFME_MODIFIED
2239 OFPFMEAbbrev = 4 // OFPFME_ABBREV
2240 OFPFMEPaused = 5 // OFPFME_PAUSED
2241 OFPFMEResumed = 6 // OFPFME_RESUMED
2242)
2243
2244type FlowUpdateEvent uint16
2245
2246func (self FlowUpdateEvent) MarshalJSON() ([]byte, error) {
2247 return []byte(fmt.Sprintf("%d", self)), nil
2248}
2249
2250const (
2251 // Identifiers from group ofp_group
2252 OFPGMax = 4294967040 // OFPG_MAX
2253 OFPGAll = 4294967292 // OFPG_ALL
2254 OFPGAny = 4294967295 // OFPG_ANY
2255)
2256
2257type Group uint32
2258
2259func (self Group) MarshalJSON() ([]byte, error) {
2260 return []byte(fmt.Sprintf("%d", self)), nil
2261}
2262
2263const (
2264 // Identifiers from group ofp_group_bucket
2265 OFPGBucketMax = 4294967040 // OFPG_BUCKET_MAX
2266 OFPGBucketFirst = 4294967293 // OFPG_BUCKET_FIRST
2267 OFPGBucketLast = 4294967294 // OFPG_BUCKET_LAST
2268 OFPGBucketAll = 4294967295 // OFPG_BUCKET_ALL
2269)
2270
2271type GroupBucket uint32
2272
2273func (self GroupBucket) MarshalJSON() ([]byte, error) {
2274 return []byte(fmt.Sprintf("%d", self)), nil
2275}
2276
2277const (
2278 // Identifiers from group ofp_group_bucket_prop_type
2279 OFPGBPTWeight = 0 // OFPGBPT_WEIGHT
2280 OFPGBPTWatchPort = 1 // OFPGBPT_WATCH_PORT
2281 OFPGBPTWatchGroup = 2 // OFPGBPT_WATCH_GROUP
2282 OFPGBPTExperimenter = 65535 // OFPGBPT_EXPERIMENTER
2283)
2284
2285const (
2286 // Identifiers from group ofp_group_capabilities
2287 OFPGFCSelectWeight = 1 // OFPGFC_SELECT_WEIGHT
2288 OFPGFCSelectLiveness = 2 // OFPGFC_SELECT_LIVENESS
2289 OFPGFCChaining = 4 // OFPGFC_CHAINING
2290 OFPGFCChainingChecks = 8 // OFPGFC_CHAINING_CHECKS
2291)
2292
2293type GroupCapabilities uint32
2294
2295func (self GroupCapabilities) MarshalJSON() ([]byte, error) {
2296 var flags []string
2297 if self&OFPGFCSelectWeight == OFPGFCSelectWeight {
2298 flags = append(flags, "\"SelectWeight\": true")
2299 }
2300 if self&OFPGFCSelectLiveness == OFPGFCSelectLiveness {
2301 flags = append(flags, "\"SelectLiveness\": true")
2302 }
2303 if self&OFPGFCChaining == OFPGFCChaining {
2304 flags = append(flags, "\"Chaining\": true")
2305 }
2306 if self&OFPGFCChainingChecks == OFPGFCChainingChecks {
2307 flags = append(flags, "\"ChainingChecks\": true")
2308 }
2309 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2310}
2311
2312const (
2313 // Identifiers from group ofp_group_mod_command
2314 OFPGCAdd = 0 // OFPGC_ADD
2315 OFPGCModify = 1 // OFPGC_MODIFY
2316 OFPGCDelete = 2 // OFPGC_DELETE
2317 OFPGCInsertBucket = 3 // OFPGC_INSERT_BUCKET
2318 OFPGCRemoveBucket = 5 // OFPGC_REMOVE_BUCKET
2319)
2320
2321type GroupModCommand uint16
2322
2323func (self GroupModCommand) MarshalJSON() ([]byte, error) {
2324 return []byte(fmt.Sprintf("%d", self)), nil
2325}
2326
2327const (
2328 // Identifiers from group ofp_group_mod_failed_code
2329 OFPGMFCGroupExists = 0 // OFPGMFC_GROUP_EXISTS
2330 OFPGMFCInvalidGroup = 1 // OFPGMFC_INVALID_GROUP
2331 OFPGMFCWeightUnsupported = 2 // OFPGMFC_WEIGHT_UNSUPPORTED
2332 OFPGMFCOutOfGroups = 3 // OFPGMFC_OUT_OF_GROUPS
2333 OFPGMFCOutOfBuckets = 4 // OFPGMFC_OUT_OF_BUCKETS
2334 OFPGMFCChainingUnsupported = 5 // OFPGMFC_CHAINING_UNSUPPORTED
2335 OFPGMFCWatchUnsupported = 6 // OFPGMFC_WATCH_UNSUPPORTED
2336 OFPGMFCLoop = 7 // OFPGMFC_LOOP
2337 OFPGMFCUnknownGroup = 8 // OFPGMFC_UNKNOWN_GROUP
2338 OFPGMFCChainedGroup = 9 // OFPGMFC_CHAINED_GROUP
2339 OFPGMFCBadType = 10 // OFPGMFC_BAD_TYPE
2340 OFPGMFCBadCommand = 11 // OFPGMFC_BAD_COMMAND
2341 OFPGMFCBadBucket = 12 // OFPGMFC_BAD_BUCKET
2342 OFPGMFCBadWatch = 13 // OFPGMFC_BAD_WATCH
2343 OFPGMFCEperm = 14 // OFPGMFC_EPERM
2344 OFPGMFCUnknownBucket = 15 // OFPGMFC_UNKNOWN_BUCKET
2345 OFPGMFCBucketExists = 16 // OFPGMFC_BUCKET_EXISTS
2346)
2347
2348type GroupModFailedCode uint16
2349
2350func (self GroupModFailedCode) MarshalJSON() ([]byte, error) {
2351 return []byte(fmt.Sprintf("%d", self)), nil
2352}
2353
2354const (
2355 // Identifiers from group ofp_group_prop_type
2356 OFPGPTExperimenter = 65535 // OFPGPT_EXPERIMENTER
2357)
2358
2359const (
2360 // Identifiers from group ofp_group_type
2361 OFPGTAll = 0 // OFPGT_ALL
2362 OFPGTSelect = 1 // OFPGT_SELECT
2363 OFPGTIndirect = 2 // OFPGT_INDIRECT
2364 OFPGTFf = 3 // OFPGT_FF
2365)
2366
2367type GroupType uint8
2368
2369func (self GroupType) MarshalJSON() ([]byte, error) {
2370 return []byte(fmt.Sprintf("\"%s\"", self)), nil
2371}
2372
2373func (self GroupType) String() string {
2374 switch self {
2375 case OFPGTAll:
2376 return "all"
2377 case OFPGTSelect:
2378 return "select"
2379 case OFPGTIndirect:
2380 return "indirect"
2381 case OFPGTFf:
2382 return "ff"
2383 default:
2384 return fmt.Sprintf("%d", self)
2385 }
2386}
2387
2388const (
2389 // Identifiers from group ofp_header_type_namespace
2390 OFPHTNOnf = 0 // OFPHTN_ONF
2391 OFPHTNEthertype = 1 // OFPHTN_ETHERTYPE
2392 OFPHTNIpProto = 2 // OFPHTN_IP_PROTO
2393 OFPHTNUdpTCPPort = 3 // OFPHTN_UDP_TCP_PORT
2394 OFPHTNIpv4Option = 4 // OFPHTN_IPV4_OPTION
2395)
2396
2397type HeaderTypeNamespace uint16
2398
2399func (self HeaderTypeNamespace) MarshalJSON() ([]byte, error) {
2400 return []byte(fmt.Sprintf("%d", self)), nil
2401}
2402
2403const (
2404 // Identifiers from group ofp_header_type_onf
2405 OFPHTOEthernet = 0 // OFPHTO_ETHERNET
2406 OFPHTONoHeader = 1 // OFPHTO_NO_HEADER
2407 OFPHTOOXMExperimenter = 65535 // OFPHTO_OXM_EXPERIMENTER
2408)
2409
2410type HeaderTypeOnf uint16
2411
2412func (self HeaderTypeOnf) MarshalJSON() ([]byte, error) {
2413 return []byte(fmt.Sprintf("%d", self)), nil
2414}
2415
2416const (
2417 // Identifiers from group ofp_hello_elem_type
2418 OFPHETVersionbitmap = 1 // OFPHET_VERSIONBITMAP
2419)
2420
2421type HelloElemType uint16
2422
2423func (self HelloElemType) MarshalJSON() ([]byte, error) {
2424 return []byte(fmt.Sprintf("%d", self)), nil
2425}
2426
2427const (
2428 // Identifiers from group ofp_hello_failed_code
2429 OFPHFCIncompatible = 0 // OFPHFC_INCOMPATIBLE
2430 OFPHFCEperm = 1 // OFPHFC_EPERM
2431)
2432
2433type HelloFailedCode uint16
2434
2435func (self HelloFailedCode) MarshalJSON() ([]byte, error) {
2436 return []byte(fmt.Sprintf("%d", self)), nil
2437}
2438
2439const (
2440 // Identifiers from group ofp_icmp_type
2441 IcmpEchoreply = 0 // ICMP_ECHOREPLY
2442 IcmpDestUnreach = 3 // ICMP_DEST_UNREACH
2443 IcmpSourceQuench = 4 // ICMP_SOURCE_QUENCH
2444 IcmpRedirect = 5 // ICMP_REDIRECT
2445 IcmpEcho = 8 // ICMP_ECHO
2446 IcmpTimeExceeded = 11 // ICMP_TIME_EXCEEDED
2447 IcmpParameterprob = 12 // ICMP_PARAMETERPROB
2448 IcmpTimestamp = 13 // ICMP_TIMESTAMP
2449 IcmpTimestampreply = 14 // ICMP_TIMESTAMPREPLY
2450 IcmpInfoRequest = 15 // ICMP_INFO_REQUEST
2451 IcmpInfoReply = 16 // ICMP_INFO_REPLY
2452 IcmpAddress = 17 // ICMP_ADDRESS
2453 IcmpAddressreply = 18 // ICMP_ADDRESSREPLY
2454)
2455
2456type IcmpType uint8
2457
2458func (self IcmpType) MarshalJSON() ([]byte, error) {
2459 return []byte(fmt.Sprintf("\"%s\"", self)), nil
2460}
2461
2462func (self IcmpType) String() string {
2463 switch self {
2464 case IcmpEchoreply:
2465 return "echoreply"
2466 case IcmpDestUnreach:
2467 return "dest_unreach"
2468 case IcmpSourceQuench:
2469 return "source_quench"
2470 case IcmpRedirect:
2471 return "redirect"
2472 case IcmpEcho:
2473 return "echo"
2474 case IcmpTimeExceeded:
2475 return "time_exceeded"
2476 case IcmpParameterprob:
2477 return "parameterprob"
2478 case IcmpTimestamp:
2479 return "timestamp"
2480 case IcmpTimestampreply:
2481 return "timestampreply"
2482 case IcmpInfoRequest:
2483 return "info_request"
2484 case IcmpInfoReply:
2485 return "info_reply"
2486 case IcmpAddress:
2487 return "address"
2488 case IcmpAddressreply:
2489 return "addressreply"
2490 default:
2491 return fmt.Sprintf("%d", self)
2492 }
2493}
2494
2495const (
2496 // Identifiers from group ofp_icmpv6_type
2497 Icmpv6EchoRequest = 128 // ICMPV6_ECHO_REQUEST
2498 Icmpv6EchoReply = 129 // ICMPV6_ECHO_REPLY
2499 Icmpv6MgmQuery = 130 // ICMPV6_MGM_QUERY
2500 Icmpv6MgmReport = 131 // ICMPV6_MGM_REPORT
2501 Icmpv6MgmReduction = 132 // ICMPV6_MGM_REDUCTION
2502 Icmpv6NiQuery = 139 // ICMPV6_NI_QUERY
2503 Icmpv6NiReply = 140 // ICMPV6_NI_REPLY
2504 Icmpv6Mld2Report = 143 // ICMPV6_MLD2_REPORT
2505 Icmpv6DhaadRequest = 144 // ICMPV6_DHAAD_REQUEST
2506 Icmpv6DhaadReply = 145 // ICMPV6_DHAAD_REPLY
2507 Icmpv6MobilePrefixSol = 146 // ICMPV6_MOBILE_PREFIX_SOL
2508 Icmpv6MobilePrefixAdv = 147 // ICMPV6_MOBILE_PREFIX_ADV
2509)
2510
2511type Icmpv6Type uint8
2512
2513func (self Icmpv6Type) MarshalJSON() ([]byte, error) {
2514 return []byte(fmt.Sprintf("\"%s\"", self)), nil
2515}
2516
2517func (self Icmpv6Type) String() string {
2518 switch self {
2519 case Icmpv6EchoRequest:
2520 return "echo_request"
2521 case Icmpv6EchoReply:
2522 return "echo_reply"
2523 case Icmpv6MgmQuery:
2524 return "mgm_query"
2525 case Icmpv6MgmReport:
2526 return "mgm_report"
2527 case Icmpv6MgmReduction:
2528 return "mgm_reduction"
2529 case Icmpv6NiQuery:
2530 return "ni_query"
2531 case Icmpv6NiReply:
2532 return "ni_reply"
2533 case Icmpv6Mld2Report:
2534 return "mld2_report"
2535 case Icmpv6DhaadRequest:
2536 return "dhaad_request"
2537 case Icmpv6DhaadReply:
2538 return "dhaad_reply"
2539 case Icmpv6MobilePrefixSol:
2540 return "mobile_prefix_sol"
2541 case Icmpv6MobilePrefixAdv:
2542 return "mobile_prefix_adv"
2543 default:
2544 return fmt.Sprintf("%d", self)
2545 }
2546}
2547
2548const (
2549 // Identifiers from group ofp_instruction_type
2550 OFPITGotoTable = 1 // OFPIT_GOTO_TABLE
2551 OFPITWriteMetadata = 2 // OFPIT_WRITE_METADATA
2552 OFPITWriteActions = 3 // OFPIT_WRITE_ACTIONS
2553 OFPITApplyActions = 4 // OFPIT_APPLY_ACTIONS
2554 OFPITClearActions = 5 // OFPIT_CLEAR_ACTIONS
2555 OFPITDeprecated = 6 // OFPIT_DEPRECATED
2556 OFPITStatTrigger = 7 // OFPIT_STAT_TRIGGER
2557 OFPITExperimenter = 65535 // OFPIT_EXPERIMENTER
2558)
2559
2560type InstructionType uint16
2561
2562func (self InstructionType) MarshalJSON() ([]byte, error) {
2563 var flags []string
2564 if self&OFPITGotoTable == OFPITGotoTable {
2565 flags = append(flags, "\"GotoTable\": true")
2566 }
2567 if self&OFPITWriteMetadata == OFPITWriteMetadata {
2568 flags = append(flags, "\"WriteMetadata\": true")
2569 }
2570 if self&OFPITWriteActions == OFPITWriteActions {
2571 flags = append(flags, "\"WriteActions\": true")
2572 }
2573 if self&OFPITApplyActions == OFPITApplyActions {
2574 flags = append(flags, "\"ApplyActions\": true")
2575 }
2576 if self&OFPITClearActions == OFPITClearActions {
2577 flags = append(flags, "\"ClearActions\": true")
2578 }
2579 if self&OFPITDeprecated == OFPITDeprecated {
2580 flags = append(flags, "\"Deprecated\": true")
2581 }
2582 if self&OFPITStatTrigger == OFPITStatTrigger {
2583 flags = append(flags, "\"StatTrigger\": true")
2584 }
2585 if self&OFPITExperimenter == OFPITExperimenter {
2586 flags = append(flags, "\"Experimenter\": true")
2587 }
2588 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2589}
2590
2591const (
2592 // Identifiers from group ofp_ip_prototype
2593 IpprotoIp = 0 // IPPROTO_IP
2594 IpprotoICMP = 1 // IPPROTO_ICMP
2595 IpprotoIgmp = 2 // IPPROTO_IGMP
2596 IpprotoIpip = 4 // IPPROTO_IPIP
2597 IpprotoTCP = 6 // IPPROTO_TCP
2598 IpprotoEgp = 8 // IPPROTO_EGP
2599 IpprotoPup = 12 // IPPROTO_PUP
2600 IpprotoUdp = 17 // IPPROTO_UDP
2601 IpprotoIdp = 22 // IPPROTO_IDP
2602 IpprotoTp = 29 // IPPROTO_TP
2603 IpprotoDccp = 33 // IPPROTO_DCCP
2604 IpprotoIpv6 = 41 // IPPROTO_IPV6
2605 IpprotoRsvp = 46 // IPPROTO_RSVP
2606 IpprotoGRE = 47 // IPPROTO_GRE
2607 IpprotoEsp = 50 // IPPROTO_ESP
2608 IpprotoAh = 51 // IPPROTO_AH
2609 IpprotoMtp = 92 // IPPROTO_MTP
2610 IpprotoBeetph = 94 // IPPROTO_BEETPH
2611 IpprotoEncap = 98 // IPPROTO_ENCAP
2612 IpprotoPim = 103 // IPPROTO_PIM
2613 IpprotoComp = 108 // IPPROTO_COMP
2614 IpprotoSctp = 132 // IPPROTO_SCTP
2615 IpprotoUdplite = 136 // IPPROTO_UDPLITE
2616 IpprotoMpls = 137 // IPPROTO_MPLS
2617 IpprotoRaw = 255 // IPPROTO_RAW
2618 IpprotoRouting = 43 // IPPROTO_ROUTING
2619 IpprotoFragment = 44 // IPPROTO_FRAGMENT
2620 IpprotoIcmpv6 = 58 // IPPROTO_ICMPV6
2621 IpprotoNone = 59 // IPPROTO_NONE
2622 IpprotoDstopts = 60 // IPPROTO_DSTOPTS
2623 IpprotoMh = 135 // IPPROTO_MH
2624 IpprotoL2Tp = 115 // IPPROTO_L2TP
2625)
2626
2627type IpPrototype uint8
2628
2629func (self IpPrototype) MarshalJSON() ([]byte, error) {
2630 return []byte(fmt.Sprintf("\"%s\"", self)), nil
2631}
2632
2633func (self IpPrototype) String() string {
2634 switch self {
2635 case IpprotoIp:
2636 return "ip"
2637 case IpprotoICMP:
2638 return "icmp"
2639 case IpprotoIgmp:
2640 return "igmp"
2641 case IpprotoIpip:
2642 return "ipip"
2643 case IpprotoTCP:
2644 return "tcp"
2645 case IpprotoEgp:
2646 return "egp"
2647 case IpprotoPup:
2648 return "pup"
2649 case IpprotoUdp:
2650 return "udp"
2651 case IpprotoIdp:
2652 return "idp"
2653 case IpprotoTp:
2654 return "tp"
2655 case IpprotoDccp:
2656 return "dccp"
2657 case IpprotoIpv6:
2658 return "ipv6"
2659 case IpprotoRsvp:
2660 return "rsvp"
2661 case IpprotoGRE:
2662 return "gre"
2663 case IpprotoEsp:
2664 return "esp"
2665 case IpprotoAh:
2666 return "ah"
2667 case IpprotoMtp:
2668 return "mtp"
2669 case IpprotoBeetph:
2670 return "beetph"
2671 case IpprotoEncap:
2672 return "encap"
2673 case IpprotoPim:
2674 return "pim"
2675 case IpprotoComp:
2676 return "comp"
2677 case IpprotoSctp:
2678 return "sctp"
2679 case IpprotoUdplite:
2680 return "udplite"
2681 case IpprotoMpls:
2682 return "mpls"
2683 case IpprotoRaw:
2684 return "raw"
2685 case IpprotoRouting:
2686 return "routing"
2687 case IpprotoFragment:
2688 return "fragment"
2689 case IpprotoIcmpv6:
2690 return "icmpv6"
2691 case IpprotoNone:
2692 return "none"
2693 case IpprotoDstopts:
2694 return "dstopts"
2695 case IpprotoMh:
2696 return "mh"
2697 case IpprotoL2Tp:
2698 return "l2tp"
2699 default:
2700 return fmt.Sprintf("%d", self)
2701 }
2702}
2703
2704const (
2705 // Identifiers from group ofp_ipv6exthdr_flags
2706 OFPIEHNonext = 1 // OFPIEH_NONEXT
2707 OFPIEHEsp = 2 // OFPIEH_ESP
2708 OFPIEHAuth = 4 // OFPIEH_AUTH
2709 OFPIEHDest = 8 // OFPIEH_DEST
2710 OFPIEHFrag = 16 // OFPIEH_FRAG
2711 OFPIEHRouter = 32 // OFPIEH_ROUTER
2712 OFPIEHHop = 64 // OFPIEH_HOP
2713 OFPIEHUnrep = 128 // OFPIEH_UNREP
2714 OFPIEHUnseq = 256 // OFPIEH_UNSEQ
2715)
2716
2717type Ipv6ExthdrFlags uint16
2718
2719func (self Ipv6ExthdrFlags) MarshalJSON() ([]byte, error) {
2720 var flags []string
2721 if self&OFPIEHNonext == OFPIEHNonext {
2722 flags = append(flags, "\"Nonext\": true")
2723 }
2724 if self&OFPIEHEsp == OFPIEHEsp {
2725 flags = append(flags, "\"Esp\": true")
2726 }
2727 if self&OFPIEHAuth == OFPIEHAuth {
2728 flags = append(flags, "\"Auth\": true")
2729 }
2730 if self&OFPIEHDest == OFPIEHDest {
2731 flags = append(flags, "\"Dest\": true")
2732 }
2733 if self&OFPIEHFrag == OFPIEHFrag {
2734 flags = append(flags, "\"Frag\": true")
2735 }
2736 if self&OFPIEHRouter == OFPIEHRouter {
2737 flags = append(flags, "\"Router\": true")
2738 }
2739 if self&OFPIEHHop == OFPIEHHop {
2740 flags = append(flags, "\"Hop\": true")
2741 }
2742 if self&OFPIEHUnrep == OFPIEHUnrep {
2743 flags = append(flags, "\"Unrep\": true")
2744 }
2745 if self&OFPIEHUnseq == OFPIEHUnseq {
2746 flags = append(flags, "\"Unseq\": true")
2747 }
2748 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2749}
2750
2751const (
2752 // Identifiers from group ofp_match_type
2753 OFPMTStandard = 0 // OFPMT_STANDARD
2754 OFPMTOXM = 1 // OFPMT_OXM
2755)
2756
2757type MatchType uint16
2758
2759func (self MatchType) MarshalJSON() ([]byte, error) {
2760 return []byte(fmt.Sprintf("%d", self)), nil
2761}
2762
2763const (
2764 // Identifiers from group ofp_meter
2765 OFPMMax = 4294901760 // OFPM_MAX
2766 OFPMSlowpath = 4294967293 // OFPM_SLOWPATH
2767 OFPMController = 4294967294 // OFPM_CONTROLLER
2768 OFPMAll = 4294967295 // OFPM_ALL
2769)
2770
2771type Meter uint32
2772
2773func (self Meter) MarshalJSON() ([]byte, error) {
2774 return []byte(fmt.Sprintf("%d", self)), nil
2775}
2776
2777const (
2778 // Identifiers from group ofp_meter_band_type
2779 OFPMBTDrop = 1 // OFPMBT_DROP
2780 OFPMBTDSCPRemark = 2 // OFPMBT_DSCP_REMARK
2781 OFPMBTExperimenter = 65535 // OFPMBT_EXPERIMENTER
2782)
2783
2784type MeterBandType uint16
2785
2786func (self MeterBandType) MarshalJSON() ([]byte, error) {
2787 return []byte(fmt.Sprintf("%d", self)), nil
2788}
2789
2790const (
2791 // Identifiers from group ofp_meter_feature_flags
2792 OFPMFFActionSet = 1 // OFPMFF_ACTION_SET
2793 OFPMFFAnyPosition = 2 // OFPMFF_ANY_POSITION
2794 OFPMFFMultiList = 4 // OFPMFF_MULTI_LIST
2795)
2796
2797type MeterFeatureFlags uint32
2798
2799func (self MeterFeatureFlags) MarshalJSON() ([]byte, error) {
2800 var flags []string
2801 if self&OFPMFFActionSet == OFPMFFActionSet {
2802 flags = append(flags, "\"ActionSet\": true")
2803 }
2804 if self&OFPMFFAnyPosition == OFPMFFAnyPosition {
2805 flags = append(flags, "\"AnyPosition\": true")
2806 }
2807 if self&OFPMFFMultiList == OFPMFFMultiList {
2808 flags = append(flags, "\"MultiList\": true")
2809 }
2810 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2811}
2812
2813const (
2814 // Identifiers from group ofp_meter_flags
2815 OFPMFKbps = 1 // OFPMF_KBPS
2816 OFPMFPktps = 2 // OFPMF_PKTPS
2817 OFPMFBurst = 4 // OFPMF_BURST
2818 OFPMFStats = 8 // OFPMF_STATS
2819)
2820
2821type MeterFlags uint16
2822
2823func (self MeterFlags) MarshalJSON() ([]byte, error) {
2824 var flags []string
2825 if self&OFPMFKbps == OFPMFKbps {
2826 flags = append(flags, "\"Kbps\": true")
2827 }
2828 if self&OFPMFPktps == OFPMFPktps {
2829 flags = append(flags, "\"Pktps\": true")
2830 }
2831 if self&OFPMFBurst == OFPMFBurst {
2832 flags = append(flags, "\"Burst\": true")
2833 }
2834 if self&OFPMFStats == OFPMFStats {
2835 flags = append(flags, "\"Stats\": true")
2836 }
2837 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2838}
2839
2840const (
2841 // Identifiers from group ofp_meter_mod_command
2842 OFPMCAdd = 0 // OFPMC_ADD
2843 OFPMCModify = 1 // OFPMC_MODIFY
2844 OFPMCDelete = 2 // OFPMC_DELETE
2845)
2846
2847type MeterModCommand uint16
2848
2849func (self MeterModCommand) MarshalJSON() ([]byte, error) {
2850 return []byte(fmt.Sprintf("%d", self)), nil
2851}
2852
2853const (
2854 // Identifiers from group ofp_meter_mod_failed_code
2855 OFPMMFCUnknown = 0 // OFPMMFC_UNKNOWN
2856 OFPMMFCMeterExists = 1 // OFPMMFC_METER_EXISTS
2857 OFPMMFCInvalidMeter = 2 // OFPMMFC_INVALID_METER
2858 OFPMMFCUnknownMeter = 3 // OFPMMFC_UNKNOWN_METER
2859 OFPMMFCBadCommand = 4 // OFPMMFC_BAD_COMMAND
2860 OFPMMFCBadFlags = 5 // OFPMMFC_BAD_FLAGS
2861 OFPMMFCBadRate = 6 // OFPMMFC_BAD_RATE
2862 OFPMMFCBadBurst = 7 // OFPMMFC_BAD_BURST
2863 OFPMMFCBadBand = 8 // OFPMMFC_BAD_BAND
2864 OFPMMFCBadBandValue = 9 // OFPMMFC_BAD_BAND_VALUE
2865 OFPMMFCOutOfMeters = 10 // OFPMMFC_OUT_OF_METERS
2866 OFPMMFCOutOfBands = 11 // OFPMMFC_OUT_OF_BANDS
2867)
2868
2869type MeterModFailedCode uint16
2870
2871func (self MeterModFailedCode) MarshalJSON() ([]byte, error) {
2872 return []byte(fmt.Sprintf("%d", self)), nil
2873}
2874
2875const (
2876 // Identifiers from group ofp_optical_port_features
2877 OFPOPFRxTune = 1 // OFPOPF_RX_TUNE
2878 OFPOPFTxTune = 2 // OFPOPF_TX_TUNE
2879 OFPOPFTxPwr = 4 // OFPOPF_TX_PWR
2880 OFPOPFUseFreq = 8 // OFPOPF_USE_FREQ
2881)
2882
2883type OpticalPortFeatures uint32
2884
2885func (self OpticalPortFeatures) MarshalJSON() ([]byte, error) {
2886 var flags []string
2887 if self&OFPOPFRxTune == OFPOPFRxTune {
2888 flags = append(flags, "\"RxTune\": true")
2889 }
2890 if self&OFPOPFTxTune == OFPOPFTxTune {
2891 flags = append(flags, "\"TxTune\": true")
2892 }
2893 if self&OFPOPFTxPwr == OFPOPFTxPwr {
2894 flags = append(flags, "\"TxPwr\": true")
2895 }
2896 if self&OFPOPFUseFreq == OFPOPFUseFreq {
2897 flags = append(flags, "\"UseFreq\": true")
2898 }
2899 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2900}
2901
2902const (
2903 // Identifiers from group ofp_ovs_tcp_flag
2904 OvsTCPFlagFin = 1 // OFP_OVS_TCP_FLAG_FIN
2905 OvsTCPFlagSyn = 2 // OFP_OVS_TCP_FLAG_SYN
2906 OvsTCPFlagRst = 4 // OFP_OVS_TCP_FLAG_RST
2907 OvsTCPFlagPsh = 8 // OFP_OVS_TCP_FLAG_PSH
2908 OvsTCPFlagAck = 16 // OFP_OVS_TCP_FLAG_ACK
2909 OvsTCPFlagUrg = 32 // OFP_OVS_TCP_FLAG_URG
2910 OvsTCPFlagEce = 64 // OFP_OVS_TCP_FLAG_ECE
2911 OvsTCPFlagCwr = 128 // OFP_OVS_TCP_FLAG_CWR
2912 OvsTCPFlagNs = 256 // OFP_OVS_TCP_FLAG_NS
2913)
2914
2915type OvsTcpFlag uint16
2916
2917func (self OvsTcpFlag) MarshalJSON() ([]byte, error) {
2918 var flags []string
2919 if self&OvsTCPFlagFin == OvsTCPFlagFin {
2920 flags = append(flags, "\"Fin\": true")
2921 }
2922 if self&OvsTCPFlagSyn == OvsTCPFlagSyn {
2923 flags = append(flags, "\"Syn\": true")
2924 }
2925 if self&OvsTCPFlagRst == OvsTCPFlagRst {
2926 flags = append(flags, "\"Rst\": true")
2927 }
2928 if self&OvsTCPFlagPsh == OvsTCPFlagPsh {
2929 flags = append(flags, "\"Psh\": true")
2930 }
2931 if self&OvsTCPFlagAck == OvsTCPFlagAck {
2932 flags = append(flags, "\"Ack\": true")
2933 }
2934 if self&OvsTCPFlagUrg == OvsTCPFlagUrg {
2935 flags = append(flags, "\"Urg\": true")
2936 }
2937 if self&OvsTCPFlagEce == OvsTCPFlagEce {
2938 flags = append(flags, "\"Ece\": true")
2939 }
2940 if self&OvsTCPFlagCwr == OvsTCPFlagCwr {
2941 flags = append(flags, "\"Cwr\": true")
2942 }
2943 if self&OvsTCPFlagNs == OvsTCPFlagNs {
2944 flags = append(flags, "\"Ns\": true")
2945 }
2946 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
2947}
2948
2949const (
2950 // Identifiers from group ofp_oxm_class
2951 OFPXMCNxm0 = 0 // OFPXMC_NXM_0
2952 OFPXMCNxm1 = 1 // OFPXMC_NXM_1
2953 OFPXMCOpenflowBasic = 32768 // OFPXMC_OPENFLOW_BASIC
2954 OFPXMCPacketRegs = 32769 // OFPXMC_PACKET_REGS
2955 OFPXMCExperimenter = 65535 // OFPXMC_EXPERIMENTER
2956)
2957
2958type OxmClass uint16
2959
2960func (self OxmClass) MarshalJSON() ([]byte, error) {
2961 return []byte(fmt.Sprintf("%d", self)), nil
2962}
2963
2964const (
2965 // Identifiers from group ofp_oxs_class
2966 OFPXSCOpenflowBasic = 32770 // OFPXSC_OPENFLOW_BASIC
2967 OFPXSCExperimenter = 65535 // OFPXSC_EXPERIMENTER
2968)
2969
2970type OxsClass uint16
2971
2972func (self OxsClass) MarshalJSON() ([]byte, error) {
2973 return []byte(fmt.Sprintf("%d", self)), nil
2974}
2975
2976const (
2977 // Identifiers from group ofp_packet_in_reason
2978 OFPRNoMatch = 0 // OFPR_NO_MATCH
2979 OFPRAction = 1 // OFPR_ACTION
2980 OFPRInvalidTtl = 2 // OFPR_INVALID_TTL
2981 OFPRActionSet = 3 // OFPR_ACTION_SET
2982 OFPRGroup = 4 // OFPR_GROUP
2983 OFPRPacketOut = 5 // OFPR_PACKET_OUT
2984 OFPRBSNNewHost = 128 // OFPR_BSN_NEW_HOST
2985 OFPRBSNStationMove = 129 // OFPR_BSN_STATION_MOVE
2986 OFPRBSNBadVLAN = 130 // OFPR_BSN_BAD_VLAN
2987 OFPRBSNDestinationLookupFailure = 131 // OFPR_BSN_DESTINATION_LOOKUP_FAILURE
2988 OFPRBSNNoRoute = 132 // OFPR_BSN_NO_ROUTE
2989 OFPRBSNICMPEchoRequest = 133 // OFPR_BSN_ICMP_ECHO_REQUEST
2990 OFPRBSNDestNetworkUnreachable = 134 // OFPR_BSN_DEST_NETWORK_UNREACHABLE
2991 OFPRBSNDestHostUnreachable = 135 // OFPR_BSN_DEST_HOST_UNREACHABLE
2992 OFPRBSNDestPortUnreachable = 136 // OFPR_BSN_DEST_PORT_UNREACHABLE
2993 OFPRBSNFragmentationRequired = 137 // OFPR_BSN_FRAGMENTATION_REQUIRED
2994 OFPRBSNARP = 139 // OFPR_BSN_ARP
2995 OFPRBSNDhcp = 140 // OFPR_BSN_DHCP
2996 OFPRBSNDebug = 141 // OFPR_BSN_DEBUG
2997 OFPRBSNPacketOfDeath = 142 // OFPR_BSN_PACKET_OF_DEATH
2998)
2999
3000type PacketInReason uint8
3001
3002func (self PacketInReason) MarshalJSON() ([]byte, error) {
3003 return []byte(fmt.Sprintf("%d", self)), nil
3004}
3005
3006const (
3007 // Identifiers from group ofp_packet_type
3008 PtEthernet = 0 // OFP_PT_ETHERNET
3009 PtUseNextProto = 65534 // OFP_PT_USE_NEXT_PROTO
3010 PtIpv4 = 67584 // OFP_PT_IPV4
3011 PtMpls = 100423 // OFP_PT_MPLS
3012 PtMplsMc = 100424 // OFP_PT_MPLS_MC
3013 PtNsh = 100687 // OFP_PT_NSH
3014 PtUnknown = 4294967295 // OFP_PT_UNKNOWN
3015)
3016
3017type PacketType uint32
3018
3019func (self PacketType) MarshalJSON() ([]byte, error) {
3020 return []byte(fmt.Sprintf("\"%s\"", self)), nil
3021}
3022
3023func (self PacketType) String() string {
3024 switch self {
3025 case PtEthernet:
3026 return "ethernet"
3027 case PtUseNextProto:
3028 return "use_next_proto"
3029 case PtIpv4:
3030 return "ipv4"
3031 case PtMpls:
3032 return "mpls"
3033 case PtMplsMc:
3034 return "mpls_mc"
3035 case PtNsh:
3036 return "nsh"
3037 case PtUnknown:
3038 return "unknown"
3039 default:
3040 return fmt.Sprintf("%d", self)
3041 }
3042}
3043
3044const (
3045 // Identifiers from group ofp_port
3046 OFPPMax = 4294967040 // OFPP_MAX
3047 OFPPUnset = 4294967287 // OFPP_UNSET
3048 OFPPInPort = 4294967288 // OFPP_IN_PORT
3049 OFPPTable = 4294967289 // OFPP_TABLE
3050 OFPPNormal = 4294967290 // OFPP_NORMAL
3051 OFPPFlood = 4294967291 // OFPP_FLOOD
3052 OFPPAll = 4294967292 // OFPP_ALL
3053 OFPPController = 4294967293 // OFPP_CONTROLLER
3054 OFPPLocal = 4294967294 // OFPP_LOCAL
3055 OFPPAny = 4294967295 // OFPP_ANY
3056)
3057
3058type Port uint32
3059
3060func (self Port) MarshalJSON() ([]byte, error) {
3061 return []byte(fmt.Sprintf("%d", self)), nil
3062}
3063
3064const (
3065 // Identifiers from group ofp_port_config
3066 OFPPCPortDown = 1 // OFPPC_PORT_DOWN
3067 OFPPCNoRecv = 4 // OFPPC_NO_RECV
3068 OFPPCNoFwd = 32 // OFPPC_NO_FWD
3069 OFPPCNoPacketIn = 64 // OFPPC_NO_PACKET_IN
3070 OFPPCBSNMirrorDest = 2147483648 // OFPPC_BSN_MIRROR_DEST
3071)
3072
3073type PortConfig uint32
3074
3075func (self PortConfig) MarshalJSON() ([]byte, error) {
3076 var flags []string
3077 if self&OFPPCPortDown == OFPPCPortDown {
3078 flags = append(flags, "\"PortDown\": true")
3079 }
3080 if self&OFPPCNoRecv == OFPPCNoRecv {
3081 flags = append(flags, "\"NoRecv\": true")
3082 }
3083 if self&OFPPCNoFwd == OFPPCNoFwd {
3084 flags = append(flags, "\"NoFwd\": true")
3085 }
3086 if self&OFPPCNoPacketIn == OFPPCNoPacketIn {
3087 flags = append(flags, "\"NoPacketIn\": true")
3088 }
3089 if self&OFPPCBSNMirrorDest == OFPPCBSNMirrorDest {
3090 flags = append(flags, "\"BsnMirrorDest\": true")
3091 }
3092 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3093}
3094
3095const (
3096 // Identifiers from group ofp_port_desc_prop_type
3097 OFPPDPTEthernet = 0 // OFPPDPT_ETHERNET
3098 OFPPDPTOptical = 1 // OFPPDPT_OPTICAL
3099 OFPPDPTPipelineInput = 2 // OFPPDPT_PIPELINE_INPUT
3100 OFPPDPTPipelineOutput = 3 // OFPPDPT_PIPELINE_OUTPUT
3101 OFPPDPTRecirculate = 4 // OFPPDPT_RECIRCULATE
3102 OFPPDPTExperimenter = 65535 // OFPPDPT_EXPERIMENTER
3103)
3104
3105const (
3106 // Identifiers from group ofp_port_features
3107 OFPPF10MbHd = 1 // OFPPF_10MB_HD
3108 OFPPF10MbFd = 2 // OFPPF_10MB_FD
3109 OFPPF100MbHd = 4 // OFPPF_100MB_HD
3110 OFPPF100MbFd = 8 // OFPPF_100MB_FD
3111 OFPPF1GbHd = 16 // OFPPF_1GB_HD
3112 OFPPF1GbFd = 32 // OFPPF_1GB_FD
3113 OFPPF10GbFd = 64 // OFPPF_10GB_FD
3114 OFPPF40GbFd = 128 // OFPPF_40GB_FD
3115 OFPPF100GbFd = 256 // OFPPF_100GB_FD
3116 OFPPF1TbFd = 512 // OFPPF_1TB_FD
3117 OFPPFOther = 1024 // OFPPF_OTHER
3118 OFPPFCopper = 2048 // OFPPF_COPPER
3119 OFPPFFiber = 4096 // OFPPF_FIBER
3120 OFPPFAutoneg = 8192 // OFPPF_AUTONEG
3121 OFPPFPause = 16384 // OFPPF_PAUSE
3122 OFPPFPauseAsym = 32768 // OFPPF_PAUSE_ASYM
3123 OFPPFBSNBreakoutCapable = 2147483648 // OFPPF_BSN_BREAKOUT_CAPABLE
3124)
3125
3126type PortFeatures uint32
3127
3128func (self PortFeatures) MarshalJSON() ([]byte, error) {
3129 var flags []string
3130 if self&OFPPF10MbHd == OFPPF10MbHd {
3131 flags = append(flags, "\"10MbHd\": true")
3132 }
3133 if self&OFPPF10MbFd == OFPPF10MbFd {
3134 flags = append(flags, "\"10MbFd\": true")
3135 }
3136 if self&OFPPF100MbHd == OFPPF100MbHd {
3137 flags = append(flags, "\"100MbHd\": true")
3138 }
3139 if self&OFPPF100MbFd == OFPPF100MbFd {
3140 flags = append(flags, "\"100MbFd\": true")
3141 }
3142 if self&OFPPF1GbHd == OFPPF1GbHd {
3143 flags = append(flags, "\"1GbHd\": true")
3144 }
3145 if self&OFPPF1GbFd == OFPPF1GbFd {
3146 flags = append(flags, "\"1GbFd\": true")
3147 }
3148 if self&OFPPF10GbFd == OFPPF10GbFd {
3149 flags = append(flags, "\"10GbFd\": true")
3150 }
3151 if self&OFPPF40GbFd == OFPPF40GbFd {
3152 flags = append(flags, "\"40GbFd\": true")
3153 }
3154 if self&OFPPF100GbFd == OFPPF100GbFd {
3155 flags = append(flags, "\"100GbFd\": true")
3156 }
3157 if self&OFPPF1TbFd == OFPPF1TbFd {
3158 flags = append(flags, "\"1TbFd\": true")
3159 }
3160 if self&OFPPFOther == OFPPFOther {
3161 flags = append(flags, "\"Other\": true")
3162 }
3163 if self&OFPPFCopper == OFPPFCopper {
3164 flags = append(flags, "\"Copper\": true")
3165 }
3166 if self&OFPPFFiber == OFPPFFiber {
3167 flags = append(flags, "\"Fiber\": true")
3168 }
3169 if self&OFPPFAutoneg == OFPPFAutoneg {
3170 flags = append(flags, "\"Autoneg\": true")
3171 }
3172 if self&OFPPFPause == OFPPFPause {
3173 flags = append(flags, "\"Pause\": true")
3174 }
3175 if self&OFPPFPauseAsym == OFPPFPauseAsym {
3176 flags = append(flags, "\"PauseAsym\": true")
3177 }
3178 if self&OFPPFBSNBreakoutCapable == OFPPFBSNBreakoutCapable {
3179 flags = append(flags, "\"BsnBreakoutCapable\": true")
3180 }
3181 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3182}
3183
3184const (
3185 // Identifiers from group ofp_port_mod_failed_code
3186 OFPPMFCBadPort = 0 // OFPPMFC_BAD_PORT
3187 OFPPMFCBadHwAddr = 1 // OFPPMFC_BAD_HW_ADDR
3188 OFPPMFCBadConfig = 2 // OFPPMFC_BAD_CONFIG
3189 OFPPMFCBadAdvertise = 3 // OFPPMFC_BAD_ADVERTISE
3190 OFPPMFCEperm = 4 // OFPPMFC_EPERM
3191)
3192
3193type PortModFailedCode uint16
3194
3195func (self PortModFailedCode) MarshalJSON() ([]byte, error) {
3196 return []byte(fmt.Sprintf("%d", self)), nil
3197}
3198
3199const (
3200 // Identifiers from group ofp_port_mod_prop_type
3201 OFPPMPTEthernet = 0 // OFPPMPT_ETHERNET
3202 OFPPMPTOptical = 1 // OFPPMPT_OPTICAL
3203 OFPPMPTExperimenter = 65535 // OFPPMPT_EXPERIMENTER
3204)
3205
3206const (
3207 // Identifiers from group ofp_port_reason
3208 OFPPRAdd = 0 // OFPPR_ADD
3209 OFPPRDelete = 1 // OFPPR_DELETE
3210 OFPPRModify = 2 // OFPPR_MODIFY
3211)
3212
3213type PortReason uint8
3214
3215func (self PortReason) MarshalJSON() ([]byte, error) {
3216 return []byte(fmt.Sprintf("%d", self)), nil
3217}
3218
3219const (
3220 // Identifiers from group ofp_port_state
3221 OFPPSLinkDown = 1 // OFPPS_LINK_DOWN
3222 OFPPSBlocked = 2 // OFPPS_BLOCKED
3223 OFPPSLive = 4 // OFPPS_LIVE
3224)
3225
3226type PortState uint32
3227
3228func (self PortState) MarshalJSON() ([]byte, error) {
3229 var flags []string
3230 if self&OFPPSLinkDown == OFPPSLinkDown {
3231 flags = append(flags, "\"LinkDown\": true")
3232 }
3233 if self&OFPPSBlocked == OFPPSBlocked {
3234 flags = append(flags, "\"Blocked\": true")
3235 }
3236 if self&OFPPSLive == OFPPSLive {
3237 flags = append(flags, "\"Live\": true")
3238 }
3239 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3240}
3241
3242const (
3243 // Identifiers from group ofp_port_stats_optical_flags
3244 OFPOSFRxTune = 1 // OFPOSF_RX_TUNE
3245 OFPOSFTxTune = 2 // OFPOSF_TX_TUNE
3246 OFPOSFTxPwr = 4 // OFPOSF_TX_PWR
3247 OFPOSFRxPwr = 16 // OFPOSF_RX_PWR
3248 OFPOSFTxBias = 32 // OFPOSF_TX_BIAS
3249 OFPOSFTxTemp = 64 // OFPOSF_TX_TEMP
3250)
3251
3252type PortStatsOpticalFlags uint32
3253
3254func (self PortStatsOpticalFlags) MarshalJSON() ([]byte, error) {
3255 var flags []string
3256 if self&OFPOSFRxTune == OFPOSFRxTune {
3257 flags = append(flags, "\"RxTune\": true")
3258 }
3259 if self&OFPOSFTxTune == OFPOSFTxTune {
3260 flags = append(flags, "\"TxTune\": true")
3261 }
3262 if self&OFPOSFTxPwr == OFPOSFTxPwr {
3263 flags = append(flags, "\"TxPwr\": true")
3264 }
3265 if self&OFPOSFRxPwr == OFPOSFRxPwr {
3266 flags = append(flags, "\"RxPwr\": true")
3267 }
3268 if self&OFPOSFTxBias == OFPOSFTxBias {
3269 flags = append(flags, "\"TxBias\": true")
3270 }
3271 if self&OFPOSFTxTemp == OFPOSFTxTemp {
3272 flags = append(flags, "\"TxTemp\": true")
3273 }
3274 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3275}
3276
3277const (
3278 // Identifiers from group ofp_port_stats_prop_type
3279 OFPPSPTEthernet = 0 // OFPPSPT_ETHERNET
3280 OFPPSPTOptical = 1 // OFPPSPT_OPTICAL
3281 OFPPSPTExperimenter = 65535 // OFPPSPT_EXPERIMENTER
3282)
3283
3284type PortStatsPropType uint16
3285
3286func (self PortStatsPropType) MarshalJSON() ([]byte, error) {
3287 return []byte(fmt.Sprintf("%d", self)), nil
3288}
3289
3290const (
3291 // Identifiers from group ofp_queue_desc_prop_type
3292 OFPQDPTMinRate = 1 // OFPQDPT_MIN_RATE
3293 OFPQDPTMaxRate = 2 // OFPQDPT_MAX_RATE
3294 OFPQDPTExperimenter = 65535 // OFPQDPT_EXPERIMENTER
3295)
3296
3297const (
3298 // Identifiers from group ofp_queue_op_failed_code
3299 OFPQOFCBadPort = 0 // OFPQOFC_BAD_PORT
3300 OFPQOFCBadQueue = 1 // OFPQOFC_BAD_QUEUE
3301 OFPQOFCEperm = 2 // OFPQOFC_EPERM
3302)
3303
3304type QueueOpFailedCode uint16
3305
3306func (self QueueOpFailedCode) MarshalJSON() ([]byte, error) {
3307 return []byte(fmt.Sprintf("%d", self)), nil
3308}
3309
3310const (
3311 // Identifiers from group ofp_queue_stats_prop_type
3312 OFPQSPTExperimenter = 65535 // OFPQSPT_EXPERIMENTER
3313)
3314
3315const (
3316 // Identifiers from group ofp_requestforward_reason
3317 OFPRFRGroupMod = 0 // OFPRFR_GROUP_MOD
3318 OFPRFRMeterMod = 1 // OFPRFR_METER_MOD
3319)
3320
3321const (
3322 // Identifiers from group ofp_role_prop_type
3323 OFPRPTExperimenter = 65535 // OFPRPT_EXPERIMENTER
3324)
3325
3326const (
3327 // Identifiers from group ofp_role_request_failed_code
3328 OFPRRFCStale = 0 // OFPRRFC_STALE
3329 OFPRRFCUnsup = 1 // OFPRRFC_UNSUP
3330 OFPRRFCBadRole = 2 // OFPRRFC_BAD_ROLE
3331)
3332
3333type RoleRequestFailedCode uint16
3334
3335func (self RoleRequestFailedCode) MarshalJSON() ([]byte, error) {
3336 return []byte(fmt.Sprintf("%d", self)), nil
3337}
3338
3339const (
3340 // Identifiers from group ofp_stat_trigger_flags
3341 OFPSTFPeriodic = 1 // OFPSTF_PERIODIC
3342 OFPSTFOnlyFirst = 2 // OFPSTF_ONLY_FIRST
3343)
3344
3345type StatTriggerFlags uint32
3346
3347func (self StatTriggerFlags) MarshalJSON() ([]byte, error) {
3348 var flags []string
3349 if self&OFPSTFPeriodic == OFPSTFPeriodic {
3350 flags = append(flags, "\"Periodic\": true")
3351 }
3352 if self&OFPSTFOnlyFirst == OFPSTFOnlyFirst {
3353 flags = append(flags, "\"OnlyFirst\": true")
3354 }
3355 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3356}
3357
3358const (
3359 // Identifiers from group ofp_stats_reply_flags
3360 OFPSFReplyMore = 1 // OFPSF_REPLY_MORE
3361)
3362
3363type StatsReplyFlags uint16
3364
3365func (self StatsReplyFlags) MarshalJSON() ([]byte, error) {
3366 var flags []string
3367 if self&OFPSFReplyMore == OFPSFReplyMore {
3368 flags = append(flags, "\"OFPSFReplyMore\": true")
3369 }
3370 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3371}
3372
3373const (
3374 // Identifiers from group ofp_stats_request_flags
3375 OFPSFReqMore = 1 // OFPSF_REQ_MORE
3376)
3377
3378type StatsRequestFlags uint16
3379
3380func (self StatsRequestFlags) MarshalJSON() ([]byte, error) {
3381 var flags []string
3382 if self&OFPSFReqMore == OFPSFReqMore {
3383 flags = append(flags, "\"OFPSFReqMore\": true")
3384 }
3385 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3386}
3387
3388const (
3389 // Identifiers from group ofp_stats_type
3390 OFPSTDesc = 0 // OFPST_DESC
3391 OFPSTFlow = 1 // OFPST_FLOW
3392 OFPSTAggregate = 2 // OFPST_AGGREGATE
3393 OFPSTTable = 3 // OFPST_TABLE
3394 OFPSTPort = 4 // OFPST_PORT
3395 OFPSTQueue = 5 // OFPST_QUEUE
3396 OFPSTGroup = 6 // OFPST_GROUP
3397 OFPSTGroupDesc = 7 // OFPST_GROUP_DESC
3398 OFPSTGroupFeatures = 8 // OFPST_GROUP_FEATURES
3399 OFPSTMeter = 9 // OFPST_METER
3400 OFPSTMeterConfig = 10 // OFPST_METER_CONFIG
3401 OFPSTMeterFeatures = 11 // OFPST_METER_FEATURES
3402 OFPSTTableFeatures = 12 // OFPST_TABLE_FEATURES
3403 OFPSTPortDesc = 13 // OFPST_PORT_DESC
3404 OFPMPTableDesc = 14 // OFPMP_TABLE_DESC
3405 OFPMPQueueDesc = 15 // OFPMP_QUEUE_DESC
3406 OFPMPFlowMonitor = 16 // OFPMP_FLOW_MONITOR
3407 OFPMPFlowLightweight = 17 // OFPMP_FLOW_LIGHTWEIGHT
3408 OFPMPControllerStatus = 18 // OFPMP_CONTROLLER_STATUS
3409 OFPMPBundleFeatures = 19 // OFPMP_BUNDLE_FEATURES
3410 OFPSTExperimenter = 65535 // OFPST_EXPERIMENTER
3411)
3412
3413type StatsType uint16
3414
3415func (self StatsType) MarshalJSON() ([]byte, error) {
3416 return []byte(fmt.Sprintf("%d", self)), nil
3417}
3418
3419const (
3420 // Identifiers from group ofp_switch_config_failed_code
3421 OFPSCFCBadFlags = 0 // OFPSCFC_BAD_FLAGS
3422 OFPSCFCBadLen = 1 // OFPSCFC_BAD_LEN
3423 OFPSCFCEperm = 2 // OFPSCFC_EPERM
3424 OFPRRFCIDUnsup = 3 // OFPRRFC_ID_UNSUP
3425 OFPRRFCIDInUse = 4 // OFPRRFC_ID_IN_USE
3426)
3427
3428type SwitchConfigFailedCode uint16
3429
3430func (self SwitchConfigFailedCode) MarshalJSON() ([]byte, error) {
3431 return []byte(fmt.Sprintf("%d", self)), nil
3432}
3433
3434const (
3435 // Identifiers from group ofp_table
3436 OFPTTMax = 254 // OFPTT_MAX
3437 OFPTTAll = 255 // OFPTT_ALL
3438)
3439
3440type Table uint8
3441
3442func (self Table) MarshalJSON() ([]byte, error) {
3443 return []byte(fmt.Sprintf("%d", self)), nil
3444}
3445
3446const (
3447 // Identifiers from group ofp_table_config
3448 OFPTCDeprecatedMask = 3 // OFPTC_DEPRECATED_MASK
3449 OFPTCEviction = 4 // OFPTC_EVICTION
3450 OFPTCVacancyEvents = 8 // OFPTC_VACANCY_EVENTS
3451)
3452
3453type TableConfig uint32
3454
3455func (self TableConfig) MarshalJSON() ([]byte, error) {
3456 var flags []string
3457 if self&OFPTCDeprecatedMask == OFPTCDeprecatedMask {
3458 flags = append(flags, "\"DeprecatedMask\": true")
3459 }
3460 if self&OFPTCEviction == OFPTCEviction {
3461 flags = append(flags, "\"Eviction\": true")
3462 }
3463 if self&OFPTCVacancyEvents == OFPTCVacancyEvents {
3464 flags = append(flags, "\"VacancyEvents\": true")
3465 }
3466 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3467}
3468
3469const (
3470 // Identifiers from group ofp_table_feature_flag
3471 OFPTFFIngressTable = 1 // OFPTFF_INGRESS_TABLE
3472 OFPTFFEgressTable = 2 // OFPTFF_EGRESS_TABLE
3473 OFPTFFFirstEgress = 16 // OFPTFF_FIRST_EGRESS
3474)
3475
3476type TableFeatureFlag uint32
3477
3478func (self TableFeatureFlag) MarshalJSON() ([]byte, error) {
3479 var flags []string
3480 if self&OFPTFFIngressTable == OFPTFFIngressTable {
3481 flags = append(flags, "\"IngressTable\": true")
3482 }
3483 if self&OFPTFFEgressTable == OFPTFFEgressTable {
3484 flags = append(flags, "\"EgressTable\": true")
3485 }
3486 if self&OFPTFFFirstEgress == OFPTFFFirstEgress {
3487 flags = append(flags, "\"FirstEgress\": true")
3488 }
3489 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3490}
3491
3492const (
3493 // Identifiers from group ofp_table_feature_prop_type
3494 OFPTFPTInstructions = 0 // OFPTFPT_INSTRUCTIONS
3495 OFPTFPTInstructionsMiss = 1 // OFPTFPT_INSTRUCTIONS_MISS
3496 OFPTFPTNextTables = 2 // OFPTFPT_NEXT_TABLES
3497 OFPTFPTNextTablesMiss = 3 // OFPTFPT_NEXT_TABLES_MISS
3498 OFPTFPTWriteActions = 4 // OFPTFPT_WRITE_ACTIONS
3499 OFPTFPTWriteActionsMiss = 5 // OFPTFPT_WRITE_ACTIONS_MISS
3500 OFPTFPTApplyActions = 6 // OFPTFPT_APPLY_ACTIONS
3501 OFPTFPTApplyActionsMiss = 7 // OFPTFPT_APPLY_ACTIONS_MISS
3502 OFPTFPTMatch = 8 // OFPTFPT_MATCH
3503 OFPTFPTWildcards = 10 // OFPTFPT_WILDCARDS
3504 OFPTFPTWriteSetfield = 12 // OFPTFPT_WRITE_SETFIELD
3505 OFPTFPTWriteSetfieldMiss = 13 // OFPTFPT_WRITE_SETFIELD_MISS
3506 OFPTFPTApplySetfield = 14 // OFPTFPT_APPLY_SETFIELD
3507 OFPTFPTApplySetfieldMiss = 15 // OFPTFPT_APPLY_SETFIELD_MISS
3508 OFPTFPTTableSyncFrom = 16 // OFPTFPT_TABLE_SYNC_FROM
3509 OFPTFPTWriteCopyfield = 18 // OFPTFPT_WRITE_COPYFIELD
3510 OFPTFPTWriteCopyfieldMiss = 19 // OFPTFPT_WRITE_COPYFIELD_MISS
3511 OFPTFPTApplyCopyfield = 20 // OFPTFPT_APPLY_COPYFIELD
3512 OFPTFPTApplyCopyfieldMiss = 21 // OFPTFPT_APPLY_COPYFIELD_MISS
3513 OFPTFPTPacketTypes = 22 // OFPTFPT_PACKET_TYPES
3514 OFPTFPTExperimenter = 65534 // OFPTFPT_EXPERIMENTER
3515 OFPTFPTExperimenterMiss = 65535 // OFPTFPT_EXPERIMENTER_MISS
3516)
3517
3518type TableFeaturePropType uint16
3519
3520func (self TableFeaturePropType) MarshalJSON() ([]byte, error) {
3521 return []byte(fmt.Sprintf("%d", self)), nil
3522}
3523
3524const (
3525 // Identifiers from group ofp_table_features_command
3526 OFPTFCReplace = 0 // OFPTFC_REPLACE
3527 OFPTFCModify = 1 // OFPTFC_MODIFY
3528 OFPTFCEnable = 2 // OFPTFC_ENABLE
3529 OFPTFCDisable = 3 // OFPTFC_DISABLE
3530)
3531
3532type TableFeaturesCommand uint8
3533
3534func (self TableFeaturesCommand) MarshalJSON() ([]byte, error) {
3535 return []byte(fmt.Sprintf("%d", self)), nil
3536}
3537
3538const (
3539 // Identifiers from group ofp_table_features_failed_code
3540 OFPTFFCBadTable = 0 // OFPTFFC_BAD_TABLE
3541 OFPTFFCBadMetadata = 1 // OFPTFFC_BAD_METADATA
3542 OFPTFFCEperm = 5 // OFPTFFC_EPERM
3543 OFPTFFCBadCapa = 6 // OFPTFFC_BAD_CAPA
3544 OFPTFFCBadMaxEnt = 7 // OFPTFFC_BAD_MAX_ENT
3545 OFPTFFCBadFeatures = 8 // OFPTFFC_BAD_FEATURES
3546 OFPTFFCBadCommand = 9 // OFPTFFC_BAD_COMMAND
3547 OFPTFFCTooMany = 10 // OFPTFFC_TOO_MANY
3548)
3549
3550type TableFeaturesFailedCode uint16
3551
3552func (self TableFeaturesFailedCode) MarshalJSON() ([]byte, error) {
3553 return []byte(fmt.Sprintf("%d", self)), nil
3554}
3555
3556const (
3557 // Identifiers from group ofp_table_mod_failed_code
3558 OFPTMFCBadTable = 0 // OFPTMFC_BAD_TABLE
3559 OFPTMFCBadConfig = 1 // OFPTMFC_BAD_CONFIG
3560 OFPTMFCEperm = 2 // OFPTMFC_EPERM
3561)
3562
3563type TableModFailedCode uint16
3564
3565func (self TableModFailedCode) MarshalJSON() ([]byte, error) {
3566 return []byte(fmt.Sprintf("%d", self)), nil
3567}
3568
3569const (
3570 // Identifiers from group ofp_table_mod_prop_eviction_flag
3571 OFPTMPEFOther = 1 // OFPTMPEF_OTHER
3572 OFPTMPEFImportance = 2 // OFPTMPEF_IMPORTANCE
3573 OFPTMPEFLifetime = 4 // OFPTMPEF_LIFETIME
3574)
3575
3576type TableModPropEvictionFlag uint32
3577
3578func (self TableModPropEvictionFlag) MarshalJSON() ([]byte, error) {
3579 var flags []string
3580 if self&OFPTMPEFOther == OFPTMPEFOther {
3581 flags = append(flags, "\"Other\": true")
3582 }
3583 if self&OFPTMPEFImportance == OFPTMPEFImportance {
3584 flags = append(flags, "\"Importance\": true")
3585 }
3586 if self&OFPTMPEFLifetime == OFPTMPEFLifetime {
3587 flags = append(flags, "\"Lifetime\": true")
3588 }
3589 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3590}
3591
3592const (
3593 // Identifiers from group ofp_table_mod_prop_type
3594 OFPTMPTEviction = 2 // OFPTMPT_EVICTION
3595 OFPTMPTVacancy = 3 // OFPTMPT_VACANCY
3596 OFPTMPTExperimenter = 65535 // OFPTMPT_EXPERIMENTER
3597)
3598
3599const (
3600 // Identifiers from group ofp_table_reason
3601 OFPTRVacancyDown = 3 // OFPTR_VACANCY_DOWN
3602 OFPTRVacancyUp = 4 // OFPTR_VACANCY_UP
3603)
3604
3605type TableReason uint8
3606
3607func (self TableReason) MarshalJSON() ([]byte, error) {
3608 return []byte(fmt.Sprintf("%d", self)), nil
3609}
3610
3611const (
3612 // Identifiers from group ofp_tcp_flags
3613 TcpFlagCwr = 128 // TCP_FLAG_CWR
3614 TcpFlagEce = 64 // TCP_FLAG_ECE
3615 TcpFlagUrg = 32 // TCP_FLAG_URG
3616 TcpFlagAck = 16 // TCP_FLAG_ACK
3617 TcpFlagPsh = 8 // TCP_FLAG_PSH
3618 TcpFlagRst = 4 // TCP_FLAG_RST
3619 TcpFlagSyn = 2 // TCP_FLAG_SYN
3620 TcpFlagFin = 1 // TCP_FLAG_FIN
3621)
3622
3623type TcpFlags uint16
3624
3625func (self TcpFlags) MarshalJSON() ([]byte, error) {
3626 var flags []string
3627 if self&TcpFlagCwr == TcpFlagCwr {
3628 flags = append(flags, "\"Cwr\": true")
3629 }
3630 if self&TcpFlagEce == TcpFlagEce {
3631 flags = append(flags, "\"Ece\": true")
3632 }
3633 if self&TcpFlagUrg == TcpFlagUrg {
3634 flags = append(flags, "\"Urg\": true")
3635 }
3636 if self&TcpFlagAck == TcpFlagAck {
3637 flags = append(flags, "\"Ack\": true")
3638 }
3639 if self&TcpFlagPsh == TcpFlagPsh {
3640 flags = append(flags, "\"Psh\": true")
3641 }
3642 if self&TcpFlagRst == TcpFlagRst {
3643 flags = append(flags, "\"Rst\": true")
3644 }
3645 if self&TcpFlagSyn == TcpFlagSyn {
3646 flags = append(flags, "\"Syn\": true")
3647 }
3648 if self&TcpFlagFin == TcpFlagFin {
3649 flags = append(flags, "\"Fin\": true")
3650 }
3651 return []byte("{" + strings.Join(flags, ", ") + "}"), nil
3652}
3653
3654const (
3655 // Identifiers from group ofp_type
3656 OFPTHello = 0 // OFPT_HELLO
3657 OFPTError = 1 // OFPT_ERROR
3658 OFPTEchoRequest = 2 // OFPT_ECHO_REQUEST
3659 OFPTEchoReply = 3 // OFPT_ECHO_REPLY
3660 OFPTExperimenter = 4 // OFPT_EXPERIMENTER
3661 OFPTFeaturesRequest = 5 // OFPT_FEATURES_REQUEST
3662 OFPTFeaturesReply = 6 // OFPT_FEATURES_REPLY
3663 OFPTGetConfigRequest = 7 // OFPT_GET_CONFIG_REQUEST
3664 OFPTGetConfigReply = 8 // OFPT_GET_CONFIG_REPLY
3665 OFPTSetConfig = 9 // OFPT_SET_CONFIG
3666 OFPTPacketIn = 10 // OFPT_PACKET_IN
3667 OFPTFlowRemoved = 11 // OFPT_FLOW_REMOVED
3668 OFPTPortStatus = 12 // OFPT_PORT_STATUS
3669 OFPTPacketOut = 13 // OFPT_PACKET_OUT
3670 OFPTFlowMod = 14 // OFPT_FLOW_MOD
3671 OFPTGroupMod = 15 // OFPT_GROUP_MOD
3672 OFPTPortMod = 16 // OFPT_PORT_MOD
3673 OFPTTableMod = 17 // OFPT_TABLE_MOD
3674 OFPTStatsRequest = 18 // OFPT_STATS_REQUEST
3675 OFPTStatsReply = 19 // OFPT_STATS_REPLY
3676 OFPTBarrierRequest = 20 // OFPT_BARRIER_REQUEST
3677 OFPTBarrierReply = 21 // OFPT_BARRIER_REPLY
3678 OFPTRoleRequest = 24 // OFPT_ROLE_REQUEST
3679 OFPTRoleReply = 25 // OFPT_ROLE_REPLY
3680 OFPTGetAsyncRequest = 26 // OFPT_GET_ASYNC_REQUEST
3681 OFPTGetAsyncReply = 27 // OFPT_GET_ASYNC_REPLY
3682 OFPTSetAsync = 28 // OFPT_SET_ASYNC
3683 OFPTMeterMod = 29 // OFPT_METER_MOD
3684 OFPTRoleStatus = 30 // OFPT_ROLE_STATUS
3685 OFPTTableStatus = 31 // OFPT_TABLE_STATUS
3686 OFPTRequestforward = 32 // OFPT_REQUESTFORWARD
3687 OFPTBundleControl = 33 // OFPT_BUNDLE_CONTROL
3688 OFPTBundleAddMessage = 34 // OFPT_BUNDLE_ADD_MESSAGE
3689 OFPTControllerStatus = 35 // OFPT_CONTROLLER_STATUS
3690)
3691
3692type Type uint8
3693
3694func (self Type) MarshalJSON() ([]byte, error) {
3695 return []byte(fmt.Sprintf("\"%s\"", self)), nil
3696}
3697
3698func (self Type) String() string {
3699 switch self {
3700 case OFPTHello:
3701 return "hello"
3702 case OFPTError:
3703 return "error"
3704 case OFPTEchoRequest:
3705 return "echo_request"
3706 case OFPTEchoReply:
3707 return "echo_reply"
3708 case OFPTExperimenter:
3709 return "experimenter"
3710 case OFPTFeaturesRequest:
3711 return "features_request"
3712 case OFPTFeaturesReply:
3713 return "features_reply"
3714 case OFPTGetConfigRequest:
3715 return "get_config_request"
3716 case OFPTGetConfigReply:
3717 return "get_config_reply"
3718 case OFPTSetConfig:
3719 return "set_config"
3720 case OFPTPacketIn:
3721 return "packet_in"
3722 case OFPTFlowRemoved:
3723 return "flow_removed"
3724 case OFPTPortStatus:
3725 return "port_status"
3726 case OFPTPacketOut:
3727 return "packet_out"
3728 case OFPTFlowMod:
3729 return "flow_mod"
3730 case OFPTGroupMod:
3731 return "group_mod"
3732 case OFPTPortMod:
3733 return "port_mod"
3734 case OFPTTableMod:
3735 return "table_mod"
3736 case OFPTStatsRequest:
3737 return "stats_request"
3738 case OFPTStatsReply:
3739 return "stats_reply"
3740 case OFPTBarrierRequest:
3741 return "barrier_request"
3742 case OFPTBarrierReply:
3743 return "barrier_reply"
3744 case OFPTRoleRequest:
3745 return "role_request"
3746 case OFPTRoleReply:
3747 return "role_reply"
3748 case OFPTGetAsyncRequest:
3749 return "get_async_request"
3750 case OFPTGetAsyncReply:
3751 return "get_async_reply"
3752 case OFPTSetAsync:
3753 return "set_async"
3754 case OFPTMeterMod:
3755 return "meter_mod"
3756 case OFPTRoleStatus:
3757 return "role_status"
3758 case OFPTTableStatus:
3759 return "table_status"
3760 case OFPTRequestforward:
3761 return "requestforward"
3762 case OFPTBundleControl:
3763 return "bundle_control"
3764 case OFPTBundleAddMessage:
3765 return "bundle_add_message"
3766 case OFPTControllerStatus:
3767 return "controller_status"
3768 default:
3769 return fmt.Sprintf("%d", self)
3770 }
3771}
3772
3773const (
3774 // Identifiers from group ofp_vlan_id
3775 OFPVIDNone = 0 // OFPVID_NONE
3776 OFPVIDPresent = 4096 // OFPVID_PRESENT
3777)
3778
3779type VlanId uint16
3780
3781func (self VlanId) MarshalJSON() ([]byte, error) {
3782 return []byte(fmt.Sprintf("%d", self)), nil
3783}