
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


# Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
# Copyright (c) 2011, 2012 Open Networking Foundation
# Copyright (c) 2012, 2013 Big Switch Networks, Inc.
# See the file LICENSE.pyloxi which should have been included in the source distribution

# Automatically generated by LOXI from template const.py
# Do not modify

OFP_VERSION = 5

# Identifiers from group macro_definitions
OFP_MAX_TABLE_NAME_LEN = 32
OFP_MAX_PORT_NAME_LEN = 16
OFP_TCP_PORT = 6653
OFP_SSL_PORT = 6653
OFP_ETH_ALEN = 6
OFP_DEFAULT_MISS_SEND_LEN = 128
OFP_VLAN_NONE = 0
OFP_FLOW_PERMANENT = 0
OFP_DEFAULT_PRIORITY = 32768
OFP_NO_BUFFER = 4294967295
DESC_STR_LEN = 256
SERIAL_NUM_LEN = 32
OFPQ_ALL = 4294967295
OFPQ_MAX_RATE_UNCFG = 65535
OFPQ_MIN_RATE_UNCFG = 65535

# Identifiers from group of_bsn_lacp_convergence_status
LACP_SUCCESS = 0
LACP_TIMEDOUT = 1
LACP_OUT_OF_SYNC = 2

of_bsn_lacp_convergence_status_map = {
    0: 'LACP_SUCCESS',
    1: 'LACP_TIMEDOUT',
    2: 'LACP_OUT_OF_SYNC',
}

# Identifiers from group of_bsn_pdu_slot_num
BSN_PDU_SLOT_NUM_ANY = 255

of_bsn_pdu_slot_num_map = {
    255: 'BSN_PDU_SLOT_NUM_ANY',
}

# Identifiers from group of_bsn_vlan_counter
OFP_BSN_VLAN_COUNTER_RX_BYTES = 0
OFP_BSN_VLAN_COUNTER_RX_PACKETS = 1
OFP_BSN_VLAN_COUNTER_TX_BYTES = 2
OFP_BSN_VLAN_COUNTER_TX_PACKETS = 3

of_bsn_vlan_counter_map = {
    0: 'OFP_BSN_VLAN_COUNTER_RX_BYTES',
    1: 'OFP_BSN_VLAN_COUNTER_RX_PACKETS',
    2: 'OFP_BSN_VLAN_COUNTER_TX_BYTES',
    3: 'OFP_BSN_VLAN_COUNTER_TX_PACKETS',
}

# Identifiers from group of_bsn_vrf_counter
OFP_BSN_VRF_COUNTER_BYTES = 0
OFP_BSN_VRF_COUNTER_PACKETS = 1

of_bsn_vrf_counter_map = {
    0: 'OFP_BSN_VRF_COUNTER_BYTES',
    1: 'OFP_BSN_VRF_COUNTER_PACKETS',
}

# Identifiers from group ofp_action_type
OFPAT_OUTPUT = 0
OFPAT_COPY_TTL_OUT = 11
OFPAT_COPY_TTL_IN = 12
OFPAT_SET_MPLS_TTL = 15
OFPAT_DEC_MPLS_TTL = 16
OFPAT_PUSH_VLAN = 17
OFPAT_POP_VLAN = 18
OFPAT_PUSH_MPLS = 19
OFPAT_POP_MPLS = 20
OFPAT_SET_QUEUE = 21
OFPAT_GROUP = 22
OFPAT_SET_NW_TTL = 23
OFPAT_DEC_NW_TTL = 24
OFPAT_SET_FIELD = 25
OFPAT_PUSH_PBB = 26
OFPAT_POP_PBB = 27
OFPAT_EXPERIMENTER = 65535

ofp_action_type_map = {
    0: 'OFPAT_OUTPUT',
    11: 'OFPAT_COPY_TTL_OUT',
    12: 'OFPAT_COPY_TTL_IN',
    15: 'OFPAT_SET_MPLS_TTL',
    16: 'OFPAT_DEC_MPLS_TTL',
    17: 'OFPAT_PUSH_VLAN',
    18: 'OFPAT_POP_VLAN',
    19: 'OFPAT_PUSH_MPLS',
    20: 'OFPAT_POP_MPLS',
    21: 'OFPAT_SET_QUEUE',
    22: 'OFPAT_GROUP',
    23: 'OFPAT_SET_NW_TTL',
    24: 'OFPAT_DEC_NW_TTL',
    25: 'OFPAT_SET_FIELD',
    26: 'OFPAT_PUSH_PBB',
    27: 'OFPAT_POP_PBB',
    65535: 'OFPAT_EXPERIMENTER',
}

# Identifiers from group ofp_async_config_failed_code
OFPACFC_INVALID = 0
OFPACFC_UNSUPPORTED = 1
OFPACFC_EPERM = 2

ofp_async_config_failed_code_map = {
    0: 'OFPACFC_INVALID',
    1: 'OFPACFC_UNSUPPORTED',
    2: 'OFPACFC_EPERM',
}

# Identifiers from group ofp_bad_action_code
OFPBAC_BAD_TYPE = 0
OFPBAC_BAD_LEN = 1
OFPBAC_BAD_EXPERIMENTER = 2
OFPBAC_BAD_EXPERIMENTER_TYPE = 3
OFPBAC_BAD_OUT_PORT = 4
OFPBAC_BAD_ARGUMENT = 5
OFPBAC_EPERM = 6
OFPBAC_TOO_MANY = 7
OFPBAC_BAD_QUEUE = 8
OFPBAC_BAD_OUT_GROUP = 9
OFPBAC_MATCH_INCONSISTENT = 10
OFPBAC_UNSUPPORTED_ORDER = 11
OFPBAC_BAD_TAG = 12
OFPBAC_BAD_SET_TYPE = 13
OFPBAC_BAD_SET_LEN = 14
OFPBAC_BAD_SET_ARGUMENT = 15

ofp_bad_action_code_map = {
    0: 'OFPBAC_BAD_TYPE',
    1: 'OFPBAC_BAD_LEN',
    2: 'OFPBAC_BAD_EXPERIMENTER',
    3: 'OFPBAC_BAD_EXPERIMENTER_TYPE',
    4: 'OFPBAC_BAD_OUT_PORT',
    5: 'OFPBAC_BAD_ARGUMENT',
    6: 'OFPBAC_EPERM',
    7: 'OFPBAC_TOO_MANY',
    8: 'OFPBAC_BAD_QUEUE',
    9: 'OFPBAC_BAD_OUT_GROUP',
    10: 'OFPBAC_MATCH_INCONSISTENT',
    11: 'OFPBAC_UNSUPPORTED_ORDER',
    12: 'OFPBAC_BAD_TAG',
    13: 'OFPBAC_BAD_SET_TYPE',
    14: 'OFPBAC_BAD_SET_LEN',
    15: 'OFPBAC_BAD_SET_ARGUMENT',
}

# Identifiers from group ofp_bad_instruction_code
OFPBIC_UNKNOWN_INST = 0
OFPBIC_UNSUP_INST = 1
OFPBIC_BAD_TABLE_ID = 2
OFPBIC_UNSUP_METADATA = 3
OFPBIC_UNSUP_METADATA_MASK = 4
OFPBIC_BAD_EXPERIMENTER = 5
OFPBIC_BAD_EXPERIMENTER_TYPE = 6
OFPBIC_BAD_LEN = 7
OFPBIC_EPERM = 8
OFPBIC_DUP_INST = 9

ofp_bad_instruction_code_map = {
    0: 'OFPBIC_UNKNOWN_INST',
    1: 'OFPBIC_UNSUP_INST',
    2: 'OFPBIC_BAD_TABLE_ID',
    3: 'OFPBIC_UNSUP_METADATA',
    4: 'OFPBIC_UNSUP_METADATA_MASK',
    5: 'OFPBIC_BAD_EXPERIMENTER',
    6: 'OFPBIC_BAD_EXPERIMENTER_TYPE',
    7: 'OFPBIC_BAD_LEN',
    8: 'OFPBIC_EPERM',
    9: 'OFPBIC_DUP_INST',
}

# Identifiers from group ofp_bad_match_code
OFPBMC_BAD_TYPE = 0
OFPBMC_BAD_LEN = 1
OFPBMC_BAD_TAG = 2
OFPBMC_BAD_DL_ADDR_MASK = 3
OFPBMC_BAD_NW_ADDR_MASK = 4
OFPBMC_BAD_WILDCARDS = 5
OFPBMC_BAD_FIELD = 6
OFPBMC_BAD_VALUE = 7
OFPBMC_BAD_MASK = 8
OFPBMC_BAD_PREREQ = 9
OFPBMC_DUP_FIELD = 10
OFPBMC_EPERM = 11

ofp_bad_match_code_map = {
    0: 'OFPBMC_BAD_TYPE',
    1: 'OFPBMC_BAD_LEN',
    2: 'OFPBMC_BAD_TAG',
    3: 'OFPBMC_BAD_DL_ADDR_MASK',
    4: 'OFPBMC_BAD_NW_ADDR_MASK',
    5: 'OFPBMC_BAD_WILDCARDS',
    6: 'OFPBMC_BAD_FIELD',
    7: 'OFPBMC_BAD_VALUE',
    8: 'OFPBMC_BAD_MASK',
    9: 'OFPBMC_BAD_PREREQ',
    10: 'OFPBMC_DUP_FIELD',
    11: 'OFPBMC_EPERM',
}

# Identifiers from group ofp_bad_property_code
OFPBPC_BAD_TYPE = 0
OFPBPC_BAD_LEN = 1
OFPBPC_BAD_VALUE = 2
OFPBPC_TOO_MANY = 3
OFPBPC_DUP_TYPE = 4
OFPBPC_BAD_EXPERIMENTER = 5
OFPBPC_BAD_EXP_TYPE = 6
OFPBPC_BAD_EXP_VALUE = 7
OFPBPC_EPERM = 8

ofp_bad_property_code_map = {
    0: 'OFPBPC_BAD_TYPE',
    1: 'OFPBPC_BAD_LEN',
    2: 'OFPBPC_BAD_VALUE',
    3: 'OFPBPC_TOO_MANY',
    4: 'OFPBPC_DUP_TYPE',
    5: 'OFPBPC_BAD_EXPERIMENTER',
    6: 'OFPBPC_BAD_EXP_TYPE',
    7: 'OFPBPC_BAD_EXP_VALUE',
    8: 'OFPBPC_EPERM',
}

# Identifiers from group ofp_bad_request_code
OFPBRC_BAD_VERSION = 0
OFPBRC_BAD_TYPE = 1
OFPBRC_BAD_STAT = 2
OFPBRC_BAD_EXPERIMENTER = 3
OFPBRC_BAD_EXPERIMENTER_TYPE = 4
OFPBRC_EPERM = 5
OFPBRC_BAD_LEN = 6
OFPBRC_BUFFER_EMPTY = 7
OFPBRC_BUFFER_UNKNOWN = 8
OFPBRC_BAD_TABLE_ID = 9
OFPBRC_IS_SLAVE = 10
OFPBRC_BAD_PORT = 11
OFPBRC_BAD_PACKET = 12
OFPBRC_MULTIPART_BUFFER_OVERFLOW = 13
OFPBRC_MULTIPART_REQUEST_TIMEOUT = 14
OFPBRC_MULTIPART_REPLY_TIMEOUT = 15

ofp_bad_request_code_map = {
    0: 'OFPBRC_BAD_VERSION',
    1: 'OFPBRC_BAD_TYPE',
    2: 'OFPBRC_BAD_STAT',
    3: 'OFPBRC_BAD_EXPERIMENTER',
    4: 'OFPBRC_BAD_EXPERIMENTER_TYPE',
    5: 'OFPBRC_EPERM',
    6: 'OFPBRC_BAD_LEN',
    7: 'OFPBRC_BUFFER_EMPTY',
    8: 'OFPBRC_BUFFER_UNKNOWN',
    9: 'OFPBRC_BAD_TABLE_ID',
    10: 'OFPBRC_IS_SLAVE',
    11: 'OFPBRC_BAD_PORT',
    12: 'OFPBRC_BAD_PACKET',
    13: 'OFPBRC_MULTIPART_BUFFER_OVERFLOW',
    14: 'OFPBRC_MULTIPART_REQUEST_TIMEOUT',
    15: 'OFPBRC_MULTIPART_REPLY_TIMEOUT',
}

# Identifiers from group ofp_bsn_anchor
OFP_BSN_ANCHOR_PACKET_START = 0
OFP_BSN_ANCHOR_L3_HEADER_START = 1
OFP_BSN_ANCHOR_L4_HEADER_START = 2
OFP_BSN_ANCHOR_L4_PAYLOAD_START = 3

ofp_bsn_anchor_map = {
    0: 'OFP_BSN_ANCHOR_PACKET_START',
    1: 'OFP_BSN_ANCHOR_L3_HEADER_START',
    2: 'OFP_BSN_ANCHOR_L4_HEADER_START',
    3: 'OFP_BSN_ANCHOR_L4_PAYLOAD_START',
}

# Identifiers from group ofp_bsn_controller_connection_state
OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED = 0
OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED = 1

ofp_bsn_controller_connection_state_map = {
    0: 'OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED',
    1: 'OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED',
}

# Identifiers from group ofp_bsn_lacp_state
OFP_BSN_LACP_STATE_ACTIVITY = 1
OFP_BSN_LACP_STATE_TIMEOUT = 2
OFP_BSN_LACP_STATE_AGGREGATION = 4
OFP_BSN_LACP_STATE_SYNCHRONIZATION = 8
OFP_BSN_LACP_STATE_COLLECTING = 16
OFP_BSN_LACP_STATE_DISTRIBUTING = 32
OFP_BSN_LACP_STATE_DEFAULTED = 64
OFP_BSN_LACP_STATE_EXPIRED = 128

ofp_bsn_lacp_state_map = {
    1: 'OFP_BSN_LACP_STATE_ACTIVITY',
    2: 'OFP_BSN_LACP_STATE_TIMEOUT',
    4: 'OFP_BSN_LACP_STATE_AGGREGATION',
    8: 'OFP_BSN_LACP_STATE_SYNCHRONIZATION',
    16: 'OFP_BSN_LACP_STATE_COLLECTING',
    32: 'OFP_BSN_LACP_STATE_DISTRIBUTING',
    64: 'OFP_BSN_LACP_STATE_DEFAULTED',
    128: 'OFP_BSN_LACP_STATE_EXPIRED',
}

# Identifiers from group ofp_bsn_loglevel
OFP_BSN_LOGLEVEL_MSG = 0
OFP_BSN_LOGLEVEL_ERROR = 1
OFP_BSN_LOGLEVEL_WARN = 2
OFP_BSN_LOGLEVEL_INFO = 3
OFP_BSN_LOGLEVEL_VERBOSE = 4
OFP_BSN_LOGLEVEL_TRACE = 5

ofp_bsn_loglevel_map = {
    0: 'OFP_BSN_LOGLEVEL_MSG',
    1: 'OFP_BSN_LOGLEVEL_ERROR',
    2: 'OFP_BSN_LOGLEVEL_WARN',
    3: 'OFP_BSN_LOGLEVEL_INFO',
    4: 'OFP_BSN_LOGLEVEL_VERBOSE',
    5: 'OFP_BSN_LOGLEVEL_TRACE',
}

# Identifiers from group ofp_bsn_lua_upload_flags
OFP_BSN_LUA_UPLOAD_MORE = 1
OFP_BSN_LUA_UPLOAD_FORCE = 2

ofp_bsn_lua_upload_flags_map = {
    1: 'OFP_BSN_LUA_UPLOAD_MORE',
    2: 'OFP_BSN_LUA_UPLOAD_FORCE',
}

# Identifiers from group ofp_bsn_pktin_flag
OFP_BSN_PKTIN_FLAG_PDU = 1
OFP_BSN_PKTIN_FLAG_NEW_HOST = 2
OFP_BSN_PKTIN_FLAG_STATION_MOVE = 4
OFP_BSN_PKTIN_FLAG_ARP = 8
OFP_BSN_PKTIN_FLAG_DHCP = 16
OFP_BSN_PKTIN_FLAG_L2_CPU = 32
OFP_BSN_PKTIN_FLAG_DEBUG = 64
OFP_BSN_PKTIN_FLAG_TTL_EXPIRED = 128
OFP_BSN_PKTIN_FLAG_L3_MISS = 256
OFP_BSN_PKTIN_FLAG_L3_CPU = 512
OFP_BSN_PKTIN_FLAG_INGRESS_ACL = 1024
OFP_BSN_PKTIN_FLAG_SFLOW = 2048
OFP_BSN_PKTIN_FLAG_ARP_CACHE = 4096
OFP_BSN_PKTIN_FLAG_ARP_TARGET = 8192

ofp_bsn_pktin_flag_map = {
    1: 'OFP_BSN_PKTIN_FLAG_PDU',
    2: 'OFP_BSN_PKTIN_FLAG_NEW_HOST',
    4: 'OFP_BSN_PKTIN_FLAG_STATION_MOVE',
    8: 'OFP_BSN_PKTIN_FLAG_ARP',
    16: 'OFP_BSN_PKTIN_FLAG_DHCP',
    32: 'OFP_BSN_PKTIN_FLAG_L2_CPU',
    64: 'OFP_BSN_PKTIN_FLAG_DEBUG',
    128: 'OFP_BSN_PKTIN_FLAG_TTL_EXPIRED',
    256: 'OFP_BSN_PKTIN_FLAG_L3_MISS',
    512: 'OFP_BSN_PKTIN_FLAG_L3_CPU',
    1024: 'OFP_BSN_PKTIN_FLAG_INGRESS_ACL',
    2048: 'OFP_BSN_PKTIN_FLAG_SFLOW',
    4096: 'OFP_BSN_PKTIN_FLAG_ARP_CACHE',
    8192: 'OFP_BSN_PKTIN_FLAG_ARP_TARGET',
}

# Identifiers from group ofp_bsn_port_counter
OFP_BSN_PORT_COUNTER_RX_BYTES = 0
OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST = 1
OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST = 2
OFP_BSN_PORT_COUNTER_RX_PACKETS_MULTICAST = 3
OFP_BSN_PORT_COUNTER_RX_DROPPED = 4
OFP_BSN_PORT_COUNTER_RX_ERRORS = 5
OFP_BSN_PORT_COUNTER_TX_BYTES = 6
OFP_BSN_PORT_COUNTER_TX_PACKETS_UNICAST = 7
OFP_BSN_PORT_COUNTER_TX_PACKETS_BROADCAST = 8
OFP_BSN_PORT_COUNTER_TX_PACKETS_MULTICAST = 9
OFP_BSN_PORT_COUNTER_TX_DROPPED = 10
OFP_BSN_PORT_COUNTER_TX_ERRORS = 11
OFP_BSN_PORT_COUNTER_RX_RUNTS = 12
OFP_BSN_PORT_COUNTER_RX_GIANTS = 13
OFP_BSN_PORT_COUNTER_RX_CRC_ERRORS = 14
OFP_BSN_PORT_COUNTER_RX_ALIGNMENT_ERRORS = 15
OFP_BSN_PORT_COUNTER_RX_SYMBOL_ERRORS = 16
OFP_BSN_PORT_COUNTER_RX_PAUSE_INPUT = 17
OFP_BSN_PORT_COUNTER_TX_COLLISIONS = 18
OFP_BSN_PORT_COUNTER_TX_LATE_COLLISIONS = 19
OFP_BSN_PORT_COUNTER_TX_DEFERRED = 20
OFP_BSN_PORT_COUNTER_TX_PAUSE_OUTPUT = 21
OFP_BSN_PORT_COUNTER_RX_PACKETS = 22
OFP_BSN_PORT_COUNTER_TX_PACKETS = 23
OFP_BSN_PORT_COUNTER_RX_LENGTH_ERRORS = 24
OFP_BSN_PORT_COUNTER_RX_OVERFLOW_ERRORS = 25
OFP_BSN_PORT_COUNTER_TX_CARRIER_ERRORS = 26
OFP_BSN_PORT_COUNTER_RX_PACKETS_BAD_VLAN = 27

ofp_bsn_port_counter_map = {
    0: 'OFP_BSN_PORT_COUNTER_RX_BYTES',
    1: 'OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST',
    2: 'OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST',
    3: 'OFP_BSN_PORT_COUNTER_RX_PACKETS_MULTICAST',
    4: 'OFP_BSN_PORT_COUNTER_RX_DROPPED',
    5: 'OFP_BSN_PORT_COUNTER_RX_ERRORS',
    6: 'OFP_BSN_PORT_COUNTER_TX_BYTES',
    7: 'OFP_BSN_PORT_COUNTER_TX_PACKETS_UNICAST',
    8: 'OFP_BSN_PORT_COUNTER_TX_PACKETS_BROADCAST',
    9: 'OFP_BSN_PORT_COUNTER_TX_PACKETS_MULTICAST',
    10: 'OFP_BSN_PORT_COUNTER_TX_DROPPED',
    11: 'OFP_BSN_PORT_COUNTER_TX_ERRORS',
    12: 'OFP_BSN_PORT_COUNTER_RX_RUNTS',
    13: 'OFP_BSN_PORT_COUNTER_RX_GIANTS',
    14: 'OFP_BSN_PORT_COUNTER_RX_CRC_ERRORS',
    15: 'OFP_BSN_PORT_COUNTER_RX_ALIGNMENT_ERRORS',
    16: 'OFP_BSN_PORT_COUNTER_RX_SYMBOL_ERRORS',
    17: 'OFP_BSN_PORT_COUNTER_RX_PAUSE_INPUT',
    18: 'OFP_BSN_PORT_COUNTER_TX_COLLISIONS',
    19: 'OFP_BSN_PORT_COUNTER_TX_LATE_COLLISIONS',
    20: 'OFP_BSN_PORT_COUNTER_TX_DEFERRED',
    21: 'OFP_BSN_PORT_COUNTER_TX_PAUSE_OUTPUT',
    22: 'OFP_BSN_PORT_COUNTER_RX_PACKETS',
    23: 'OFP_BSN_PORT_COUNTER_TX_PACKETS',
    24: 'OFP_BSN_PORT_COUNTER_RX_LENGTH_ERRORS',
    25: 'OFP_BSN_PORT_COUNTER_RX_OVERFLOW_ERRORS',
    26: 'OFP_BSN_PORT_COUNTER_TX_CARRIER_ERRORS',
    27: 'OFP_BSN_PORT_COUNTER_RX_PACKETS_BAD_VLAN',
}

# Identifiers from group ofp_bsn_tcp_flag
OFP_BSN_TCP_FLAG_FIN = 1
OFP_BSN_TCP_FLAG_SYN = 2
OFP_BSN_TCP_FLAG_RST = 4
OFP_BSN_TCP_FLAG_PSH = 8
OFP_BSN_TCP_FLAG_ACK = 16
OFP_BSN_TCP_FLAG_URG = 32
OFP_BSN_TCP_FLAG_ECE = 64
OFP_BSN_TCP_FLAG_CWR = 128
OFP_BSN_TCP_FLAG_NS = 256

ofp_bsn_tcp_flag_map = {
    1: 'OFP_BSN_TCP_FLAG_FIN',
    2: 'OFP_BSN_TCP_FLAG_SYN',
    4: 'OFP_BSN_TCP_FLAG_RST',
    8: 'OFP_BSN_TCP_FLAG_PSH',
    16: 'OFP_BSN_TCP_FLAG_ACK',
    32: 'OFP_BSN_TCP_FLAG_URG',
    64: 'OFP_BSN_TCP_FLAG_ECE',
    128: 'OFP_BSN_TCP_FLAG_CWR',
    256: 'OFP_BSN_TCP_FLAG_NS',
}

# Identifiers from group ofp_bsn_udf_anchor
OFP_BSN_UDF_ANCHOR_PACKET_START = 0
OFP_BSN_UDF_ANCHOR_L3_HEADER_START = 1
OFP_BSN_UDF_ANCHOR_L4_HEADER_START = 2

ofp_bsn_udf_anchor_map = {
    0: 'OFP_BSN_UDF_ANCHOR_PACKET_START',
    1: 'OFP_BSN_UDF_ANCHOR_L3_HEADER_START',
    2: 'OFP_BSN_UDF_ANCHOR_L4_HEADER_START',
}

# Identifiers from group ofp_bsn_vlan_counter_constants
OFP_BSN_VLAN_ALL = 65535

ofp_bsn_vlan_counter_constants_map = {
    65535: 'OFP_BSN_VLAN_ALL',
}

# Identifiers from group ofp_bsn_vport_l2gre_flags
OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID = 1
OF_BSN_VPORT_L2GRE_DSCP_ASSIGN = 2
OF_BSN_VPORT_L2GRE_DSCP_COPY = 4
OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID = 8
OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID = 16

ofp_bsn_vport_l2gre_flags_map = {
    1: 'OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID',
    2: 'OF_BSN_VPORT_L2GRE_DSCP_ASSIGN',
    4: 'OF_BSN_VPORT_L2GRE_DSCP_COPY',
    8: 'OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID',
    16: 'OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID',
}

# Identifiers from group ofp_bsn_vport_q_in_q_untagged
OF_BSN_VPORT_Q_IN_Q_UNTAGGED = 65535

ofp_bsn_vport_q_in_q_untagged_map = {
    65535: 'OF_BSN_VPORT_Q_IN_Q_UNTAGGED',
}

# Identifiers from group ofp_bsn_vport_status
OF_BSN_VPORT_STATUS_OK = 0
OF_BSN_VPORT_STATUS_FAILED = 1

ofp_bsn_vport_status_map = {
    0: 'OF_BSN_VPORT_STATUS_OK',
    1: 'OF_BSN_VPORT_STATUS_FAILED',
}

# Identifiers from group ofp_bsn_vrf_counter_constants
OFP_BSN_VRF_ALL = 4294967295

ofp_bsn_vrf_counter_constants_map = {
    4294967295: 'OFP_BSN_VRF_ALL',
}

# Identifiers from group ofp_bundle_ctrl_type
OFPBCT_OPEN_REQUEST = 0
OFPBCT_OPEN_REPLY = 1
OFPBCT_CLOSE_REQUEST = 2
OFPBCT_CLOSE_REPLY = 3
OFPBCT_COMMIT_REQUEST = 4
OFPBCT_COMMIT_REPLY = 5
OFPBCT_DISCARD_REQUEST = 6
OFPBCT_DISCARD_REPLY = 7

ofp_bundle_ctrl_type_map = {
    0: 'OFPBCT_OPEN_REQUEST',
    1: 'OFPBCT_OPEN_REPLY',
    2: 'OFPBCT_CLOSE_REQUEST',
    3: 'OFPBCT_CLOSE_REPLY',
    4: 'OFPBCT_COMMIT_REQUEST',
    5: 'OFPBCT_COMMIT_REPLY',
    6: 'OFPBCT_DISCARD_REQUEST',
    7: 'OFPBCT_DISCARD_REPLY',
}

# Identifiers from group ofp_bundle_failed_code
OFPBFC_UNKNOWN = 0
OFPBFC_EPERM = 1
OFPBFC_BAD_ID = 2
OFPBFC_BUNDLE_EXIST = 3
OFPBFC_BUNDLE_CLOSED = 4
OFPBFC_OUT_OF_BUNDLES = 5
OFPBFC_BAD_TYPE = 6
OFPBFC_BAD_FLAGS = 7
OFPBFC_MSG_BAD_LEN = 8
OFPBFC_MSG_BAD_XID = 9
OFPBFC_MSG_UNSUP = 10
OFPBFC_MSG_CONFLICT = 11
OFPBFC_MSG_TOO_MANY = 12
OFPBFC_MSG_FAILED = 13
OFPBFC_TIMEOUT = 14
OFPBFC_BUNDLE_IN_PROGRESS = 15

ofp_bundle_failed_code_map = {
    0: 'OFPBFC_UNKNOWN',
    1: 'OFPBFC_EPERM',
    2: 'OFPBFC_BAD_ID',
    3: 'OFPBFC_BUNDLE_EXIST',
    4: 'OFPBFC_BUNDLE_CLOSED',
    5: 'OFPBFC_OUT_OF_BUNDLES',
    6: 'OFPBFC_BAD_TYPE',
    7: 'OFPBFC_BAD_FLAGS',
    8: 'OFPBFC_MSG_BAD_LEN',
    9: 'OFPBFC_MSG_BAD_XID',
    10: 'OFPBFC_MSG_UNSUP',
    11: 'OFPBFC_MSG_CONFLICT',
    12: 'OFPBFC_MSG_TOO_MANY',
    13: 'OFPBFC_MSG_FAILED',
    14: 'OFPBFC_TIMEOUT',
    15: 'OFPBFC_BUNDLE_IN_PROGRESS',
}

# Identifiers from group ofp_bundle_flags
OFPBF_ATOMIC = 1
OFPBF_ORDERED = 2

ofp_bundle_flags_map = {
    1: 'OFPBF_ATOMIC',
    2: 'OFPBF_ORDERED',
}

# Identifiers from group ofp_capabilities
OFPC_FLOW_STATS = 1
OFPC_TABLE_STATS = 2
OFPC_PORT_STATS = 4
OFPC_GROUP_STATS = 8
OFPC_IP_REASM = 32
OFPC_QUEUE_STATS = 64
OFPC_PORT_BLOCKED = 256

ofp_capabilities_map = {
    1: 'OFPC_FLOW_STATS',
    2: 'OFPC_TABLE_STATS',
    4: 'OFPC_PORT_STATS',
    8: 'OFPC_GROUP_STATS',
    32: 'OFPC_IP_REASM',
    64: 'OFPC_QUEUE_STATS',
    256: 'OFPC_PORT_BLOCKED',
}

# Identifiers from group ofp_config_flags
OFPC_FRAG_NORMAL = 0
OFPC_FRAG_DROP = 1
OFPC_FRAG_REASM = 2
OFPC_FRAG_MASK = 3

ofp_config_flags_map = {
    0: 'OFPC_FRAG_NORMAL',
    1: 'OFPC_FRAG_DROP',
    2: 'OFPC_FRAG_REASM',
    3: 'OFPC_FRAG_MASK',
}

# Identifiers from group ofp_controller_max_len
OFPCML_MAX = 65509
OFPCML_NO_BUFFER = 65535

ofp_controller_max_len_map = {
    65509: 'OFPCML_MAX',
    65535: 'OFPCML_NO_BUFFER',
}

# Identifiers from group ofp_controller_role
OFPCR_ROLE_NOCHANGE = 0
OFPCR_ROLE_EQUAL = 1
OFPCR_ROLE_MASTER = 2
OFPCR_ROLE_SLAVE = 3

ofp_controller_role_map = {
    0: 'OFPCR_ROLE_NOCHANGE',
    1: 'OFPCR_ROLE_EQUAL',
    2: 'OFPCR_ROLE_MASTER',
    3: 'OFPCR_ROLE_SLAVE',
}

# Identifiers from group ofp_controller_role_reason
OFPCRR_MASTER_REQUEST = 0
OFPCRR_CONFIG = 1
OFPCRR_EXPERIMENTER = 2

ofp_controller_role_reason_map = {
    0: 'OFPCRR_MASTER_REQUEST',
    1: 'OFPCRR_CONFIG',
    2: 'OFPCRR_EXPERIMENTER',
}

# Identifiers from group ofp_error_type
OFPET_HELLO_FAILED = 0
OFPET_BAD_REQUEST = 1
OFPET_BAD_ACTION = 2
OFPET_BAD_INSTRUCTION = 3
OFPET_BAD_MATCH = 4
OFPET_FLOW_MOD_FAILED = 5
OFPET_GROUP_MOD_FAILED = 6
OFPET_PORT_MOD_FAILED = 7
OFPET_TABLE_MOD_FAILED = 8
OFPET_QUEUE_OP_FAILED = 9
OFPET_SWITCH_CONFIG_FAILED = 10
OFPET_ROLE_REQUEST_FAILED = 11
OFPET_METER_MOD_FAILED = 12
OFPET_TABLE_FEATURES_FAILED = 13
OFPET_BAD_PROPERTY = 14
OFPET_ASYNC_CONFIG_FAILED = 15
OFPET_FLOW_MONITOR_FAILED = 16
OFPET_BUNDLE_FAILED = 17
OFPET_EXPERIMENTER = 65535

ofp_error_type_map = {
    0: 'OFPET_HELLO_FAILED',
    1: 'OFPET_BAD_REQUEST',
    2: 'OFPET_BAD_ACTION',
    3: 'OFPET_BAD_INSTRUCTION',
    4: 'OFPET_BAD_MATCH',
    5: 'OFPET_FLOW_MOD_FAILED',
    6: 'OFPET_GROUP_MOD_FAILED',
    7: 'OFPET_PORT_MOD_FAILED',
    8: 'OFPET_TABLE_MOD_FAILED',
    9: 'OFPET_QUEUE_OP_FAILED',
    10: 'OFPET_SWITCH_CONFIG_FAILED',
    11: 'OFPET_ROLE_REQUEST_FAILED',
    12: 'OFPET_METER_MOD_FAILED',
    13: 'OFPET_TABLE_FEATURES_FAILED',
    14: 'OFPET_BAD_PROPERTY',
    15: 'OFPET_ASYNC_CONFIG_FAILED',
    16: 'OFPET_FLOW_MONITOR_FAILED',
    17: 'OFPET_BUNDLE_FAILED',
    65535: 'OFPET_EXPERIMENTER',
}

# Identifiers from group ofp_flow_mod_command
OFPFC_ADD = 0
OFPFC_MODIFY = 1
OFPFC_MODIFY_STRICT = 2
OFPFC_DELETE = 3
OFPFC_DELETE_STRICT = 4

ofp_flow_mod_command_map = {
    0: 'OFPFC_ADD',
    1: 'OFPFC_MODIFY',
    2: 'OFPFC_MODIFY_STRICT',
    3: 'OFPFC_DELETE',
    4: 'OFPFC_DELETE_STRICT',
}

# Identifiers from group ofp_flow_mod_failed_code
OFPFMFC_UNKNOWN = 0
OFPFMFC_TABLE_FULL = 1
OFPFMFC_BAD_TABLE_ID = 2
OFPFMFC_OVERLAP = 3
OFPFMFC_EPERM = 4
OFPFMFC_BAD_TIMEOUT = 5
OFPFMFC_BAD_COMMAND = 6
OFPFMFC_BAD_FLAGS = 7
OFPFMFC_CANT_SYNC = 8
OFPFMFC_BAD_PRIORITY = 9

ofp_flow_mod_failed_code_map = {
    0: 'OFPFMFC_UNKNOWN',
    1: 'OFPFMFC_TABLE_FULL',
    2: 'OFPFMFC_BAD_TABLE_ID',
    3: 'OFPFMFC_OVERLAP',
    4: 'OFPFMFC_EPERM',
    5: 'OFPFMFC_BAD_TIMEOUT',
    6: 'OFPFMFC_BAD_COMMAND',
    7: 'OFPFMFC_BAD_FLAGS',
    8: 'OFPFMFC_CANT_SYNC',
    9: 'OFPFMFC_BAD_PRIORITY',
}

# Identifiers from group ofp_flow_mod_flags
OFPFF_SEND_FLOW_REM = 1
OFPFF_CHECK_OVERLAP = 2
OFPFF_RESET_COUNTS = 4
OFPFF_NO_PKT_COUNTS = 8
OFPFF_NO_BYT_COUNTS = 16
OFPFF_BSN_SEND_IDLE = 128

ofp_flow_mod_flags_map = {
    1: 'OFPFF_SEND_FLOW_REM',
    2: 'OFPFF_CHECK_OVERLAP',
    4: 'OFPFF_RESET_COUNTS',
    8: 'OFPFF_NO_PKT_COUNTS',
    16: 'OFPFF_NO_BYT_COUNTS',
    128: 'OFPFF_BSN_SEND_IDLE',
}

# Identifiers from group ofp_flow_monitor_failed_code
OFPMOFC_UNKNOWN = 0
OFPMOFC_MONITOR_EXISTS = 1
OFPMOFC_INVALID_MONITOR = 2
OFPMOFC_UNKNOWN_MONITOR = 3
OFPMOFC_BAD_COMMAND = 4
OFPMOFC_BAD_FLAGS = 5
OFPMOFC_BAD_TABLE_ID = 6
OFPMOFC_BAD_OUT = 7

ofp_flow_monitor_failed_code_map = {
    0: 'OFPMOFC_UNKNOWN',
    1: 'OFPMOFC_MONITOR_EXISTS',
    2: 'OFPMOFC_INVALID_MONITOR',
    3: 'OFPMOFC_UNKNOWN_MONITOR',
    4: 'OFPMOFC_BAD_COMMAND',
    5: 'OFPMOFC_BAD_FLAGS',
    6: 'OFPMOFC_BAD_TABLE_ID',
    7: 'OFPMOFC_BAD_OUT',
}

# Identifiers from group ofp_flow_removed_reason
OFPRR_IDLE_TIMEOUT = 0
OFPRR_HARD_TIMEOUT = 1
OFPRR_DELETE = 2
OFPRR_GROUP_DELETE = 3
OFPRR_METER_DELETE = 4
OFPRR_EVICTION = 5

ofp_flow_removed_reason_map = {
    0: 'OFPRR_IDLE_TIMEOUT',
    1: 'OFPRR_HARD_TIMEOUT',
    2: 'OFPRR_DELETE',
    3: 'OFPRR_GROUP_DELETE',
    4: 'OFPRR_METER_DELETE',
    5: 'OFPRR_EVICTION',
}

# Identifiers from group ofp_group
OFPG_MAX = 4294967040
OFPG_ALL = 4294967292
OFPG_ANY = 4294967295

ofp_group_map = {
    4294967040: 'OFPG_MAX',
    4294967292: 'OFPG_ALL',
    4294967295: 'OFPG_ANY',
}

# Identifiers from group ofp_group_capabilities
OFPGFC_SELECT_WEIGHT = 1
OFPGFC_SELECT_LIVENESS = 2
OFPGFC_CHAINING = 4
OFPGFC_CHAINING_CHECKS = 8

ofp_group_capabilities_map = {
    1: 'OFPGFC_SELECT_WEIGHT',
    2: 'OFPGFC_SELECT_LIVENESS',
    4: 'OFPGFC_CHAINING',
    8: 'OFPGFC_CHAINING_CHECKS',
}

# Identifiers from group ofp_group_mod_command
OFPGC_ADD = 0
OFPGC_MODIFY = 1
OFPGC_DELETE = 2

ofp_group_mod_command_map = {
    0: 'OFPGC_ADD',
    1: 'OFPGC_MODIFY',
    2: 'OFPGC_DELETE',
}

# Identifiers from group ofp_group_mod_failed_code
OFPGMFC_GROUP_EXISTS = 0
OFPGMFC_INVALID_GROUP = 1
OFPGMFC_WEIGHT_UNSUPPORTED = 2
OFPGMFC_OUT_OF_GROUPS = 3
OFPGMFC_OUT_OF_BUCKETS = 4
OFPGMFC_CHAINING_UNSUPPORTED = 5
OFPGMFC_WATCH_UNSUPPORTED = 6
OFPGMFC_LOOP = 7
OFPGMFC_UNKNOWN_GROUP = 8
OFPGMFC_CHAINED_GROUP = 9
OFPGMFC_BAD_TYPE = 10
OFPGMFC_BAD_COMMAND = 11
OFPGMFC_BAD_BUCKET = 12
OFPGMFC_BAD_WATCH = 13
OFPGMFC_EPERM = 14

ofp_group_mod_failed_code_map = {
    0: 'OFPGMFC_GROUP_EXISTS',
    1: 'OFPGMFC_INVALID_GROUP',
    2: 'OFPGMFC_WEIGHT_UNSUPPORTED',
    3: 'OFPGMFC_OUT_OF_GROUPS',
    4: 'OFPGMFC_OUT_OF_BUCKETS',
    5: 'OFPGMFC_CHAINING_UNSUPPORTED',
    6: 'OFPGMFC_WATCH_UNSUPPORTED',
    7: 'OFPGMFC_LOOP',
    8: 'OFPGMFC_UNKNOWN_GROUP',
    9: 'OFPGMFC_CHAINED_GROUP',
    10: 'OFPGMFC_BAD_TYPE',
    11: 'OFPGMFC_BAD_COMMAND',
    12: 'OFPGMFC_BAD_BUCKET',
    13: 'OFPGMFC_BAD_WATCH',
    14: 'OFPGMFC_EPERM',
}

# Identifiers from group ofp_group_type
OFPGT_ALL = 0
OFPGT_SELECT = 1
OFPGT_INDIRECT = 2
OFPGT_FF = 3

ofp_group_type_map = {
    0: 'OFPGT_ALL',
    1: 'OFPGT_SELECT',
    2: 'OFPGT_INDIRECT',
    3: 'OFPGT_FF',
}

# Identifiers from group ofp_hello_elem_type
OFPHET_VERSIONBITMAP = 1

ofp_hello_elem_type_map = {
    1: 'OFPHET_VERSIONBITMAP',
}

# Identifiers from group ofp_hello_failed_code
OFPHFC_INCOMPATIBLE = 0
OFPHFC_EPERM = 1

ofp_hello_failed_code_map = {
    0: 'OFPHFC_INCOMPATIBLE',
    1: 'OFPHFC_EPERM',
}

# Identifiers from group ofp_instruction_type
OFPIT_GOTO_TABLE = 1
OFPIT_WRITE_METADATA = 2
OFPIT_WRITE_ACTIONS = 3
OFPIT_APPLY_ACTIONS = 4
OFPIT_CLEAR_ACTIONS = 5
OFPIT_METER = 6
OFPIT_EXPERIMENTER = 65535

ofp_instruction_type_map = {
    1: 'OFPIT_GOTO_TABLE',
    2: 'OFPIT_WRITE_METADATA',
    3: 'OFPIT_WRITE_ACTIONS',
    4: 'OFPIT_APPLY_ACTIONS',
    5: 'OFPIT_CLEAR_ACTIONS',
    6: 'OFPIT_METER',
    65535: 'OFPIT_EXPERIMENTER',
}

# Identifiers from group ofp_ipv6exthdr_flags
OFPIEH_NONEXT = 1
OFPIEH_ESP = 2
OFPIEH_AUTH = 4
OFPIEH_DEST = 8
OFPIEH_FRAG = 16
OFPIEH_ROUTER = 32
OFPIEH_HOP = 64
OFPIEH_UNREP = 128
OFPIEH_UNSEQ = 256

ofp_ipv6exthdr_flags_map = {
    1: 'OFPIEH_NONEXT',
    2: 'OFPIEH_ESP',
    4: 'OFPIEH_AUTH',
    8: 'OFPIEH_DEST',
    16: 'OFPIEH_FRAG',
    32: 'OFPIEH_ROUTER',
    64: 'OFPIEH_HOP',
    128: 'OFPIEH_UNREP',
    256: 'OFPIEH_UNSEQ',
}

# Identifiers from group ofp_match_type
OFPMT_STANDARD = 0
OFPMT_OXM = 1

ofp_match_type_map = {
    0: 'OFPMT_STANDARD',
    1: 'OFPMT_OXM',
}

# Identifiers from group ofp_meter
OFPM_MAX = 4294901760
OFPM_SLOWPATH = 4294967293
OFPM_CONTROLLER = 4294967294
OFPM_ALL = 4294967295

ofp_meter_map = {
    4294901760: 'OFPM_MAX',
    4294967293: 'OFPM_SLOWPATH',
    4294967294: 'OFPM_CONTROLLER',
    4294967295: 'OFPM_ALL',
}

# Identifiers from group ofp_meter_band_type
OFPMBT_DROP = 1
OFPMBT_DSCP_REMARK = 2
OFPMBT_EXPERIMENTER = 65535

ofp_meter_band_type_map = {
    1: 'OFPMBT_DROP',
    2: 'OFPMBT_DSCP_REMARK',
    65535: 'OFPMBT_EXPERIMENTER',
}

# Identifiers from group ofp_meter_flags
OFPMF_KBPS = 1
OFPMF_PKTPS = 2
OFPMF_BURST = 4
OFPMF_STATS = 8

ofp_meter_flags_map = {
    1: 'OFPMF_KBPS',
    2: 'OFPMF_PKTPS',
    4: 'OFPMF_BURST',
    8: 'OFPMF_STATS',
}

# Identifiers from group ofp_meter_mod_command
OFPMC_ADD = 0
OFPMC_MODIFY = 1
OFPMC_DELETE = 2

ofp_meter_mod_command_map = {
    0: 'OFPMC_ADD',
    1: 'OFPMC_MODIFY',
    2: 'OFPMC_DELETE',
}

# Identifiers from group ofp_meter_mod_failed_code
OFPMMFC_UNKNOWN = 0
OFPMMFC_METER_EXISTS = 1
OFPMMFC_INVALID_METER = 2
OFPMMFC_UNKNOWN_METER = 3
OFPMMFC_BAD_COMMAND = 4
OFPMMFC_BAD_FLAGS = 5
OFPMMFC_BAD_RATE = 6
OFPMMFC_BAD_BURST = 7
OFPMMFC_BAD_BAND = 8
OFPMMFC_BAD_BAND_VALUE = 9
OFPMMFC_OUT_OF_METERS = 10
OFPMMFC_OUT_OF_BANDS = 11

ofp_meter_mod_failed_code_map = {
    0: 'OFPMMFC_UNKNOWN',
    1: 'OFPMMFC_METER_EXISTS',
    2: 'OFPMMFC_INVALID_METER',
    3: 'OFPMMFC_UNKNOWN_METER',
    4: 'OFPMMFC_BAD_COMMAND',
    5: 'OFPMMFC_BAD_FLAGS',
    6: 'OFPMMFC_BAD_RATE',
    7: 'OFPMMFC_BAD_BURST',
    8: 'OFPMMFC_BAD_BAND',
    9: 'OFPMMFC_BAD_BAND_VALUE',
    10: 'OFPMMFC_OUT_OF_METERS',
    11: 'OFPMMFC_OUT_OF_BANDS',
}

# Identifiers from group ofp_optical_port_features
OFPOPF_RX_TUNE = 1
OFPOPF_TX_TUNE = 2
OFPOPF_TX_PWR = 4
OFPOPF_USE_FREQ = 8

ofp_optical_port_features_map = {
    1: 'OFPOPF_RX_TUNE',
    2: 'OFPOPF_TX_TUNE',
    4: 'OFPOPF_TX_PWR',
    8: 'OFPOPF_USE_FREQ',
}

# Identifiers from group ofp_oxm_class
OFPXMC_NXM_0 = 0
OFPXMC_NXM_1 = 1
OFPXMC_OPENFLOW_BASIC = 32768
OFPXMC_EXPERIMENTER = 65535

ofp_oxm_class_map = {
    0: 'OFPXMC_NXM_0',
    1: 'OFPXMC_NXM_1',
    32768: 'OFPXMC_OPENFLOW_BASIC',
    65535: 'OFPXMC_EXPERIMENTER',
}

# Identifiers from group ofp_packet_in_reason
OFPR_NO_MATCH = 0
OFPR_ACTION = 1
OFPR_INVALID_TTL = 2
OFPR_ACTION_SET = 3
OFPR_GROUP = 4
OFPR_PACKET_OUT = 5
OFPR_BSN_NEW_HOST = 128
OFPR_BSN_STATION_MOVE = 129
OFPR_BSN_BAD_VLAN = 130
OFPR_BSN_DESTINATION_LOOKUP_FAILURE = 131
OFPR_BSN_NO_ROUTE = 132
OFPR_BSN_ICMP_ECHO_REQUEST = 133
OFPR_BSN_DEST_NETWORK_UNREACHABLE = 134
OFPR_BSN_DEST_HOST_UNREACHABLE = 135
OFPR_BSN_DEST_PORT_UNREACHABLE = 136
OFPR_BSN_FRAGMENTATION_REQUIRED = 137
OFPR_BSN_ARP = 139
OFPR_BSN_DHCP = 140
OFPR_BSN_DEBUG = 141
OFPR_BSN_PACKET_OF_DEATH = 142

ofp_packet_in_reason_map = {
    0: 'OFPR_NO_MATCH',
    1: 'OFPR_ACTION',
    2: 'OFPR_INVALID_TTL',
    3: 'OFPR_ACTION_SET',
    4: 'OFPR_GROUP',
    5: 'OFPR_PACKET_OUT',
    128: 'OFPR_BSN_NEW_HOST',
    129: 'OFPR_BSN_STATION_MOVE',
    130: 'OFPR_BSN_BAD_VLAN',
    131: 'OFPR_BSN_DESTINATION_LOOKUP_FAILURE',
    132: 'OFPR_BSN_NO_ROUTE',
    133: 'OFPR_BSN_ICMP_ECHO_REQUEST',
    134: 'OFPR_BSN_DEST_NETWORK_UNREACHABLE',
    135: 'OFPR_BSN_DEST_HOST_UNREACHABLE',
    136: 'OFPR_BSN_DEST_PORT_UNREACHABLE',
    137: 'OFPR_BSN_FRAGMENTATION_REQUIRED',
    139: 'OFPR_BSN_ARP',
    140: 'OFPR_BSN_DHCP',
    141: 'OFPR_BSN_DEBUG',
    142: 'OFPR_BSN_PACKET_OF_DEATH',
}

# Identifiers from group ofp_port
OFPP_MAX = 4294967040
OFPP_IN_PORT = 4294967288
OFPP_TABLE = 4294967289
OFPP_NORMAL = 4294967290
OFPP_FLOOD = 4294967291
OFPP_ALL = 4294967292
OFPP_CONTROLLER = 4294967293
OFPP_LOCAL = 4294967294
OFPP_ANY = 4294967295

ofp_port_map = {
    4294967040: 'OFPP_MAX',
    4294967288: 'OFPP_IN_PORT',
    4294967289: 'OFPP_TABLE',
    4294967290: 'OFPP_NORMAL',
    4294967291: 'OFPP_FLOOD',
    4294967292: 'OFPP_ALL',
    4294967293: 'OFPP_CONTROLLER',
    4294967294: 'OFPP_LOCAL',
    4294967295: 'OFPP_ANY',
}

# Identifiers from group ofp_port_config
OFPPC_PORT_DOWN = 1
OFPPC_NO_RECV = 4
OFPPC_NO_FWD = 32
OFPPC_NO_PACKET_IN = 64
OFPPC_BSN_MIRROR_DEST = 2147483648

ofp_port_config_map = {
    1: 'OFPPC_PORT_DOWN',
    4: 'OFPPC_NO_RECV',
    32: 'OFPPC_NO_FWD',
    64: 'OFPPC_NO_PACKET_IN',
    2147483648: 'OFPPC_BSN_MIRROR_DEST',
}

# Identifiers from group ofp_port_features
OFPPF_10MB_HD = 1
OFPPF_10MB_FD = 2
OFPPF_100MB_HD = 4
OFPPF_100MB_FD = 8
OFPPF_1GB_HD = 16
OFPPF_1GB_FD = 32
OFPPF_10GB_FD = 64
OFPPF_40GB_FD = 128
OFPPF_100GB_FD = 256
OFPPF_1TB_FD = 512
OFPPF_OTHER = 1024
OFPPF_COPPER = 2048
OFPPF_FIBER = 4096
OFPPF_AUTONEG = 8192
OFPPF_PAUSE = 16384
OFPPF_PAUSE_ASYM = 32768
OFPPF_BSN_BREAKOUT_CAPABLE = 2147483648

ofp_port_features_map = {
    1: 'OFPPF_10MB_HD',
    2: 'OFPPF_10MB_FD',
    4: 'OFPPF_100MB_HD',
    8: 'OFPPF_100MB_FD',
    16: 'OFPPF_1GB_HD',
    32: 'OFPPF_1GB_FD',
    64: 'OFPPF_10GB_FD',
    128: 'OFPPF_40GB_FD',
    256: 'OFPPF_100GB_FD',
    512: 'OFPPF_1TB_FD',
    1024: 'OFPPF_OTHER',
    2048: 'OFPPF_COPPER',
    4096: 'OFPPF_FIBER',
    8192: 'OFPPF_AUTONEG',
    16384: 'OFPPF_PAUSE',
    32768: 'OFPPF_PAUSE_ASYM',
    2147483648: 'OFPPF_BSN_BREAKOUT_CAPABLE',
}

# Identifiers from group ofp_port_mod_failed_code
OFPPMFC_BAD_PORT = 0
OFPPMFC_BAD_HW_ADDR = 1
OFPPMFC_BAD_CONFIG = 2
OFPPMFC_BAD_ADVERTISE = 3
OFPPMFC_EPERM = 4

ofp_port_mod_failed_code_map = {
    0: 'OFPPMFC_BAD_PORT',
    1: 'OFPPMFC_BAD_HW_ADDR',
    2: 'OFPPMFC_BAD_CONFIG',
    3: 'OFPPMFC_BAD_ADVERTISE',
    4: 'OFPPMFC_EPERM',
}

# Identifiers from group ofp_port_reason
OFPPR_ADD = 0
OFPPR_DELETE = 1
OFPPR_MODIFY = 2

ofp_port_reason_map = {
    0: 'OFPPR_ADD',
    1: 'OFPPR_DELETE',
    2: 'OFPPR_MODIFY',
}

# Identifiers from group ofp_port_state
OFPPS_LINK_DOWN = 1
OFPPS_BLOCKED = 2
OFPPS_LIVE = 4

ofp_port_state_map = {
    1: 'OFPPS_LINK_DOWN',
    2: 'OFPPS_BLOCKED',
    4: 'OFPPS_LIVE',
}

# Identifiers from group ofp_port_stats_optical_flags
OFPOSF_RX_TUNE = 1
OFPOSF_TX_TUNE = 2
OFPOSF_TX_PWR = 4
OFPOSF_RX_PWR = 16
OFPOSF_TX_BIAS = 32
OFPOSF_TX_TEMP = 64

ofp_port_stats_optical_flags_map = {
    1: 'OFPOSF_RX_TUNE',
    2: 'OFPOSF_TX_TUNE',
    4: 'OFPOSF_TX_PWR',
    16: 'OFPOSF_RX_PWR',
    32: 'OFPOSF_TX_BIAS',
    64: 'OFPOSF_TX_TEMP',
}

# Identifiers from group ofp_port_stats_prop_type
OFPPSPT_ETHERNET = 0
OFPPSPT_OPTICAL = 1
OFPPSPT_EXPERIMENTER = 65535

ofp_port_stats_prop_type_map = {
    0: 'OFPPSPT_ETHERNET',
    1: 'OFPPSPT_OPTICAL',
    65535: 'OFPPSPT_EXPERIMENTER',
}

# Identifiers from group ofp_queue_op_failed_code
OFPQOFC_BAD_PORT = 0
OFPQOFC_BAD_QUEUE = 1
OFPQOFC_EPERM = 2

ofp_queue_op_failed_code_map = {
    0: 'OFPQOFC_BAD_PORT',
    1: 'OFPQOFC_BAD_QUEUE',
    2: 'OFPQOFC_EPERM',
}

# Identifiers from group ofp_requestforward_reason
OFPRFR_GROUP_MOD = 0
OFPRFR_METER_MOD = 1

ofp_requestforward_reason_map = {
    0: 'OFPRFR_GROUP_MOD',
    1: 'OFPRFR_METER_MOD',
}

# Identifiers from group ofp_role_request_failed_code
OFPRRFC_STALE = 0
OFPRRFC_UNSUP = 1
OFPRRFC_BAD_ROLE = 2

ofp_role_request_failed_code_map = {
    0: 'OFPRRFC_STALE',
    1: 'OFPRRFC_UNSUP',
    2: 'OFPRRFC_BAD_ROLE',
}

# Identifiers from group ofp_stats_reply_flags
OFPSF_REPLY_MORE = 1

ofp_stats_reply_flags_map = {
    1: 'OFPSF_REPLY_MORE',
}

# Identifiers from group ofp_stats_request_flags
OFPSF_REQ_MORE = 1

ofp_stats_request_flags_map = {
    1: 'OFPSF_REQ_MORE',
}

# Identifiers from group ofp_stats_type
OFPST_DESC = 0
OFPST_FLOW = 1
OFPST_AGGREGATE = 2
OFPST_TABLE = 3
OFPST_PORT = 4
OFPST_QUEUE = 5
OFPST_GROUP = 6
OFPST_GROUP_DESC = 7
OFPST_GROUP_FEATURES = 8
OFPST_METER = 9
OFPST_METER_CONFIG = 10
OFPST_METER_FEATURES = 11
OFPST_TABLE_FEATURES = 12
OFPST_PORT_DESC = 13
OFPMP_TABLE_DESC = 14
OFPMP_QUEUE_DESC = 15
OFPMP_FLOW_MONITOR = 16
OFPST_EXPERIMENTER = 65535

ofp_stats_type_map = {
    0: 'OFPST_DESC',
    1: 'OFPST_FLOW',
    2: 'OFPST_AGGREGATE',
    3: 'OFPST_TABLE',
    4: 'OFPST_PORT',
    5: 'OFPST_QUEUE',
    6: 'OFPST_GROUP',
    7: 'OFPST_GROUP_DESC',
    8: 'OFPST_GROUP_FEATURES',
    9: 'OFPST_METER',
    10: 'OFPST_METER_CONFIG',
    11: 'OFPST_METER_FEATURES',
    12: 'OFPST_TABLE_FEATURES',
    13: 'OFPST_PORT_DESC',
    14: 'OFPMP_TABLE_DESC',
    15: 'OFPMP_QUEUE_DESC',
    16: 'OFPMP_FLOW_MONITOR',
    65535: 'OFPST_EXPERIMENTER',
}

# Identifiers from group ofp_switch_config_failed_code
OFPSCFC_BAD_FLAGS = 0
OFPSCFC_BAD_LEN = 1
OFPSCFC_EPERM = 2

ofp_switch_config_failed_code_map = {
    0: 'OFPSCFC_BAD_FLAGS',
    1: 'OFPSCFC_BAD_LEN',
    2: 'OFPSCFC_EPERM',
}

# Identifiers from group ofp_table
OFPTT_MAX = 254
OFPTT_ALL = 255

ofp_table_map = {
    254: 'OFPTT_MAX',
    255: 'OFPTT_ALL',
}

# Identifiers from group ofp_table_config
OFPTC_DEPRECATED_MASK = 3
OFPTC_EVICTION = 4
OFPTC_VACANCY_EVENTS = 8

ofp_table_config_map = {
    3: 'OFPTC_DEPRECATED_MASK',
    4: 'OFPTC_EVICTION',
    8: 'OFPTC_VACANCY_EVENTS',
}

# Identifiers from group ofp_table_feature_prop_type
OFPTFPT_INSTRUCTIONS = 0
OFPTFPT_INSTRUCTIONS_MISS = 1
OFPTFPT_NEXT_TABLES = 2
OFPTFPT_NEXT_TABLES_MISS = 3
OFPTFPT_WRITE_ACTIONS = 4
OFPTFPT_WRITE_ACTIONS_MISS = 5
OFPTFPT_APPLY_ACTIONS = 6
OFPTFPT_APPLY_ACTIONS_MISS = 7
OFPTFPT_MATCH = 8
OFPTFPT_WILDCARDS = 10
OFPTFPT_WRITE_SETFIELD = 12
OFPTFPT_WRITE_SETFIELD_MISS = 13
OFPTFPT_APPLY_SETFIELD = 14
OFPTFPT_APPLY_SETFIELD_MISS = 15
OFPTFPT_TABLE_SYNC_FROM = 16
OFPTFPT_EXPERIMENTER = 65534
OFPTFPT_EXPERIMENTER_MISS = 65535

ofp_table_feature_prop_type_map = {
    0: 'OFPTFPT_INSTRUCTIONS',
    1: 'OFPTFPT_INSTRUCTIONS_MISS',
    2: 'OFPTFPT_NEXT_TABLES',
    3: 'OFPTFPT_NEXT_TABLES_MISS',
    4: 'OFPTFPT_WRITE_ACTIONS',
    5: 'OFPTFPT_WRITE_ACTIONS_MISS',
    6: 'OFPTFPT_APPLY_ACTIONS',
    7: 'OFPTFPT_APPLY_ACTIONS_MISS',
    8: 'OFPTFPT_MATCH',
    10: 'OFPTFPT_WILDCARDS',
    12: 'OFPTFPT_WRITE_SETFIELD',
    13: 'OFPTFPT_WRITE_SETFIELD_MISS',
    14: 'OFPTFPT_APPLY_SETFIELD',
    15: 'OFPTFPT_APPLY_SETFIELD_MISS',
    16: 'OFPTFPT_TABLE_SYNC_FROM',
    65534: 'OFPTFPT_EXPERIMENTER',
    65535: 'OFPTFPT_EXPERIMENTER_MISS',
}

# Identifiers from group ofp_table_features_failed_code
OFPTFFC_BAD_TABLE = 0
OFPTFFC_BAD_METADATA = 1
OFPTFFC_EPERM = 5

ofp_table_features_failed_code_map = {
    0: 'OFPTFFC_BAD_TABLE',
    1: 'OFPTFFC_BAD_METADATA',
    5: 'OFPTFFC_EPERM',
}

# Identifiers from group ofp_table_mod_failed_code
OFPTMFC_BAD_TABLE = 0
OFPTMFC_BAD_CONFIG = 1
OFPTMFC_EPERM = 2

ofp_table_mod_failed_code_map = {
    0: 'OFPTMFC_BAD_TABLE',
    1: 'OFPTMFC_BAD_CONFIG',
    2: 'OFPTMFC_EPERM',
}

# Identifiers from group ofp_table_mod_prop_eviction_flag
OFPTMPEF_OTHER = 1
OFPTMPEF_IMPORTANCE = 2
OFPTMPEF_LIFETIME = 4

ofp_table_mod_prop_eviction_flag_map = {
    1: 'OFPTMPEF_OTHER',
    2: 'OFPTMPEF_IMPORTANCE',
    4: 'OFPTMPEF_LIFETIME',
}

# Identifiers from group ofp_table_reason
OFPTR_VACANCY_DOWN = 3
OFPTR_VACANCY_UP = 4

ofp_table_reason_map = {
    3: 'OFPTR_VACANCY_DOWN',
    4: 'OFPTR_VACANCY_UP',
}

# Identifiers from group ofp_type
OFPT_HELLO = 0
OFPT_ERROR = 1
OFPT_ECHO_REQUEST = 2
OFPT_ECHO_REPLY = 3
OFPT_EXPERIMENTER = 4
OFPT_FEATURES_REQUEST = 5
OFPT_FEATURES_REPLY = 6
OFPT_GET_CONFIG_REQUEST = 7
OFPT_GET_CONFIG_REPLY = 8
OFPT_SET_CONFIG = 9
OFPT_PACKET_IN = 10
OFPT_FLOW_REMOVED = 11
OFPT_PORT_STATUS = 12
OFPT_PACKET_OUT = 13
OFPT_FLOW_MOD = 14
OFPT_GROUP_MOD = 15
OFPT_PORT_MOD = 16
OFPT_TABLE_MOD = 17
OFPT_STATS_REQUEST = 18
OFPT_STATS_REPLY = 19
OFPT_BARRIER_REQUEST = 20
OFPT_BARRIER_REPLY = 21
OFPT_ROLE_REQUEST = 24
OFPT_ROLE_REPLY = 25
OFPT_GET_ASYNC_REQUEST = 26
OFPT_GET_ASYNC_REPLY = 27
OFPT_SET_ASYNC = 28
OFPT_METER_MOD = 29
OFPT_ROLE_STATUS = 30
OFPT_TABLE_STATUS = 31
OFPT_REQUESTFORWARD = 32
OFPT_BUNDLE_CONTROL = 33
OFPT_BUNDLE_ADD_MESSAGE = 34

ofp_type_map = {
    0: 'OFPT_HELLO',
    1: 'OFPT_ERROR',
    2: 'OFPT_ECHO_REQUEST',
    3: 'OFPT_ECHO_REPLY',
    4: 'OFPT_EXPERIMENTER',
    5: 'OFPT_FEATURES_REQUEST',
    6: 'OFPT_FEATURES_REPLY',
    7: 'OFPT_GET_CONFIG_REQUEST',
    8: 'OFPT_GET_CONFIG_REPLY',
    9: 'OFPT_SET_CONFIG',
    10: 'OFPT_PACKET_IN',
    11: 'OFPT_FLOW_REMOVED',
    12: 'OFPT_PORT_STATUS',
    13: 'OFPT_PACKET_OUT',
    14: 'OFPT_FLOW_MOD',
    15: 'OFPT_GROUP_MOD',
    16: 'OFPT_PORT_MOD',
    17: 'OFPT_TABLE_MOD',
    18: 'OFPT_STATS_REQUEST',
    19: 'OFPT_STATS_REPLY',
    20: 'OFPT_BARRIER_REQUEST',
    21: 'OFPT_BARRIER_REPLY',
    24: 'OFPT_ROLE_REQUEST',
    25: 'OFPT_ROLE_REPLY',
    26: 'OFPT_GET_ASYNC_REQUEST',
    27: 'OFPT_GET_ASYNC_REPLY',
    28: 'OFPT_SET_ASYNC',
    29: 'OFPT_METER_MOD',
    30: 'OFPT_ROLE_STATUS',
    31: 'OFPT_TABLE_STATUS',
    32: 'OFPT_REQUESTFORWARD',
    33: 'OFPT_BUNDLE_CONTROL',
    34: 'OFPT_BUNDLE_ADD_MESSAGE',
}

# Identifiers from group ofp_vlan_id
OFPVID_NONE = 0
OFPVID_PRESENT = 4096

ofp_vlan_id_map = {
    0: 'OFPVID_NONE',
    4096: 'OFPVID_PRESENT',
}

