blob: 3e80b96202b10f85d59ea48e7d83a4f1c82650de [file] [log] [blame]
Rich Lanec2ee4b82013-04-24 17:12:38 -07001# Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
2# Copyright (c) 2011, 2012 Open Networking Foundation
3# Copyright (c) 2012, 2013 Big Switch Networks, Inc.
Dan Talaycof6202252013-07-02 01:00:29 -07004# See the file LICENSE.pyloxi which should have been included in the source distribution
Rich Lanec2ee4b82013-04-24 17:12:38 -07005
6# Automatically generated by LOXI from template const.py
7# Do not modify
8
9OFP_VERSION = 4
10
11# Identifiers from group macro_definitions
Rich Lanec2ee4b82013-04-24 17:12:38 -070012OFP_MAX_TABLE_NAME_LEN = 32
Dan Talaycof6202252013-07-02 01:00:29 -070013OFP_MAX_PORT_NAME_LEN = 16
Rich Lane6f4978c2013-10-20 21:33:52 -070014OFP_TCP_PORT = 6653
15OFP_SSL_PORT = 6653
Dan Talaycof6202252013-07-02 01:00:29 -070016OFP_ETH_ALEN = 6
17OFP_DEFAULT_MISS_SEND_LEN = 128
18OFP_VLAN_NONE = 0
19OFP_FLOW_PERMANENT = 0
Rich Lanec2ee4b82013-04-24 17:12:38 -070020OFP_DEFAULT_PRIORITY = 32768
Rich Lanec2ee4b82013-04-24 17:12:38 -070021OFP_NO_BUFFER = 4294967295
Dan Talaycof6202252013-07-02 01:00:29 -070022DESC_STR_LEN = 256
23SERIAL_NUM_LEN = 32
24OFPQ_ALL = 4294967295
25OFPQ_MAX_RATE_UNCFG = 65535
26OFPQ_MIN_RATE_UNCFG = 65535
Rich Lanec2ee4b82013-04-24 17:12:38 -070027
Rich Lane7b0f2012013-11-22 14:15:26 -080028# Identifiers from group of_bsn_lacp_convergence_status_t
29LACP_SUCCESS = 0
30LACP_TIMEDOUT = 1
31LACP_OUT_OF_SYNC = 2
32
33of_bsn_lacp_convergence_status_t_map = {
34 0: 'LACP_SUCCESS',
35 1: 'LACP_TIMEDOUT',
36 2: 'LACP_OUT_OF_SYNC',
37}
38
Rich Lane6f4978c2013-10-20 21:33:52 -070039# Identifiers from group of_bsn_pdu_slot_num_t
40BSN_PDU_SLOT_NUM_ANY = 255
41
42of_bsn_pdu_slot_num_t_map = {
43 255: 'BSN_PDU_SLOT_NUM_ANY',
44}
45
Rich Lane7dcdf022013-12-11 14:45:27 -080046# Identifiers from group of_bsn_vlan_counter_t
47OFP_BSN_VLAN_COUNTER_RX_BYTES = 0
48OFP_BSN_VLAN_COUNTER_RX_PACKETS = 1
49OFP_BSN_VLAN_COUNTER_TX_BYTES = 2
50OFP_BSN_VLAN_COUNTER_TX_PACKETS = 3
51
52of_bsn_vlan_counter_t_map = {
53 0: 'OFP_BSN_VLAN_COUNTER_RX_BYTES',
54 1: 'OFP_BSN_VLAN_COUNTER_RX_PACKETS',
55 2: 'OFP_BSN_VLAN_COUNTER_TX_BYTES',
56 3: 'OFP_BSN_VLAN_COUNTER_TX_PACKETS',
57}
58
Rich Lanec2ee4b82013-04-24 17:12:38 -070059# Identifiers from group ofp_action_type
60OFPAT_OUTPUT = 0
61OFPAT_COPY_TTL_OUT = 11
62OFPAT_COPY_TTL_IN = 12
63OFPAT_SET_MPLS_TTL = 15
64OFPAT_DEC_MPLS_TTL = 16
65OFPAT_PUSH_VLAN = 17
66OFPAT_POP_VLAN = 18
67OFPAT_PUSH_MPLS = 19
68OFPAT_POP_MPLS = 20
69OFPAT_SET_QUEUE = 21
70OFPAT_GROUP = 22
71OFPAT_SET_NW_TTL = 23
72OFPAT_DEC_NW_TTL = 24
73OFPAT_SET_FIELD = 25
74OFPAT_PUSH_PBB = 26
75OFPAT_POP_PBB = 27
76OFPAT_EXPERIMENTER = 65535
77
78ofp_action_type_map = {
79 0: 'OFPAT_OUTPUT',
80 11: 'OFPAT_COPY_TTL_OUT',
81 12: 'OFPAT_COPY_TTL_IN',
82 15: 'OFPAT_SET_MPLS_TTL',
83 16: 'OFPAT_DEC_MPLS_TTL',
84 17: 'OFPAT_PUSH_VLAN',
85 18: 'OFPAT_POP_VLAN',
86 19: 'OFPAT_PUSH_MPLS',
87 20: 'OFPAT_POP_MPLS',
88 21: 'OFPAT_SET_QUEUE',
89 22: 'OFPAT_GROUP',
90 23: 'OFPAT_SET_NW_TTL',
91 24: 'OFPAT_DEC_NW_TTL',
92 25: 'OFPAT_SET_FIELD',
93 26: 'OFPAT_PUSH_PBB',
94 27: 'OFPAT_POP_PBB',
95 65535: 'OFPAT_EXPERIMENTER',
96}
97
98# Identifiers from group ofp_bad_action_code
99OFPBAC_BAD_TYPE = 0
100OFPBAC_BAD_LEN = 1
101OFPBAC_BAD_EXPERIMENTER = 2
Rich Lane6f4978c2013-10-20 21:33:52 -0700102OFPBAC_BAD_EXPERIMENTER_TYPE = 3
Rich Lanec2ee4b82013-04-24 17:12:38 -0700103OFPBAC_BAD_OUT_PORT = 4
104OFPBAC_BAD_ARGUMENT = 5
105OFPBAC_EPERM = 6
106OFPBAC_TOO_MANY = 7
107OFPBAC_BAD_QUEUE = 8
108OFPBAC_BAD_OUT_GROUP = 9
109OFPBAC_MATCH_INCONSISTENT = 10
110OFPBAC_UNSUPPORTED_ORDER = 11
111OFPBAC_BAD_TAG = 12
112OFPBAC_BAD_SET_TYPE = 13
113OFPBAC_BAD_SET_LEN = 14
114OFPBAC_BAD_SET_ARGUMENT = 15
115
116ofp_bad_action_code_map = {
117 0: 'OFPBAC_BAD_TYPE',
118 1: 'OFPBAC_BAD_LEN',
119 2: 'OFPBAC_BAD_EXPERIMENTER',
Rich Lane6f4978c2013-10-20 21:33:52 -0700120 3: 'OFPBAC_BAD_EXPERIMENTER_TYPE',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700121 4: 'OFPBAC_BAD_OUT_PORT',
122 5: 'OFPBAC_BAD_ARGUMENT',
123 6: 'OFPBAC_EPERM',
124 7: 'OFPBAC_TOO_MANY',
125 8: 'OFPBAC_BAD_QUEUE',
126 9: 'OFPBAC_BAD_OUT_GROUP',
127 10: 'OFPBAC_MATCH_INCONSISTENT',
128 11: 'OFPBAC_UNSUPPORTED_ORDER',
129 12: 'OFPBAC_BAD_TAG',
130 13: 'OFPBAC_BAD_SET_TYPE',
131 14: 'OFPBAC_BAD_SET_LEN',
132 15: 'OFPBAC_BAD_SET_ARGUMENT',
133}
134
135# Identifiers from group ofp_bad_instruction_code
136OFPBIC_UNKNOWN_INST = 0
137OFPBIC_UNSUP_INST = 1
138OFPBIC_BAD_TABLE_ID = 2
139OFPBIC_UNSUP_METADATA = 3
140OFPBIC_UNSUP_METADATA_MASK = 4
141OFPBIC_BAD_EXPERIMENTER = 5
Rich Lane6f4978c2013-10-20 21:33:52 -0700142OFPBIC_BAD_EXPERIMENTER_TYPE = 6
Rich Lanec2ee4b82013-04-24 17:12:38 -0700143OFPBIC_BAD_LEN = 7
144OFPBIC_EPERM = 8
145
146ofp_bad_instruction_code_map = {
147 0: 'OFPBIC_UNKNOWN_INST',
148 1: 'OFPBIC_UNSUP_INST',
149 2: 'OFPBIC_BAD_TABLE_ID',
150 3: 'OFPBIC_UNSUP_METADATA',
151 4: 'OFPBIC_UNSUP_METADATA_MASK',
152 5: 'OFPBIC_BAD_EXPERIMENTER',
Rich Lane6f4978c2013-10-20 21:33:52 -0700153 6: 'OFPBIC_BAD_EXPERIMENTER_TYPE',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700154 7: 'OFPBIC_BAD_LEN',
155 8: 'OFPBIC_EPERM',
156}
157
158# Identifiers from group ofp_bad_match_code
159OFPBMC_BAD_TYPE = 0
160OFPBMC_BAD_LEN = 1
161OFPBMC_BAD_TAG = 2
162OFPBMC_BAD_DL_ADDR_MASK = 3
163OFPBMC_BAD_NW_ADDR_MASK = 4
164OFPBMC_BAD_WILDCARDS = 5
165OFPBMC_BAD_FIELD = 6
166OFPBMC_BAD_VALUE = 7
167OFPBMC_BAD_MASK = 8
168OFPBMC_BAD_PREREQ = 9
169OFPBMC_DUP_FIELD = 10
170OFPBMC_EPERM = 11
171
172ofp_bad_match_code_map = {
173 0: 'OFPBMC_BAD_TYPE',
174 1: 'OFPBMC_BAD_LEN',
175 2: 'OFPBMC_BAD_TAG',
176 3: 'OFPBMC_BAD_DL_ADDR_MASK',
177 4: 'OFPBMC_BAD_NW_ADDR_MASK',
178 5: 'OFPBMC_BAD_WILDCARDS',
179 6: 'OFPBMC_BAD_FIELD',
180 7: 'OFPBMC_BAD_VALUE',
181 8: 'OFPBMC_BAD_MASK',
182 9: 'OFPBMC_BAD_PREREQ',
183 10: 'OFPBMC_DUP_FIELD',
184 11: 'OFPBMC_EPERM',
185}
186
187# Identifiers from group ofp_bad_request_code
188OFPBRC_BAD_VERSION = 0
189OFPBRC_BAD_TYPE = 1
Rich Lane6f4978c2013-10-20 21:33:52 -0700190OFPBRC_BAD_STAT = 2
Rich Lanec2ee4b82013-04-24 17:12:38 -0700191OFPBRC_BAD_EXPERIMENTER = 3
Rich Lane6f4978c2013-10-20 21:33:52 -0700192OFPBRC_BAD_EXPERIMENTER_TYPE = 4
Rich Lanec2ee4b82013-04-24 17:12:38 -0700193OFPBRC_EPERM = 5
194OFPBRC_BAD_LEN = 6
195OFPBRC_BUFFER_EMPTY = 7
196OFPBRC_BUFFER_UNKNOWN = 8
197OFPBRC_BAD_TABLE_ID = 9
198OFPBRC_IS_SLAVE = 10
199OFPBRC_BAD_PORT = 11
200OFPBRC_BAD_PACKET = 12
201OFPBRC_MULTIPART_BUFFER_OVERFLOW = 13
202
203ofp_bad_request_code_map = {
204 0: 'OFPBRC_BAD_VERSION',
205 1: 'OFPBRC_BAD_TYPE',
Rich Lane6f4978c2013-10-20 21:33:52 -0700206 2: 'OFPBRC_BAD_STAT',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700207 3: 'OFPBRC_BAD_EXPERIMENTER',
Rich Lane6f4978c2013-10-20 21:33:52 -0700208 4: 'OFPBRC_BAD_EXPERIMENTER_TYPE',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700209 5: 'OFPBRC_EPERM',
210 6: 'OFPBRC_BAD_LEN',
211 7: 'OFPBRC_BUFFER_EMPTY',
212 8: 'OFPBRC_BUFFER_UNKNOWN',
213 9: 'OFPBRC_BAD_TABLE_ID',
214 10: 'OFPBRC_IS_SLAVE',
215 11: 'OFPBRC_BAD_PORT',
216 12: 'OFPBRC_BAD_PACKET',
217 13: 'OFPBRC_MULTIPART_BUFFER_OVERFLOW',
218}
219
Rich Lane5454b682014-01-14 17:07:36 -0800220# Identifiers from group ofp_bsn_controller_connection_state
221OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED = 0
222OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED = 1
223
224ofp_bsn_controller_connection_state_map = {
225 0: 'OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED',
226 1: 'OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED',
227}
228
229# Identifiers from group ofp_bsn_controller_role_reason
230OFP_BSN_CONTROLLER_ROLE_REASON_MASTER_REQUEST = 0
231OFP_BSN_CONTROLLER_ROLE_REASON_CONFIG = 1
232OFP_BSN_CONTROLLER_ROLE_REASON_EXPERIMENTER = 2
233
234ofp_bsn_controller_role_reason_map = {
235 0: 'OFP_BSN_CONTROLLER_ROLE_REASON_MASTER_REQUEST',
236 1: 'OFP_BSN_CONTROLLER_ROLE_REASON_CONFIG',
237 2: 'OFP_BSN_CONTROLLER_ROLE_REASON_EXPERIMENTER',
238}
239
Rich Lane7dcdf022013-12-11 14:45:27 -0800240# Identifiers from group ofp_bsn_port_counter
241OFP_BSN_PORT_COUNTER_RX_BYTES = 0
242OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST = 1
243OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST = 2
244OFP_BSN_PORT_COUNTER_RX_PACKETS_MULTICAST = 3
245OFP_BSN_PORT_COUNTER_RX_DROPPED = 4
246OFP_BSN_PORT_COUNTER_RX_ERRORS = 5
247OFP_BSN_PORT_COUNTER_TX_BYTES = 6
248OFP_BSN_PORT_COUNTER_TX_PACKETS_UNICAST = 7
249OFP_BSN_PORT_COUNTER_TX_PACKETS_BROADCAST = 8
250OFP_BSN_PORT_COUNTER_TX_PACKETS_MULTICAST = 9
251OFP_BSN_PORT_COUNTER_TX_DROPPED = 10
252OFP_BSN_PORT_COUNTER_TX_ERRORS = 11
253
254ofp_bsn_port_counter_map = {
255 0: 'OFP_BSN_PORT_COUNTER_RX_BYTES',
256 1: 'OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST',
257 2: 'OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST',
258 3: 'OFP_BSN_PORT_COUNTER_RX_PACKETS_MULTICAST',
259 4: 'OFP_BSN_PORT_COUNTER_RX_DROPPED',
260 5: 'OFP_BSN_PORT_COUNTER_RX_ERRORS',
261 6: 'OFP_BSN_PORT_COUNTER_TX_BYTES',
262 7: 'OFP_BSN_PORT_COUNTER_TX_PACKETS_UNICAST',
263 8: 'OFP_BSN_PORT_COUNTER_TX_PACKETS_BROADCAST',
264 9: 'OFP_BSN_PORT_COUNTER_TX_PACKETS_MULTICAST',
265 10: 'OFP_BSN_PORT_COUNTER_TX_DROPPED',
266 11: 'OFP_BSN_PORT_COUNTER_TX_ERRORS',
267}
268
Dan Talaycof6202252013-07-02 01:00:29 -0700269# Identifiers from group ofp_bsn_vport_q_in_q_untagged
270OF_BSN_VPORT_Q_IN_Q_UNTAGGED = 65535
271
272ofp_bsn_vport_q_in_q_untagged_map = {
273 65535: 'OF_BSN_VPORT_Q_IN_Q_UNTAGGED',
274}
275
Rich Laned53156a2013-08-05 17:17:33 -0700276# Identifiers from group ofp_bsn_vport_status
277OF_BSN_VPORT_STATUS_OK = 0
278OF_BSN_VPORT_STATUS_FAILED = 1
279
280ofp_bsn_vport_status_map = {
281 0: 'OF_BSN_VPORT_STATUS_OK',
282 1: 'OF_BSN_VPORT_STATUS_FAILED',
283}
284
Rich Lanec2ee4b82013-04-24 17:12:38 -0700285# Identifiers from group ofp_capabilities
286OFPC_FLOW_STATS = 1
287OFPC_TABLE_STATS = 2
288OFPC_PORT_STATS = 4
289OFPC_GROUP_STATS = 8
290OFPC_IP_REASM = 32
291OFPC_QUEUE_STATS = 64
292OFPC_PORT_BLOCKED = 256
293
294ofp_capabilities_map = {
295 1: 'OFPC_FLOW_STATS',
296 2: 'OFPC_TABLE_STATS',
297 4: 'OFPC_PORT_STATS',
298 8: 'OFPC_GROUP_STATS',
299 32: 'OFPC_IP_REASM',
300 64: 'OFPC_QUEUE_STATS',
301 256: 'OFPC_PORT_BLOCKED',
302}
303
304# Identifiers from group ofp_config_flags
305OFPC_FRAG_NORMAL = 0
306OFPC_FRAG_DROP = 1
307OFPC_FRAG_REASM = 2
308OFPC_FRAG_MASK = 3
309
310ofp_config_flags_map = {
311 0: 'OFPC_FRAG_NORMAL',
312 1: 'OFPC_FRAG_DROP',
313 2: 'OFPC_FRAG_REASM',
314 3: 'OFPC_FRAG_MASK',
315}
316
317# Identifiers from group ofp_controller_max_len
318OFPCML_MAX = 65509
319OFPCML_NO_BUFFER = 65535
320
321ofp_controller_max_len_map = {
322 65509: 'OFPCML_MAX',
323 65535: 'OFPCML_NO_BUFFER',
324}
325
326# Identifiers from group ofp_controller_role
327OFPCR_ROLE_NOCHANGE = 0
328OFPCR_ROLE_EQUAL = 1
329OFPCR_ROLE_MASTER = 2
330OFPCR_ROLE_SLAVE = 3
331
332ofp_controller_role_map = {
333 0: 'OFPCR_ROLE_NOCHANGE',
334 1: 'OFPCR_ROLE_EQUAL',
335 2: 'OFPCR_ROLE_MASTER',
336 3: 'OFPCR_ROLE_SLAVE',
337}
338
339# Identifiers from group ofp_error_type
340OFPET_HELLO_FAILED = 0
341OFPET_BAD_REQUEST = 1
342OFPET_BAD_ACTION = 2
343OFPET_BAD_INSTRUCTION = 3
344OFPET_BAD_MATCH = 4
345OFPET_FLOW_MOD_FAILED = 5
346OFPET_GROUP_MOD_FAILED = 6
347OFPET_PORT_MOD_FAILED = 7
348OFPET_TABLE_MOD_FAILED = 8
349OFPET_QUEUE_OP_FAILED = 9
350OFPET_SWITCH_CONFIG_FAILED = 10
351OFPET_ROLE_REQUEST_FAILED = 11
352OFPET_METER_MOD_FAILED = 12
353OFPET_TABLE_FEATURES_FAILED = 13
354OFPET_EXPERIMENTER = 65535
355
356ofp_error_type_map = {
357 0: 'OFPET_HELLO_FAILED',
358 1: 'OFPET_BAD_REQUEST',
359 2: 'OFPET_BAD_ACTION',
360 3: 'OFPET_BAD_INSTRUCTION',
361 4: 'OFPET_BAD_MATCH',
362 5: 'OFPET_FLOW_MOD_FAILED',
363 6: 'OFPET_GROUP_MOD_FAILED',
364 7: 'OFPET_PORT_MOD_FAILED',
365 8: 'OFPET_TABLE_MOD_FAILED',
366 9: 'OFPET_QUEUE_OP_FAILED',
367 10: 'OFPET_SWITCH_CONFIG_FAILED',
368 11: 'OFPET_ROLE_REQUEST_FAILED',
369 12: 'OFPET_METER_MOD_FAILED',
370 13: 'OFPET_TABLE_FEATURES_FAILED',
371 65535: 'OFPET_EXPERIMENTER',
372}
373
374# Identifiers from group ofp_flow_mod_command
375OFPFC_ADD = 0
376OFPFC_MODIFY = 1
377OFPFC_MODIFY_STRICT = 2
378OFPFC_DELETE = 3
379OFPFC_DELETE_STRICT = 4
380
381ofp_flow_mod_command_map = {
382 0: 'OFPFC_ADD',
383 1: 'OFPFC_MODIFY',
384 2: 'OFPFC_MODIFY_STRICT',
385 3: 'OFPFC_DELETE',
386 4: 'OFPFC_DELETE_STRICT',
387}
388
389# Identifiers from group ofp_flow_mod_failed_code
390OFPFMFC_UNKNOWN = 0
391OFPFMFC_TABLE_FULL = 1
392OFPFMFC_BAD_TABLE_ID = 2
393OFPFMFC_OVERLAP = 3
394OFPFMFC_EPERM = 4
395OFPFMFC_BAD_TIMEOUT = 5
396OFPFMFC_BAD_COMMAND = 6
397OFPFMFC_BAD_FLAGS = 7
398
399ofp_flow_mod_failed_code_map = {
400 0: 'OFPFMFC_UNKNOWN',
401 1: 'OFPFMFC_TABLE_FULL',
402 2: 'OFPFMFC_BAD_TABLE_ID',
403 3: 'OFPFMFC_OVERLAP',
404 4: 'OFPFMFC_EPERM',
405 5: 'OFPFMFC_BAD_TIMEOUT',
406 6: 'OFPFMFC_BAD_COMMAND',
407 7: 'OFPFMFC_BAD_FLAGS',
408}
409
410# Identifiers from group ofp_flow_mod_flags
411OFPFF_SEND_FLOW_REM = 1
412OFPFF_CHECK_OVERLAP = 2
413OFPFF_RESET_COUNTS = 4
414OFPFF_NO_PKT_COUNTS = 8
415OFPFF_NO_BYT_COUNTS = 16
Rich Lane6f4978c2013-10-20 21:33:52 -0700416OFPFF_BSN_SEND_IDLE = 128
Rich Lanec2ee4b82013-04-24 17:12:38 -0700417
418ofp_flow_mod_flags_map = {
419 1: 'OFPFF_SEND_FLOW_REM',
420 2: 'OFPFF_CHECK_OVERLAP',
421 4: 'OFPFF_RESET_COUNTS',
422 8: 'OFPFF_NO_PKT_COUNTS',
423 16: 'OFPFF_NO_BYT_COUNTS',
Rich Lane6f4978c2013-10-20 21:33:52 -0700424 128: 'OFPFF_BSN_SEND_IDLE',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700425}
426
427# Identifiers from group ofp_flow_removed_reason
428OFPRR_IDLE_TIMEOUT = 0
429OFPRR_HARD_TIMEOUT = 1
430OFPRR_DELETE = 2
431OFPRR_GROUP_DELETE = 3
432
433ofp_flow_removed_reason_map = {
434 0: 'OFPRR_IDLE_TIMEOUT',
435 1: 'OFPRR_HARD_TIMEOUT',
436 2: 'OFPRR_DELETE',
437 3: 'OFPRR_GROUP_DELETE',
438}
439
440# Identifiers from group ofp_group
441OFPG_MAX = 4294967040
442OFPG_ALL = 4294967292
443OFPG_ANY = 4294967295
444
445ofp_group_map = {
446 4294967040: 'OFPG_MAX',
447 4294967292: 'OFPG_ALL',
448 4294967295: 'OFPG_ANY',
449}
450
451# Identifiers from group ofp_group_capabilities
452OFPGFC_SELECT_WEIGHT = 1
453OFPGFC_SELECT_LIVENESS = 2
454OFPGFC_CHAINING = 4
455OFPGFC_CHAINING_CHECKS = 8
456
457ofp_group_capabilities_map = {
458 1: 'OFPGFC_SELECT_WEIGHT',
459 2: 'OFPGFC_SELECT_LIVENESS',
460 4: 'OFPGFC_CHAINING',
461 8: 'OFPGFC_CHAINING_CHECKS',
462}
463
464# Identifiers from group ofp_group_mod_command
465OFPGC_ADD = 0
466OFPGC_MODIFY = 1
467OFPGC_DELETE = 2
468
469ofp_group_mod_command_map = {
470 0: 'OFPGC_ADD',
471 1: 'OFPGC_MODIFY',
472 2: 'OFPGC_DELETE',
473}
474
475# Identifiers from group ofp_group_mod_failed_code
476OFPGMFC_GROUP_EXISTS = 0
477OFPGMFC_INVALID_GROUP = 1
478OFPGMFC_WEIGHT_UNSUPPORTED = 2
479OFPGMFC_OUT_OF_GROUPS = 3
480OFPGMFC_OUT_OF_BUCKETS = 4
481OFPGMFC_CHAINING_UNSUPPORTED = 5
482OFPGMFC_WATCH_UNSUPPORTED = 6
483OFPGMFC_LOOP = 7
484OFPGMFC_UNKNOWN_GROUP = 8
485OFPGMFC_CHAINED_GROUP = 9
486OFPGMFC_BAD_TYPE = 10
487OFPGMFC_BAD_COMMAND = 11
488OFPGMFC_BAD_BUCKET = 12
489OFPGMFC_BAD_WATCH = 13
490OFPGMFC_EPERM = 14
491
492ofp_group_mod_failed_code_map = {
493 0: 'OFPGMFC_GROUP_EXISTS',
494 1: 'OFPGMFC_INVALID_GROUP',
495 2: 'OFPGMFC_WEIGHT_UNSUPPORTED',
496 3: 'OFPGMFC_OUT_OF_GROUPS',
497 4: 'OFPGMFC_OUT_OF_BUCKETS',
498 5: 'OFPGMFC_CHAINING_UNSUPPORTED',
499 6: 'OFPGMFC_WATCH_UNSUPPORTED',
500 7: 'OFPGMFC_LOOP',
501 8: 'OFPGMFC_UNKNOWN_GROUP',
502 9: 'OFPGMFC_CHAINED_GROUP',
503 10: 'OFPGMFC_BAD_TYPE',
504 11: 'OFPGMFC_BAD_COMMAND',
505 12: 'OFPGMFC_BAD_BUCKET',
506 13: 'OFPGMFC_BAD_WATCH',
507 14: 'OFPGMFC_EPERM',
508}
509
510# Identifiers from group ofp_group_type
511OFPGT_ALL = 0
512OFPGT_SELECT = 1
513OFPGT_INDIRECT = 2
514OFPGT_FF = 3
515
516ofp_group_type_map = {
517 0: 'OFPGT_ALL',
518 1: 'OFPGT_SELECT',
519 2: 'OFPGT_INDIRECT',
520 3: 'OFPGT_FF',
521}
522
523# Identifiers from group ofp_hello_elem_type
524OFPHET_VERSIONBITMAP = 1
525
526ofp_hello_elem_type_map = {
527 1: 'OFPHET_VERSIONBITMAP',
528}
529
530# Identifiers from group ofp_hello_failed_code
531OFPHFC_INCOMPATIBLE = 0
532OFPHFC_EPERM = 1
533
534ofp_hello_failed_code_map = {
535 0: 'OFPHFC_INCOMPATIBLE',
536 1: 'OFPHFC_EPERM',
537}
538
539# Identifiers from group ofp_instruction_type
540OFPIT_GOTO_TABLE = 1
541OFPIT_WRITE_METADATA = 2
542OFPIT_WRITE_ACTIONS = 3
543OFPIT_APPLY_ACTIONS = 4
544OFPIT_CLEAR_ACTIONS = 5
545OFPIT_METER = 6
546OFPIT_EXPERIMENTER = 65535
547
548ofp_instruction_type_map = {
549 1: 'OFPIT_GOTO_TABLE',
550 2: 'OFPIT_WRITE_METADATA',
551 3: 'OFPIT_WRITE_ACTIONS',
552 4: 'OFPIT_APPLY_ACTIONS',
553 5: 'OFPIT_CLEAR_ACTIONS',
554 6: 'OFPIT_METER',
555 65535: 'OFPIT_EXPERIMENTER',
556}
557
558# Identifiers from group ofp_ipv6exthdr_flags
559OFPIEH_NONEXT = 1
560OFPIEH_ESP = 2
561OFPIEH_AUTH = 4
562OFPIEH_DEST = 8
563OFPIEH_FRAG = 16
564OFPIEH_ROUTER = 32
565OFPIEH_HOP = 64
566OFPIEH_UNREP = 128
567OFPIEH_UNSEQ = 256
568
569ofp_ipv6exthdr_flags_map = {
570 1: 'OFPIEH_NONEXT',
571 2: 'OFPIEH_ESP',
572 4: 'OFPIEH_AUTH',
573 8: 'OFPIEH_DEST',
574 16: 'OFPIEH_FRAG',
575 32: 'OFPIEH_ROUTER',
576 64: 'OFPIEH_HOP',
577 128: 'OFPIEH_UNREP',
578 256: 'OFPIEH_UNSEQ',
579}
580
581# Identifiers from group ofp_match_type
582OFPMT_STANDARD = 0
583OFPMT_OXM = 1
584
585ofp_match_type_map = {
586 0: 'OFPMT_STANDARD',
587 1: 'OFPMT_OXM',
588}
589
590# Identifiers from group ofp_meter
591OFPM_MAX = 4294901760
592OFPM_SLOWPATH = 4294967293
593OFPM_CONTROLLER = 4294967294
594OFPM_ALL = 4294967295
595
596ofp_meter_map = {
597 4294901760: 'OFPM_MAX',
598 4294967293: 'OFPM_SLOWPATH',
599 4294967294: 'OFPM_CONTROLLER',
600 4294967295: 'OFPM_ALL',
601}
602
603# Identifiers from group ofp_meter_band_type
604OFPMBT_DROP = 1
605OFPMBT_DSCP_REMARK = 2
606OFPMBT_EXPERIMENTER = 65535
607
608ofp_meter_band_type_map = {
609 1: 'OFPMBT_DROP',
610 2: 'OFPMBT_DSCP_REMARK',
611 65535: 'OFPMBT_EXPERIMENTER',
612}
613
614# Identifiers from group ofp_meter_flags
615OFPMF_KBPS = 1
616OFPMF_PKTPS = 2
617OFPMF_BURST = 4
618OFPMF_STATS = 8
619
620ofp_meter_flags_map = {
621 1: 'OFPMF_KBPS',
622 2: 'OFPMF_PKTPS',
623 4: 'OFPMF_BURST',
624 8: 'OFPMF_STATS',
625}
626
627# Identifiers from group ofp_meter_mod_command
628OFPMC_ADD = 0
629OFPMC_MODIFY = 1
630OFPMC_DELETE = 2
631
632ofp_meter_mod_command_map = {
633 0: 'OFPMC_ADD',
634 1: 'OFPMC_MODIFY',
635 2: 'OFPMC_DELETE',
636}
637
638# Identifiers from group ofp_meter_mod_failed_code
639OFPMMFC_UNKNOWN = 0
640OFPMMFC_METER_EXISTS = 1
641OFPMMFC_INVALID_METER = 2
642OFPMMFC_UNKNOWN_METER = 3
643OFPMMFC_BAD_COMMAND = 4
644OFPMMFC_BAD_FLAGS = 5
645OFPMMFC_BAD_RATE = 6
646OFPMMFC_BAD_BURST = 7
647OFPMMFC_BAD_BAND = 8
648OFPMMFC_BAD_BAND_VALUE = 9
649OFPMMFC_OUT_OF_METERS = 10
650OFPMMFC_OUT_OF_BANDS = 11
651
652ofp_meter_mod_failed_code_map = {
653 0: 'OFPMMFC_UNKNOWN',
654 1: 'OFPMMFC_METER_EXISTS',
655 2: 'OFPMMFC_INVALID_METER',
656 3: 'OFPMMFC_UNKNOWN_METER',
657 4: 'OFPMMFC_BAD_COMMAND',
658 5: 'OFPMMFC_BAD_FLAGS',
659 6: 'OFPMMFC_BAD_RATE',
660 7: 'OFPMMFC_BAD_BURST',
661 8: 'OFPMMFC_BAD_BAND',
662 9: 'OFPMMFC_BAD_BAND_VALUE',
663 10: 'OFPMMFC_OUT_OF_METERS',
664 11: 'OFPMMFC_OUT_OF_BANDS',
665}
666
Rich Lanec2ee4b82013-04-24 17:12:38 -0700667# Identifiers from group ofp_oxm_class
668OFPXMC_NXM_0 = 0
669OFPXMC_NXM_1 = 1
670OFPXMC_OPENFLOW_BASIC = 32768
671OFPXMC_EXPERIMENTER = 65535
672
673ofp_oxm_class_map = {
674 0: 'OFPXMC_NXM_0',
675 1: 'OFPXMC_NXM_1',
676 32768: 'OFPXMC_OPENFLOW_BASIC',
677 65535: 'OFPXMC_EXPERIMENTER',
678}
679
680# Identifiers from group ofp_packet_in_reason
681OFPR_NO_MATCH = 0
682OFPR_ACTION = 1
683OFPR_INVALID_TTL = 2
Rich Laned9e3f7b2013-11-04 11:40:43 -0800684OFPR_BSN_NEW_HOST = 128
685OFPR_BSN_STATION_MOVE = 129
686OFPR_BSN_BAD_VLAN = 130
687OFPR_BSN_DESTINATION_LOOKUP_FAILURE = 131
Rich Lane5454b682014-01-14 17:07:36 -0800688OFPR_BSN_NO_ROUTE = 132
Rich Lanec2ee4b82013-04-24 17:12:38 -0700689
690ofp_packet_in_reason_map = {
691 0: 'OFPR_NO_MATCH',
692 1: 'OFPR_ACTION',
693 2: 'OFPR_INVALID_TTL',
Rich Laned9e3f7b2013-11-04 11:40:43 -0800694 128: 'OFPR_BSN_NEW_HOST',
695 129: 'OFPR_BSN_STATION_MOVE',
696 130: 'OFPR_BSN_BAD_VLAN',
697 131: 'OFPR_BSN_DESTINATION_LOOKUP_FAILURE',
Rich Lane5454b682014-01-14 17:07:36 -0800698 132: 'OFPR_BSN_NO_ROUTE',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700699}
700
701# Identifiers from group ofp_port
702OFPP_MAX = 4294967040
703OFPP_IN_PORT = 4294967288
704OFPP_TABLE = 4294967289
705OFPP_NORMAL = 4294967290
706OFPP_FLOOD = 4294967291
707OFPP_ALL = 4294967292
708OFPP_CONTROLLER = 4294967293
709OFPP_LOCAL = 4294967294
Rich Laned9e3f7b2013-11-04 11:40:43 -0800710OFPP_ANY = 4294967295
Rich Lanec2ee4b82013-04-24 17:12:38 -0700711
712ofp_port_map = {
713 4294967040: 'OFPP_MAX',
714 4294967288: 'OFPP_IN_PORT',
715 4294967289: 'OFPP_TABLE',
716 4294967290: 'OFPP_NORMAL',
717 4294967291: 'OFPP_FLOOD',
718 4294967292: 'OFPP_ALL',
719 4294967293: 'OFPP_CONTROLLER',
720 4294967294: 'OFPP_LOCAL',
Rich Laned9e3f7b2013-11-04 11:40:43 -0800721 4294967295: 'OFPP_ANY',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700722}
723
724# Identifiers from group ofp_port_config
725OFPPC_PORT_DOWN = 1
726OFPPC_NO_RECV = 4
727OFPPC_NO_FWD = 32
728OFPPC_NO_PACKET_IN = 64
Rich Lane6f4978c2013-10-20 21:33:52 -0700729OFPPC_BSN_MIRROR_DEST = 2147483648
Rich Lanec2ee4b82013-04-24 17:12:38 -0700730
731ofp_port_config_map = {
732 1: 'OFPPC_PORT_DOWN',
733 4: 'OFPPC_NO_RECV',
734 32: 'OFPPC_NO_FWD',
735 64: 'OFPPC_NO_PACKET_IN',
Rich Lane6f4978c2013-10-20 21:33:52 -0700736 2147483648: 'OFPPC_BSN_MIRROR_DEST',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700737}
738
739# Identifiers from group ofp_port_features
740OFPPF_10MB_HD = 1
741OFPPF_10MB_FD = 2
742OFPPF_100MB_HD = 4
743OFPPF_100MB_FD = 8
744OFPPF_1GB_HD = 16
745OFPPF_1GB_FD = 32
746OFPPF_10GB_FD = 64
747OFPPF_40GB_FD = 128
748OFPPF_100GB_FD = 256
749OFPPF_1TB_FD = 512
750OFPPF_OTHER = 1024
751OFPPF_COPPER = 2048
752OFPPF_FIBER = 4096
753OFPPF_AUTONEG = 8192
754OFPPF_PAUSE = 16384
755OFPPF_PAUSE_ASYM = 32768
756
757ofp_port_features_map = {
758 1: 'OFPPF_10MB_HD',
759 2: 'OFPPF_10MB_FD',
760 4: 'OFPPF_100MB_HD',
761 8: 'OFPPF_100MB_FD',
762 16: 'OFPPF_1GB_HD',
763 32: 'OFPPF_1GB_FD',
764 64: 'OFPPF_10GB_FD',
765 128: 'OFPPF_40GB_FD',
766 256: 'OFPPF_100GB_FD',
767 512: 'OFPPF_1TB_FD',
768 1024: 'OFPPF_OTHER',
769 2048: 'OFPPF_COPPER',
770 4096: 'OFPPF_FIBER',
771 8192: 'OFPPF_AUTONEG',
772 16384: 'OFPPF_PAUSE',
773 32768: 'OFPPF_PAUSE_ASYM',
774}
775
776# Identifiers from group ofp_port_mod_failed_code
777OFPPMFC_BAD_PORT = 0
778OFPPMFC_BAD_HW_ADDR = 1
779OFPPMFC_BAD_CONFIG = 2
780OFPPMFC_BAD_ADVERTISE = 3
781OFPPMFC_EPERM = 4
782
783ofp_port_mod_failed_code_map = {
784 0: 'OFPPMFC_BAD_PORT',
785 1: 'OFPPMFC_BAD_HW_ADDR',
786 2: 'OFPPMFC_BAD_CONFIG',
787 3: 'OFPPMFC_BAD_ADVERTISE',
788 4: 'OFPPMFC_EPERM',
789}
790
Rich Lanec2ee4b82013-04-24 17:12:38 -0700791# Identifiers from group ofp_port_reason
792OFPPR_ADD = 0
793OFPPR_DELETE = 1
794OFPPR_MODIFY = 2
795
796ofp_port_reason_map = {
797 0: 'OFPPR_ADD',
798 1: 'OFPPR_DELETE',
799 2: 'OFPPR_MODIFY',
800}
801
802# Identifiers from group ofp_port_state
803OFPPS_LINK_DOWN = 1
804OFPPS_BLOCKED = 2
805OFPPS_LIVE = 4
806
807ofp_port_state_map = {
808 1: 'OFPPS_LINK_DOWN',
809 2: 'OFPPS_BLOCKED',
810 4: 'OFPPS_LIVE',
811}
812
813# Identifiers from group ofp_queue_op_failed_code
814OFPQOFC_BAD_PORT = 0
815OFPQOFC_BAD_QUEUE = 1
816OFPQOFC_EPERM = 2
817
818ofp_queue_op_failed_code_map = {
819 0: 'OFPQOFC_BAD_PORT',
820 1: 'OFPQOFC_BAD_QUEUE',
821 2: 'OFPQOFC_EPERM',
822}
823
824# Identifiers from group ofp_queue_properties
825OFPQT_MIN_RATE = 1
826OFPQT_MAX_RATE = 2
827OFPQT_EXPERIMENTER = 65535
828
829ofp_queue_properties_map = {
830 1: 'OFPQT_MIN_RATE',
831 2: 'OFPQT_MAX_RATE',
832 65535: 'OFPQT_EXPERIMENTER',
833}
834
835# Identifiers from group ofp_role_request_failed_code
836OFPRRFC_STALE = 0
837OFPRRFC_UNSUP = 1
838OFPRRFC_BAD_ROLE = 2
839
840ofp_role_request_failed_code_map = {
841 0: 'OFPRRFC_STALE',
842 1: 'OFPRRFC_UNSUP',
843 2: 'OFPRRFC_BAD_ROLE',
844}
845
Rich Lane6f4978c2013-10-20 21:33:52 -0700846# Identifiers from group ofp_stats_reply_flags
847OFPSF_REPLY_MORE = 1
848
849ofp_stats_reply_flags_map = {
850 1: 'OFPSF_REPLY_MORE',
851}
852
853# Identifiers from group ofp_stats_request_flags
854OFPSF_REQ_MORE = 1
855
856ofp_stats_request_flags_map = {
857 1: 'OFPSF_REQ_MORE',
858}
859
860# Identifiers from group ofp_stats_type
861OFPST_DESC = 0
862OFPST_FLOW = 1
863OFPST_AGGREGATE = 2
864OFPST_TABLE = 3
865OFPST_PORT = 4
866OFPST_QUEUE = 5
867OFPST_GROUP = 6
868OFPST_GROUP_DESC = 7
869OFPST_GROUP_FEATURES = 8
870OFPST_METER = 9
871OFPST_METER_CONFIG = 10
872OFPST_METER_FEATURES = 11
873OFPST_TABLE_FEATURES = 12
874OFPST_PORT_DESC = 13
875OFPST_EXPERIMENTER = 65535
876
877ofp_stats_type_map = {
878 0: 'OFPST_DESC',
879 1: 'OFPST_FLOW',
880 2: 'OFPST_AGGREGATE',
881 3: 'OFPST_TABLE',
882 4: 'OFPST_PORT',
883 5: 'OFPST_QUEUE',
884 6: 'OFPST_GROUP',
885 7: 'OFPST_GROUP_DESC',
886 8: 'OFPST_GROUP_FEATURES',
887 9: 'OFPST_METER',
888 10: 'OFPST_METER_CONFIG',
889 11: 'OFPST_METER_FEATURES',
890 12: 'OFPST_TABLE_FEATURES',
891 13: 'OFPST_PORT_DESC',
892 65535: 'OFPST_EXPERIMENTER',
893}
894
Rich Lanec2ee4b82013-04-24 17:12:38 -0700895# Identifiers from group ofp_switch_config_failed_code
896OFPSCFC_BAD_FLAGS = 0
897OFPSCFC_BAD_LEN = 1
898OFPSCFC_EPERM = 2
899
900ofp_switch_config_failed_code_map = {
901 0: 'OFPSCFC_BAD_FLAGS',
902 1: 'OFPSCFC_BAD_LEN',
903 2: 'OFPSCFC_EPERM',
904}
905
906# Identifiers from group ofp_table
907OFPTT_MAX = 254
908OFPTT_ALL = 255
909
910ofp_table_map = {
911 254: 'OFPTT_MAX',
912 255: 'OFPTT_ALL',
913}
914
915# Identifiers from group ofp_table_config
916OFPTC_DEPRECATED_MASK = 3
917
918ofp_table_config_map = {
919 3: 'OFPTC_DEPRECATED_MASK',
920}
921
922# Identifiers from group ofp_table_feature_prop_type
923OFPTFPT_INSTRUCTIONS = 0
924OFPTFPT_INSTRUCTIONS_MISS = 1
925OFPTFPT_NEXT_TABLES = 2
926OFPTFPT_NEXT_TABLES_MISS = 3
927OFPTFPT_WRITE_ACTIONS = 4
928OFPTFPT_WRITE_ACTIONS_MISS = 5
929OFPTFPT_APPLY_ACTIONS = 6
930OFPTFPT_APPLY_ACTIONS_MISS = 7
931OFPTFPT_MATCH = 8
932OFPTFPT_WILDCARDS = 10
933OFPTFPT_WRITE_SETFIELD = 12
934OFPTFPT_WRITE_SETFIELD_MISS = 13
935OFPTFPT_APPLY_SETFIELD = 14
936OFPTFPT_APPLY_SETFIELD_MISS = 15
937OFPTFPT_EXPERIMENTER = 65534
938OFPTFPT_EXPERIMENTER_MISS = 65535
939
940ofp_table_feature_prop_type_map = {
941 0: 'OFPTFPT_INSTRUCTIONS',
942 1: 'OFPTFPT_INSTRUCTIONS_MISS',
943 2: 'OFPTFPT_NEXT_TABLES',
944 3: 'OFPTFPT_NEXT_TABLES_MISS',
945 4: 'OFPTFPT_WRITE_ACTIONS',
946 5: 'OFPTFPT_WRITE_ACTIONS_MISS',
947 6: 'OFPTFPT_APPLY_ACTIONS',
948 7: 'OFPTFPT_APPLY_ACTIONS_MISS',
949 8: 'OFPTFPT_MATCH',
950 10: 'OFPTFPT_WILDCARDS',
951 12: 'OFPTFPT_WRITE_SETFIELD',
952 13: 'OFPTFPT_WRITE_SETFIELD_MISS',
953 14: 'OFPTFPT_APPLY_SETFIELD',
954 15: 'OFPTFPT_APPLY_SETFIELD_MISS',
955 65534: 'OFPTFPT_EXPERIMENTER',
956 65535: 'OFPTFPT_EXPERIMENTER_MISS',
957}
958
959# Identifiers from group ofp_table_features_failed_code
960OFPTFFC_BAD_TABLE = 0
961OFPTFFC_BAD_METADATA = 1
962OFPTFFC_BAD_TYPE = 2
963OFPTFFC_BAD_LEN = 3
964OFPTFFC_BAD_ARGUMENT = 4
965OFPTFFC_EPERM = 5
966
967ofp_table_features_failed_code_map = {
968 0: 'OFPTFFC_BAD_TABLE',
969 1: 'OFPTFFC_BAD_METADATA',
970 2: 'OFPTFFC_BAD_TYPE',
971 3: 'OFPTFFC_BAD_LEN',
972 4: 'OFPTFFC_BAD_ARGUMENT',
973 5: 'OFPTFFC_EPERM',
974}
975
976# Identifiers from group ofp_table_mod_failed_code
977OFPTMFC_BAD_TABLE = 0
978OFPTMFC_BAD_CONFIG = 1
979OFPTMFC_EPERM = 2
980
981ofp_table_mod_failed_code_map = {
982 0: 'OFPTMFC_BAD_TABLE',
983 1: 'OFPTMFC_BAD_CONFIG',
984 2: 'OFPTMFC_EPERM',
985}
986
987# Identifiers from group ofp_type
988OFPT_HELLO = 0
989OFPT_ERROR = 1
990OFPT_ECHO_REQUEST = 2
991OFPT_ECHO_REPLY = 3
992OFPT_EXPERIMENTER = 4
993OFPT_FEATURES_REQUEST = 5
994OFPT_FEATURES_REPLY = 6
995OFPT_GET_CONFIG_REQUEST = 7
996OFPT_GET_CONFIG_REPLY = 8
997OFPT_SET_CONFIG = 9
998OFPT_PACKET_IN = 10
999OFPT_FLOW_REMOVED = 11
1000OFPT_PORT_STATUS = 12
1001OFPT_PACKET_OUT = 13
1002OFPT_FLOW_MOD = 14
1003OFPT_GROUP_MOD = 15
1004OFPT_PORT_MOD = 16
1005OFPT_TABLE_MOD = 17
Rich Lane6f4978c2013-10-20 21:33:52 -07001006OFPT_STATS_REQUEST = 18
1007OFPT_STATS_REPLY = 19
Rich Lanec2ee4b82013-04-24 17:12:38 -07001008OFPT_BARRIER_REQUEST = 20
1009OFPT_BARRIER_REPLY = 21
1010OFPT_QUEUE_GET_CONFIG_REQUEST = 22
1011OFPT_QUEUE_GET_CONFIG_REPLY = 23
1012OFPT_ROLE_REQUEST = 24
1013OFPT_ROLE_REPLY = 25
1014OFPT_GET_ASYNC_REQUEST = 26
1015OFPT_GET_ASYNC_REPLY = 27
1016OFPT_SET_ASYNC = 28
1017OFPT_METER_MOD = 29
1018
1019ofp_type_map = {
1020 0: 'OFPT_HELLO',
1021 1: 'OFPT_ERROR',
1022 2: 'OFPT_ECHO_REQUEST',
1023 3: 'OFPT_ECHO_REPLY',
1024 4: 'OFPT_EXPERIMENTER',
1025 5: 'OFPT_FEATURES_REQUEST',
1026 6: 'OFPT_FEATURES_REPLY',
1027 7: 'OFPT_GET_CONFIG_REQUEST',
1028 8: 'OFPT_GET_CONFIG_REPLY',
1029 9: 'OFPT_SET_CONFIG',
1030 10: 'OFPT_PACKET_IN',
1031 11: 'OFPT_FLOW_REMOVED',
1032 12: 'OFPT_PORT_STATUS',
1033 13: 'OFPT_PACKET_OUT',
1034 14: 'OFPT_FLOW_MOD',
1035 15: 'OFPT_GROUP_MOD',
1036 16: 'OFPT_PORT_MOD',
1037 17: 'OFPT_TABLE_MOD',
Rich Lane6f4978c2013-10-20 21:33:52 -07001038 18: 'OFPT_STATS_REQUEST',
1039 19: 'OFPT_STATS_REPLY',
Rich Lanec2ee4b82013-04-24 17:12:38 -07001040 20: 'OFPT_BARRIER_REQUEST',
1041 21: 'OFPT_BARRIER_REPLY',
1042 22: 'OFPT_QUEUE_GET_CONFIG_REQUEST',
1043 23: 'OFPT_QUEUE_GET_CONFIG_REPLY',
1044 24: 'OFPT_ROLE_REQUEST',
1045 25: 'OFPT_ROLE_REPLY',
1046 26: 'OFPT_GET_ASYNC_REQUEST',
1047 27: 'OFPT_GET_ASYNC_REPLY',
1048 28: 'OFPT_SET_ASYNC',
1049 29: 'OFPT_METER_MOD',
1050}
1051
1052# Identifiers from group ofp_vlan_id
1053OFPVID_NONE = 0
1054OFPVID_PRESENT = 4096
1055
1056ofp_vlan_id_map = {
1057 0: 'OFPVID_NONE',
1058 4096: 'OFPVID_PRESENT',
1059}
1060