blob: 404d58282ece69800338c69fdc680627441673f0 [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 Lane95f7fc92014-01-27 17:08:16 -0800689OFPR_BSN_ICMP_ECHO_REQUEST = 133
690OFPR_BSN_DEST_NETWORK_UNREACHABLE = 134
691OFPR_BSN_DEST_HOST_UNREACHABLE = 135
692OFPR_BSN_DEST_PORT_UNREACHABLE = 136
693OFPR_BSN_FRAGMENTATION_REQUIRED = 137
694OFPR_BSN_ARP = 139
Rich Lanec2ee4b82013-04-24 17:12:38 -0700695
696ofp_packet_in_reason_map = {
697 0: 'OFPR_NO_MATCH',
698 1: 'OFPR_ACTION',
699 2: 'OFPR_INVALID_TTL',
Rich Laned9e3f7b2013-11-04 11:40:43 -0800700 128: 'OFPR_BSN_NEW_HOST',
701 129: 'OFPR_BSN_STATION_MOVE',
702 130: 'OFPR_BSN_BAD_VLAN',
703 131: 'OFPR_BSN_DESTINATION_LOOKUP_FAILURE',
Rich Lane5454b682014-01-14 17:07:36 -0800704 132: 'OFPR_BSN_NO_ROUTE',
Rich Lane95f7fc92014-01-27 17:08:16 -0800705 133: 'OFPR_BSN_ICMP_ECHO_REQUEST',
706 134: 'OFPR_BSN_DEST_NETWORK_UNREACHABLE',
707 135: 'OFPR_BSN_DEST_HOST_UNREACHABLE',
708 136: 'OFPR_BSN_DEST_PORT_UNREACHABLE',
709 137: 'OFPR_BSN_FRAGMENTATION_REQUIRED',
710 139: 'OFPR_BSN_ARP',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700711}
712
713# Identifiers from group ofp_port
714OFPP_MAX = 4294967040
715OFPP_IN_PORT = 4294967288
716OFPP_TABLE = 4294967289
717OFPP_NORMAL = 4294967290
718OFPP_FLOOD = 4294967291
719OFPP_ALL = 4294967292
720OFPP_CONTROLLER = 4294967293
721OFPP_LOCAL = 4294967294
Rich Laned9e3f7b2013-11-04 11:40:43 -0800722OFPP_ANY = 4294967295
Rich Lanec2ee4b82013-04-24 17:12:38 -0700723
724ofp_port_map = {
725 4294967040: 'OFPP_MAX',
726 4294967288: 'OFPP_IN_PORT',
727 4294967289: 'OFPP_TABLE',
728 4294967290: 'OFPP_NORMAL',
729 4294967291: 'OFPP_FLOOD',
730 4294967292: 'OFPP_ALL',
731 4294967293: 'OFPP_CONTROLLER',
732 4294967294: 'OFPP_LOCAL',
Rich Laned9e3f7b2013-11-04 11:40:43 -0800733 4294967295: 'OFPP_ANY',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700734}
735
736# Identifiers from group ofp_port_config
737OFPPC_PORT_DOWN = 1
738OFPPC_NO_RECV = 4
739OFPPC_NO_FWD = 32
740OFPPC_NO_PACKET_IN = 64
Rich Lane6f4978c2013-10-20 21:33:52 -0700741OFPPC_BSN_MIRROR_DEST = 2147483648
Rich Lanec2ee4b82013-04-24 17:12:38 -0700742
743ofp_port_config_map = {
744 1: 'OFPPC_PORT_DOWN',
745 4: 'OFPPC_NO_RECV',
746 32: 'OFPPC_NO_FWD',
747 64: 'OFPPC_NO_PACKET_IN',
Rich Lane6f4978c2013-10-20 21:33:52 -0700748 2147483648: 'OFPPC_BSN_MIRROR_DEST',
Rich Lanec2ee4b82013-04-24 17:12:38 -0700749}
750
751# Identifiers from group ofp_port_features
752OFPPF_10MB_HD = 1
753OFPPF_10MB_FD = 2
754OFPPF_100MB_HD = 4
755OFPPF_100MB_FD = 8
756OFPPF_1GB_HD = 16
757OFPPF_1GB_FD = 32
758OFPPF_10GB_FD = 64
759OFPPF_40GB_FD = 128
760OFPPF_100GB_FD = 256
761OFPPF_1TB_FD = 512
762OFPPF_OTHER = 1024
763OFPPF_COPPER = 2048
764OFPPF_FIBER = 4096
765OFPPF_AUTONEG = 8192
766OFPPF_PAUSE = 16384
767OFPPF_PAUSE_ASYM = 32768
768
769ofp_port_features_map = {
770 1: 'OFPPF_10MB_HD',
771 2: 'OFPPF_10MB_FD',
772 4: 'OFPPF_100MB_HD',
773 8: 'OFPPF_100MB_FD',
774 16: 'OFPPF_1GB_HD',
775 32: 'OFPPF_1GB_FD',
776 64: 'OFPPF_10GB_FD',
777 128: 'OFPPF_40GB_FD',
778 256: 'OFPPF_100GB_FD',
779 512: 'OFPPF_1TB_FD',
780 1024: 'OFPPF_OTHER',
781 2048: 'OFPPF_COPPER',
782 4096: 'OFPPF_FIBER',
783 8192: 'OFPPF_AUTONEG',
784 16384: 'OFPPF_PAUSE',
785 32768: 'OFPPF_PAUSE_ASYM',
786}
787
788# Identifiers from group ofp_port_mod_failed_code
789OFPPMFC_BAD_PORT = 0
790OFPPMFC_BAD_HW_ADDR = 1
791OFPPMFC_BAD_CONFIG = 2
792OFPPMFC_BAD_ADVERTISE = 3
793OFPPMFC_EPERM = 4
794
795ofp_port_mod_failed_code_map = {
796 0: 'OFPPMFC_BAD_PORT',
797 1: 'OFPPMFC_BAD_HW_ADDR',
798 2: 'OFPPMFC_BAD_CONFIG',
799 3: 'OFPPMFC_BAD_ADVERTISE',
800 4: 'OFPPMFC_EPERM',
801}
802
Rich Lanec2ee4b82013-04-24 17:12:38 -0700803# Identifiers from group ofp_port_reason
804OFPPR_ADD = 0
805OFPPR_DELETE = 1
806OFPPR_MODIFY = 2
807
808ofp_port_reason_map = {
809 0: 'OFPPR_ADD',
810 1: 'OFPPR_DELETE',
811 2: 'OFPPR_MODIFY',
812}
813
814# Identifiers from group ofp_port_state
815OFPPS_LINK_DOWN = 1
816OFPPS_BLOCKED = 2
817OFPPS_LIVE = 4
818
819ofp_port_state_map = {
820 1: 'OFPPS_LINK_DOWN',
821 2: 'OFPPS_BLOCKED',
822 4: 'OFPPS_LIVE',
823}
824
825# Identifiers from group ofp_queue_op_failed_code
826OFPQOFC_BAD_PORT = 0
827OFPQOFC_BAD_QUEUE = 1
828OFPQOFC_EPERM = 2
829
830ofp_queue_op_failed_code_map = {
831 0: 'OFPQOFC_BAD_PORT',
832 1: 'OFPQOFC_BAD_QUEUE',
833 2: 'OFPQOFC_EPERM',
834}
835
836# Identifiers from group ofp_queue_properties
837OFPQT_MIN_RATE = 1
838OFPQT_MAX_RATE = 2
839OFPQT_EXPERIMENTER = 65535
840
841ofp_queue_properties_map = {
842 1: 'OFPQT_MIN_RATE',
843 2: 'OFPQT_MAX_RATE',
844 65535: 'OFPQT_EXPERIMENTER',
845}
846
847# Identifiers from group ofp_role_request_failed_code
848OFPRRFC_STALE = 0
849OFPRRFC_UNSUP = 1
850OFPRRFC_BAD_ROLE = 2
851
852ofp_role_request_failed_code_map = {
853 0: 'OFPRRFC_STALE',
854 1: 'OFPRRFC_UNSUP',
855 2: 'OFPRRFC_BAD_ROLE',
856}
857
Rich Lane6f4978c2013-10-20 21:33:52 -0700858# Identifiers from group ofp_stats_reply_flags
859OFPSF_REPLY_MORE = 1
860
861ofp_stats_reply_flags_map = {
862 1: 'OFPSF_REPLY_MORE',
863}
864
865# Identifiers from group ofp_stats_request_flags
866OFPSF_REQ_MORE = 1
867
868ofp_stats_request_flags_map = {
869 1: 'OFPSF_REQ_MORE',
870}
871
872# Identifiers from group ofp_stats_type
873OFPST_DESC = 0
874OFPST_FLOW = 1
875OFPST_AGGREGATE = 2
876OFPST_TABLE = 3
877OFPST_PORT = 4
878OFPST_QUEUE = 5
879OFPST_GROUP = 6
880OFPST_GROUP_DESC = 7
881OFPST_GROUP_FEATURES = 8
882OFPST_METER = 9
883OFPST_METER_CONFIG = 10
884OFPST_METER_FEATURES = 11
885OFPST_TABLE_FEATURES = 12
886OFPST_PORT_DESC = 13
887OFPST_EXPERIMENTER = 65535
888
889ofp_stats_type_map = {
890 0: 'OFPST_DESC',
891 1: 'OFPST_FLOW',
892 2: 'OFPST_AGGREGATE',
893 3: 'OFPST_TABLE',
894 4: 'OFPST_PORT',
895 5: 'OFPST_QUEUE',
896 6: 'OFPST_GROUP',
897 7: 'OFPST_GROUP_DESC',
898 8: 'OFPST_GROUP_FEATURES',
899 9: 'OFPST_METER',
900 10: 'OFPST_METER_CONFIG',
901 11: 'OFPST_METER_FEATURES',
902 12: 'OFPST_TABLE_FEATURES',
903 13: 'OFPST_PORT_DESC',
904 65535: 'OFPST_EXPERIMENTER',
905}
906
Rich Lanec2ee4b82013-04-24 17:12:38 -0700907# Identifiers from group ofp_switch_config_failed_code
908OFPSCFC_BAD_FLAGS = 0
909OFPSCFC_BAD_LEN = 1
910OFPSCFC_EPERM = 2
911
912ofp_switch_config_failed_code_map = {
913 0: 'OFPSCFC_BAD_FLAGS',
914 1: 'OFPSCFC_BAD_LEN',
915 2: 'OFPSCFC_EPERM',
916}
917
918# Identifiers from group ofp_table
919OFPTT_MAX = 254
920OFPTT_ALL = 255
921
922ofp_table_map = {
923 254: 'OFPTT_MAX',
924 255: 'OFPTT_ALL',
925}
926
927# Identifiers from group ofp_table_config
928OFPTC_DEPRECATED_MASK = 3
929
930ofp_table_config_map = {
931 3: 'OFPTC_DEPRECATED_MASK',
932}
933
934# Identifiers from group ofp_table_feature_prop_type
935OFPTFPT_INSTRUCTIONS = 0
936OFPTFPT_INSTRUCTIONS_MISS = 1
937OFPTFPT_NEXT_TABLES = 2
938OFPTFPT_NEXT_TABLES_MISS = 3
939OFPTFPT_WRITE_ACTIONS = 4
940OFPTFPT_WRITE_ACTIONS_MISS = 5
941OFPTFPT_APPLY_ACTIONS = 6
942OFPTFPT_APPLY_ACTIONS_MISS = 7
943OFPTFPT_MATCH = 8
944OFPTFPT_WILDCARDS = 10
945OFPTFPT_WRITE_SETFIELD = 12
946OFPTFPT_WRITE_SETFIELD_MISS = 13
947OFPTFPT_APPLY_SETFIELD = 14
948OFPTFPT_APPLY_SETFIELD_MISS = 15
949OFPTFPT_EXPERIMENTER = 65534
950OFPTFPT_EXPERIMENTER_MISS = 65535
951
952ofp_table_feature_prop_type_map = {
953 0: 'OFPTFPT_INSTRUCTIONS',
954 1: 'OFPTFPT_INSTRUCTIONS_MISS',
955 2: 'OFPTFPT_NEXT_TABLES',
956 3: 'OFPTFPT_NEXT_TABLES_MISS',
957 4: 'OFPTFPT_WRITE_ACTIONS',
958 5: 'OFPTFPT_WRITE_ACTIONS_MISS',
959 6: 'OFPTFPT_APPLY_ACTIONS',
960 7: 'OFPTFPT_APPLY_ACTIONS_MISS',
961 8: 'OFPTFPT_MATCH',
962 10: 'OFPTFPT_WILDCARDS',
963 12: 'OFPTFPT_WRITE_SETFIELD',
964 13: 'OFPTFPT_WRITE_SETFIELD_MISS',
965 14: 'OFPTFPT_APPLY_SETFIELD',
966 15: 'OFPTFPT_APPLY_SETFIELD_MISS',
967 65534: 'OFPTFPT_EXPERIMENTER',
968 65535: 'OFPTFPT_EXPERIMENTER_MISS',
969}
970
971# Identifiers from group ofp_table_features_failed_code
972OFPTFFC_BAD_TABLE = 0
973OFPTFFC_BAD_METADATA = 1
974OFPTFFC_BAD_TYPE = 2
975OFPTFFC_BAD_LEN = 3
976OFPTFFC_BAD_ARGUMENT = 4
977OFPTFFC_EPERM = 5
978
979ofp_table_features_failed_code_map = {
980 0: 'OFPTFFC_BAD_TABLE',
981 1: 'OFPTFFC_BAD_METADATA',
982 2: 'OFPTFFC_BAD_TYPE',
983 3: 'OFPTFFC_BAD_LEN',
984 4: 'OFPTFFC_BAD_ARGUMENT',
985 5: 'OFPTFFC_EPERM',
986}
987
988# Identifiers from group ofp_table_mod_failed_code
989OFPTMFC_BAD_TABLE = 0
990OFPTMFC_BAD_CONFIG = 1
991OFPTMFC_EPERM = 2
992
993ofp_table_mod_failed_code_map = {
994 0: 'OFPTMFC_BAD_TABLE',
995 1: 'OFPTMFC_BAD_CONFIG',
996 2: 'OFPTMFC_EPERM',
997}
998
999# Identifiers from group ofp_type
1000OFPT_HELLO = 0
1001OFPT_ERROR = 1
1002OFPT_ECHO_REQUEST = 2
1003OFPT_ECHO_REPLY = 3
1004OFPT_EXPERIMENTER = 4
1005OFPT_FEATURES_REQUEST = 5
1006OFPT_FEATURES_REPLY = 6
1007OFPT_GET_CONFIG_REQUEST = 7
1008OFPT_GET_CONFIG_REPLY = 8
1009OFPT_SET_CONFIG = 9
1010OFPT_PACKET_IN = 10
1011OFPT_FLOW_REMOVED = 11
1012OFPT_PORT_STATUS = 12
1013OFPT_PACKET_OUT = 13
1014OFPT_FLOW_MOD = 14
1015OFPT_GROUP_MOD = 15
1016OFPT_PORT_MOD = 16
1017OFPT_TABLE_MOD = 17
Rich Lane6f4978c2013-10-20 21:33:52 -07001018OFPT_STATS_REQUEST = 18
1019OFPT_STATS_REPLY = 19
Rich Lanec2ee4b82013-04-24 17:12:38 -07001020OFPT_BARRIER_REQUEST = 20
1021OFPT_BARRIER_REPLY = 21
1022OFPT_QUEUE_GET_CONFIG_REQUEST = 22
1023OFPT_QUEUE_GET_CONFIG_REPLY = 23
1024OFPT_ROLE_REQUEST = 24
1025OFPT_ROLE_REPLY = 25
1026OFPT_GET_ASYNC_REQUEST = 26
1027OFPT_GET_ASYNC_REPLY = 27
1028OFPT_SET_ASYNC = 28
1029OFPT_METER_MOD = 29
1030
1031ofp_type_map = {
1032 0: 'OFPT_HELLO',
1033 1: 'OFPT_ERROR',
1034 2: 'OFPT_ECHO_REQUEST',
1035 3: 'OFPT_ECHO_REPLY',
1036 4: 'OFPT_EXPERIMENTER',
1037 5: 'OFPT_FEATURES_REQUEST',
1038 6: 'OFPT_FEATURES_REPLY',
1039 7: 'OFPT_GET_CONFIG_REQUEST',
1040 8: 'OFPT_GET_CONFIG_REPLY',
1041 9: 'OFPT_SET_CONFIG',
1042 10: 'OFPT_PACKET_IN',
1043 11: 'OFPT_FLOW_REMOVED',
1044 12: 'OFPT_PORT_STATUS',
1045 13: 'OFPT_PACKET_OUT',
1046 14: 'OFPT_FLOW_MOD',
1047 15: 'OFPT_GROUP_MOD',
1048 16: 'OFPT_PORT_MOD',
1049 17: 'OFPT_TABLE_MOD',
Rich Lane6f4978c2013-10-20 21:33:52 -07001050 18: 'OFPT_STATS_REQUEST',
1051 19: 'OFPT_STATS_REPLY',
Rich Lanec2ee4b82013-04-24 17:12:38 -07001052 20: 'OFPT_BARRIER_REQUEST',
1053 21: 'OFPT_BARRIER_REPLY',
1054 22: 'OFPT_QUEUE_GET_CONFIG_REQUEST',
1055 23: 'OFPT_QUEUE_GET_CONFIG_REPLY',
1056 24: 'OFPT_ROLE_REQUEST',
1057 25: 'OFPT_ROLE_REPLY',
1058 26: 'OFPT_GET_ASYNC_REQUEST',
1059 27: 'OFPT_GET_ASYNC_REPLY',
1060 28: 'OFPT_SET_ASYNC',
1061 29: 'OFPT_METER_MOD',
1062}
1063
1064# Identifiers from group ofp_vlan_id
1065OFPVID_NONE = 0
1066OFPVID_PRESENT = 4096
1067
1068ofp_vlan_id_map = {
1069 0: 'OFPVID_NONE',
1070 4096: 'OFPVID_PRESENT',
1071}
1072