changed openflow.lua
diff --git a/openflow.lua b/openflow.lua
index a4c13af..9e521f3 100644
--- a/openflow.lua
+++ b/openflow.lua
@@ -81,7 +81,7 @@
     [5] = "1.4",
 }
 
-local enum_v1_ofp_error_type = {
+enum_v1_ofp_error_type = {
     [0] = "OFPET_HELLO_FAILED",
     [1] = "OFPET_BAD_REQUEST",
     [2] = "OFPET_BAD_ACTION",
@@ -90,7 +90,7 @@
     [5] = "OFPET_QUEUE_OP_FAILED",
 }
 
-local enum_v1_macro_definitions = {
+enum_v1_macro_definitions = {
     [32] = "OFP_MAX_TABLE_NAME_LEN",
     [16] = "OFP_MAX_PORT_NAME_LEN",
     [6653] = "OFP_TCP_PORT",
@@ -110,17 +110,17 @@
     [65535] = "OFPQ_MIN_RATE_UNCFG",
 }
 
-local enum_v1_ofp_flow_mod_flags = {
+enum_v1_ofp_flow_mod_flags = {
     [1] = "OFPFF_SEND_FLOW_REM",
     [2] = "OFPFF_CHECK_OVERLAP",
     [4] = "OFPFF_EMERG",
 }
 
-local enum_v1_ofp_stats_reply_flags = {
+enum_v1_ofp_stats_reply_flags = {
     [1] = "OFPSF_REPLY_MORE",
 }
 
-local enum_v1_ofp_bad_request_code = {
+enum_v1_ofp_bad_request_code = {
     [0] = "OFPBRC_BAD_VERSION",
     [1] = "OFPBRC_BAD_TYPE",
     [2] = "OFPBRC_BAD_STAT",
@@ -132,7 +132,7 @@
     [8] = "OFPBRC_BUFFER_UNKNOWN",
 }
 
-local enum_v1_ofp_port_config = {
+enum_v1_ofp_port_config = {
     [1] = "OFPPC_PORT_DOWN",
     [2] = "OFPPC_NO_STP",
     [4] = "OFPPC_NO_RECV",
@@ -143,7 +143,7 @@
     [2147483648] = "OFPPC_BSN_MIRROR_DEST",
 }
 
-local enum_v1_ofp_port_state = {
+enum_v1_ofp_port_state = {
     [1] = "OFPPS_LINK_DOWN",
     [0] = "OFPPS_STP_LISTEN",
     [256] = "OFPPS_STP_LEARN",
@@ -152,19 +152,23 @@
     [768] = "OFPPS_STP_MASK",
 }
 
-local enum_v1_ofp_config_flags = {
+enum_v1_ofp_config_flags = {
     [0] = "OFPC_FRAG_NORMAL",
     [1] = "OFPC_FRAG_DROP",
     [2] = "OFPC_FRAG_REASM",
     [3] = "OFPC_FRAG_MASK",
 }
 
-local enum_v1_ofp_hello_failed_code = {
+enum_v1_of_bsn_pdu_slot_num = {
+    [255] = "BSN_PDU_SLOT_NUM_ANY",
+}
+
+enum_v1_ofp_hello_failed_code = {
     [0] = "OFPHFC_INCOMPATIBLE",
     [1] = "OFPHFC_EPERM",
 }
 
-local enum_v1_ofp_capabilities = {
+enum_v1_ofp_capabilities = {
     [1] = "OFPC_FLOW_STATS",
     [2] = "OFPC_TABLE_STATS",
     [4] = "OFPC_PORT_STATS",
@@ -175,18 +179,18 @@
     [128] = "OFPC_ARP_MATCH_IP",
 }
 
-local enum_v1_ofp_flow_removed_reason = {
+enum_v1_ofp_flow_removed_reason = {
     [0] = "OFPRR_IDLE_TIMEOUT",
     [1] = "OFPRR_HARD_TIMEOUT",
     [2] = "OFPRR_DELETE",
 }
 
-local enum_v1_ofp_queue_properties = {
+enum_v1_ofp_queue_properties = {
     [0] = "OFPQT_NONE",
     [1] = "OFPQT_MIN_RATE",
 }
 
-local enum_v1_ofp_bsn_vport_l2gre_flags = {
+enum_v1_ofp_bsn_vport_l2gre_flags = {
     [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
     [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
     [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
@@ -194,7 +198,7 @@
     [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
 }
 
-local enum_v1_ofp_flow_wildcards = {
+enum_v1_ofp_flow_wildcards = {
     [1] = "OFPFW_IN_PORT",
     [2] = "OFPFW_DL_VLAN",
     [4] = "OFPFW_DL_SRC",
@@ -216,18 +220,18 @@
     [4194303] = "OFPFW_ALL",
 }
 
-local enum_v1_ofp_bsn_vport_status = {
+enum_v1_ofp_bsn_vport_status = {
     [0] = "OF_BSN_VPORT_STATUS_OK",
     [1] = "OF_BSN_VPORT_STATUS_FAILED",
 }
 
-local enum_v1_ofp_port_reason = {
+enum_v1_ofp_port_reason = {
     [0] = "OFPPR_ADD",
     [1] = "OFPPR_DELETE",
     [2] = "OFPPR_MODIFY",
 }
 
-local enum_v1_ofp_action_type = {
+enum_v1_ofp_action_type = {
     [0] = "OFPAT_OUTPUT",
     [1] = "OFPAT_SET_VLAN_VID",
     [2] = "OFPAT_SET_VLAN_PCP",
@@ -243,7 +247,7 @@
     [65535] = "OFPAT_EXPERIMENTER",
 }
 
-local enum_v1_ofp_flow_mod_command = {
+enum_v1_ofp_flow_mod_command = {
     [0] = "OFPFC_ADD",
     [1] = "OFPFC_MODIFY",
     [2] = "OFPFC_MODIFY_STRICT",
@@ -251,16 +255,16 @@
     [4] = "OFPFC_DELETE_STRICT",
 }
 
-local enum_v1_ofp_queue_op_failed_code = {
+enum_v1_ofp_queue_op_failed_code = {
     [0] = "OFPQOFC_BAD_PORT",
     [1] = "OFPQOFC_BAD_QUEUE",
     [2] = "OFPQOFC_EPERM",
 }
 
-local enum_v1_ofp_stats_request_flags = {
+enum_v1_ofp_stats_request_flags = {
 }
 
-local enum_v1_ofp_stats_type = {
+enum_v1_ofp_stats_type = {
     [0] = "OFPST_DESC",
     [1] = "OFPST_FLOW",
     [2] = "OFPST_AGGREGATE",
@@ -270,7 +274,7 @@
     [65535] = "OFPST_EXPERIMENTER",
 }
 
-local enum_v1_ofp_port = {
+enum_v1_ofp_port = {
     [4294967040] = "OFPP_MAX",
     [4294967288] = "OFPP_IN_PORT",
     [4294967289] = "OFPP_TABLE",
@@ -282,7 +286,7 @@
     [4294967295] = "OFPP_NONE",
 }
 
-local enum_v1_ofp_bad_action_code = {
+enum_v1_ofp_bad_action_code = {
     [0] = "OFPBAC_BAD_TYPE",
     [1] = "OFPBAC_BAD_LEN",
     [2] = "OFPBAC_BAD_EXPERIMENTER",
@@ -294,7 +298,7 @@
     [8] = "OFPBAC_BAD_QUEUE",
 }
 
-local enum_v1_ofp_flow_mod_failed_code = {
+enum_v1_ofp_flow_mod_failed_code = {
     [0] = "OFPFMFC_ALL_TABLES_FULL",
     [1] = "OFPFMFC_OVERLAP",
     [2] = "OFPFMFC_EPERM",
@@ -303,12 +307,12 @@
     [5] = "OFPFMFC_UNSUPPORTED",
 }
 
-local enum_v1_ofp_port_mod_failed_code = {
+enum_v1_ofp_port_mod_failed_code = {
     [0] = "OFPPMFC_BAD_PORT",
     [1] = "OFPPMFC_BAD_HW_ADDR",
 }
 
-local enum_v1_ofp_type = {
+enum_v1_ofp_type = {
     [0] = "OFPT_HELLO",
     [1] = "OFPT_ERROR",
     [2] = "OFPT_ECHO_REQUEST",
@@ -333,26 +337,22 @@
     [21] = "OFPT_QUEUE_GET_CONFIG_REPLY",
 }
 
-local enum_v1_ofp_packet_in_reason = {
+enum_v1_ofp_packet_in_reason = {
     [0] = "OFPR_NO_MATCH",
     [1] = "OFPR_ACTION",
 }
 
-local enum_v1_ofp_nicira_controller_role = {
+enum_v1_ofp_nicira_controller_role = {
     [0] = "NX_ROLE_OTHER",
     [1] = "NX_ROLE_MASTER",
     [2] = "NX_ROLE_SLAVE",
 }
 
-local enum_v1_ofp_bsn_vport_q_in_q_untagged = {
+enum_v1_ofp_bsn_vport_q_in_q_untagged = {
     [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
 }
 
-local enum_v1_of_bsn_pdu_slot_num_t = {
-    [255] = "BSN_PDU_SLOT_NUM_ANY",
-}
-
-local enum_v1_ofp_port_features = {
+enum_v1_ofp_port_features = {
     [1] = "OFPPF_10MB_HD",
     [2] = "OFPPF_10MB_FD",
     [4] = "OFPPF_100MB_HD",
@@ -368,7 +368,7 @@
 }
 
 
-local enum_v2_ofp_error_type = {
+enum_v2_ofp_error_type = {
     [0] = "OFPET_HELLO_FAILED",
     [1] = "OFPET_BAD_REQUEST",
     [2] = "OFPET_BAD_ACTION",
@@ -382,7 +382,7 @@
     [10] = "OFPET_SWITCH_CONFIG_FAILED",
 }
 
-local enum_v2_ofp_stats_type = {
+enum_v2_ofp_stats_type = {
     [0] = "OFPST_DESC",
     [1] = "OFPST_FLOW",
     [2] = "OFPST_AGGREGATE",
@@ -394,16 +394,16 @@
     [65535] = "OFPST_EXPERIMENTER",
 }
 
-local enum_v2_ofp_flow_mod_flags = {
+enum_v2_ofp_flow_mod_flags = {
     [1] = "OFPFF_SEND_FLOW_REM",
     [2] = "OFPFF_CHECK_OVERLAP",
 }
 
-local enum_v2_ofp_stats_reply_flags = {
+enum_v2_ofp_stats_reply_flags = {
     [1] = "OFPSF_REPLY_MORE",
 }
 
-local enum_v2_ofp_bad_request_code = {
+enum_v2_ofp_bad_request_code = {
     [0] = "OFPBRC_BAD_VERSION",
     [1] = "OFPBRC_BAD_TYPE",
     [2] = "OFPBRC_BAD_STAT",
@@ -416,7 +416,7 @@
     [9] = "OFPBRC_BAD_TABLE_ID",
 }
 
-local enum_v2_ofp_bad_instruction_code = {
+enum_v2_ofp_bad_instruction_code = {
     [0] = "OFPBIC_UNKNOWN_INST",
     [1] = "OFPBIC_UNSUP_INST",
     [2] = "OFPBIC_BAD_TABLE_ID",
@@ -425,7 +425,7 @@
     [5] = "OFPBIC_UNSUP_EXP_INST",
 }
 
-local enum_v2_ofp_port_config = {
+enum_v2_ofp_port_config = {
     [1] = "OFPPC_PORT_DOWN",
     [4] = "OFPPC_NO_RECV",
     [32] = "OFPPC_NO_FWD",
@@ -433,13 +433,13 @@
     [2147483648] = "OFPPC_BSN_MIRROR_DEST",
 }
 
-local enum_v2_ofp_port_state = {
+enum_v2_ofp_port_state = {
     [1] = "OFPPS_LINK_DOWN",
     [2] = "OFPPS_BLOCKED",
     [4] = "OFPPS_LIVE",
 }
 
-local enum_v2_ofp_config_flags = {
+enum_v2_ofp_config_flags = {
     [0] = "OFPC_FRAG_NORMAL",
     [1] = "OFPC_FRAG_DROP",
     [2] = "OFPC_FRAG_REASM",
@@ -447,17 +447,16 @@
     [4] = "OFPC_INVALID_TTL_TO_CONTROLLER",
 }
 
-local enum_v2_ofp_switch_config_failed_code = {
-    [0] = "OFPSCFC_BAD_FLAGS",
-    [1] = "OFPSCFC_BAD_LEN",
+enum_v2_of_bsn_pdu_slot_num = {
+    [255] = "BSN_PDU_SLOT_NUM_ANY",
 }
 
-local enum_v2_ofp_hello_failed_code = {
+enum_v2_ofp_hello_failed_code = {
     [0] = "OFPHFC_INCOMPATIBLE",
     [1] = "OFPHFC_EPERM",
 }
 
-local enum_v2_ofp_capabilities = {
+enum_v2_ofp_capabilities = {
     [1] = "OFPC_FLOW_STATS",
     [2] = "OFPC_TABLE_STATS",
     [4] = "OFPC_PORT_STATS",
@@ -467,7 +466,7 @@
     [128] = "OFPC_ARP_MATCH_IP",
 }
 
-local enum_v2_ofp_bad_match_code = {
+enum_v2_ofp_bad_match_code = {
     [0] = "OFPBMC_BAD_TYPE",
     [1] = "OFPBMC_BAD_LEN",
     [2] = "OFPBMC_BAD_TAG",
@@ -478,24 +477,29 @@
     [7] = "OFPBMC_BAD_VALUE",
 }
 
-local enum_v2_ofp_flow_removed_reason = {
+enum_v2_ofp_switch_config_failed_code = {
+    [0] = "OFPSCFC_BAD_FLAGS",
+    [1] = "OFPSCFC_BAD_LEN",
+}
+
+enum_v2_ofp_flow_removed_reason = {
     [0] = "OFPRR_IDLE_TIMEOUT",
     [1] = "OFPRR_HARD_TIMEOUT",
     [2] = "OFPRR_DELETE",
     [3] = "OFPRR_GROUP_DELETE",
 }
 
-local enum_v2_ofp_table_mod_failed_code = {
+enum_v2_ofp_table_mod_failed_code = {
     [0] = "OFPTMFC_BAD_TABLE",
     [1] = "OFPTMFC_BAD_CONFIG",
 }
 
-local enum_v2_ofp_queue_properties = {
+enum_v2_ofp_queue_properties = {
     [0] = "OFPQT_NONE",
     [1] = "OFPQT_MIN_RATE",
 }
 
-local enum_v2_ofp_bsn_vport_l2gre_flags = {
+enum_v2_ofp_bsn_vport_l2gre_flags = {
     [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
     [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
     [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
@@ -503,7 +507,7 @@
     [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
 }
 
-local enum_v2_ofp_flow_wildcards = {
+enum_v2_ofp_flow_wildcards = {
     [1] = "OFPFW_IN_PORT",
     [2] = "OFPFW_DL_VLAN",
     [4] = "OFPFW_DL_VLAN_PCP",
@@ -517,31 +521,31 @@
     [1023] = "OFPFW_ALL",
 }
 
-local enum_v2_ofp_bsn_vport_status = {
+enum_v2_ofp_bsn_vport_status = {
     [0] = "OF_BSN_VPORT_STATUS_OK",
     [1] = "OF_BSN_VPORT_STATUS_FAILED",
 }
 
-local enum_v2_ofp_group = {
+enum_v2_ofp_group = {
     [4294967040] = "OFPG_MAX",
     [4294967292] = "OFPG_ALL",
     [4294967295] = "OFPG_ANY",
 }
 
-local enum_v2_ofp_port_reason = {
+enum_v2_ofp_port_reason = {
     [0] = "OFPPR_ADD",
     [1] = "OFPPR_DELETE",
     [2] = "OFPPR_MODIFY",
 }
 
-local enum_v2_ofp_table_config = {
+enum_v2_ofp_table_config = {
     [0] = "OFPTC_TABLE_MISS_CONTROLLER",
     [1] = "OFPTC_TABLE_MISS_CONTINUE",
     [2] = "OFPTC_TABLE_MISS_DROP",
     [3] = "OFPTC_TABLE_MISS_MASK",
 }
 
-local enum_v2_ofp_action_type = {
+enum_v2_ofp_action_type = {
     [0] = "OFPAT_OUTPUT",
     [1] = "OFPAT_SET_VLAN_VID",
     [2] = "OFPAT_SET_VLAN_PCP",
@@ -570,7 +574,7 @@
     [65535] = "OFPAT_EXPERIMENTER",
 }
 
-local enum_v2_ofp_flow_mod_command = {
+enum_v2_ofp_flow_mod_command = {
     [0] = "OFPFC_ADD",
     [1] = "OFPFC_MODIFY",
     [2] = "OFPFC_MODIFY_STRICT",
@@ -578,29 +582,25 @@
     [4] = "OFPFC_DELETE_STRICT",
 }
 
-local enum_v2_ofp_queue_op_failed_code = {
+enum_v2_ofp_queue_op_failed_code = {
     [0] = "OFPQOFC_BAD_PORT",
     [1] = "OFPQOFC_BAD_QUEUE",
     [2] = "OFPQOFC_EPERM",
 }
 
-local enum_v2_of_bsn_pdu_slot_num_t = {
-    [255] = "BSN_PDU_SLOT_NUM_ANY",
-}
-
-local enum_v2_ofp_match_type = {
+enum_v2_ofp_match_type = {
     [0] = "OFPMT_STANDARD",
 }
 
-local enum_v2_ofp_vlan_id = {
+enum_v2_ofp_vlan_id = {
     [65534] = "OFPVID_ANY",
     [65535] = "OFPVID_NONE",
 }
 
-local enum_v2_ofp_stats_request_flags = {
+enum_v2_ofp_stats_request_flags = {
 }
 
-local enum_v2_ofp_group_mod_failed_code = {
+enum_v2_ofp_group_mod_failed_code = {
     [0] = "OFPGMFC_GROUP_EXISTS",
     [1] = "OFPGMFC_INVALID_GROUP",
     [2] = "OFPGMFC_WEIGHT_UNSUPPORTED",
@@ -612,7 +612,7 @@
     [8] = "OFPGMFC_UNKNOWN_GROUP",
 }
 
-local enum_v2_macro_definitions = {
+enum_v2_macro_definitions = {
     [32] = "OFP_MAX_TABLE_NAME_LEN",
     [16] = "OFP_MAX_PORT_NAME_LEN",
     [6653] = "OFP_TCP_PORT",
@@ -633,7 +633,7 @@
     [65535] = "OFPQ_MIN_RATE_UNCFG",
 }
 
-local enum_v2_ofp_port = {
+enum_v2_ofp_port = {
     [4294967040] = "OFPP_MAX",
     [4294967288] = "OFPP_IN_PORT",
     [4294967289] = "OFPP_TABLE",
@@ -645,14 +645,14 @@
     [4294967295] = "OFPP_ANY",
 }
 
-local enum_v2_ofp_group_type = {
+enum_v2_ofp_group_type = {
     [0] = "OFPGT_ALL",
     [1] = "OFPGT_SELECT",
     [2] = "OFPGT_INDIRECT",
     [3] = "OFPGT_FF",
 }
 
-local enum_v2_ofp_instruction_type = {
+enum_v2_ofp_instruction_type = {
     [1] = "OFPIT_GOTO_TABLE",
     [2] = "OFPIT_WRITE_METADATA",
     [3] = "OFPIT_WRITE_ACTIONS",
@@ -661,7 +661,7 @@
     [65535] = "OFPIT_EXPERIMENTER",
 }
 
-local enum_v2_ofp_bad_action_code = {
+enum_v2_ofp_bad_action_code = {
     [0] = "OFPBAC_BAD_TYPE",
     [1] = "OFPBAC_BAD_LEN",
     [2] = "OFPBAC_BAD_EXPERIMENTER",
@@ -677,7 +677,7 @@
     [12] = "OFPBAC_BAD_TAG",
 }
 
-local enum_v2_ofp_flow_mod_failed_code = {
+enum_v2_ofp_flow_mod_failed_code = {
     [0] = "OFPFMFC_UNKNOWN",
     [1] = "OFPFMFC_TABLE_FULL",
     [2] = "OFPFMFC_BAD_TABLE_ID",
@@ -687,14 +687,14 @@
     [6] = "OFPFMFC_BAD_COMMAND",
 }
 
-local enum_v2_ofp_port_mod_failed_code = {
+enum_v2_ofp_port_mod_failed_code = {
     [0] = "OFPPMFC_BAD_PORT",
     [1] = "OFPPMFC_BAD_HW_ADDR",
     [2] = "OFPPMFC_BAD_CONFIG",
     [3] = "OFPPMFC_BAD_ADVERTISE",
 }
 
-local enum_v2_ofp_type = {
+enum_v2_ofp_type = {
     [0] = "OFPT_HELLO",
     [1] = "OFPT_ERROR",
     [2] = "OFPT_ECHO_REQUEST",
@@ -721,22 +721,22 @@
     [23] = "OFPT_QUEUE_GET_CONFIG_REPLY",
 }
 
-local enum_v2_ofp_packet_in_reason = {
+enum_v2_ofp_packet_in_reason = {
     [0] = "OFPR_NO_MATCH",
     [1] = "OFPR_ACTION",
 }
 
-local enum_v2_ofp_bsn_vport_q_in_q_untagged = {
+enum_v2_ofp_bsn_vport_q_in_q_untagged = {
     [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
 }
 
-local enum_v2_ofp_group_mod_command = {
+enum_v2_ofp_group_mod_command = {
     [0] = "OFPGC_ADD",
     [1] = "OFPGC_MODIFY",
     [2] = "OFPGC_DELETE",
 }
 
-local enum_v2_ofp_port_features = {
+enum_v2_ofp_port_features = {
     [1] = "OFPPF_10MB_HD",
     [2] = "OFPPF_10MB_FD",
     [4] = "OFPPF_100MB_HD",
@@ -756,7 +756,7 @@
 }
 
 
-local enum_v3_ofp_error_type = {
+enum_v3_ofp_error_type = {
     [0] = "OFPET_HELLO_FAILED",
     [1] = "OFPET_BAD_REQUEST",
     [2] = "OFPET_BAD_ACTION",
@@ -772,7 +772,7 @@
     [65535] = "OFPET_EXPERIMENTER",
 }
 
-local enum_v3_ofp_stats_type = {
+enum_v3_ofp_stats_type = {
     [0] = "OFPST_DESC",
     [1] = "OFPST_FLOW",
     [2] = "OFPST_AGGREGATE",
@@ -785,31 +785,31 @@
     [65535] = "OFPST_EXPERIMENTER",
 }
 
-local enum_v3_ofp_flow_mod_flags = {
+enum_v3_ofp_flow_mod_flags = {
     [1] = "OFPFF_SEND_FLOW_REM",
     [2] = "OFPFF_CHECK_OVERLAP",
     [4] = "OFPFF_RESET_COUNTS",
 }
 
-local enum_v3_ofp_controller_role = {
+enum_v3_ofp_controller_role = {
     [0] = "OFPCR_ROLE_NOCHANGE",
     [1] = "OFPCR_ROLE_EQUAL",
     [2] = "OFPCR_ROLE_MASTER",
     [3] = "OFPCR_ROLE_SLAVE",
 }
 
-local enum_v3_ofp_stats_reply_flags = {
+enum_v3_ofp_stats_reply_flags = {
     [1] = "OFPSF_REPLY_MORE",
 }
 
-local enum_v3_ofp_oxm_class = {
+enum_v3_ofp_oxm_class = {
     [0] = "OFPXMC_NXM_0",
     [1] = "OFPXMC_NXM_1",
     [32768] = "OFPXMC_OPENFLOW_BASIC",
     [65535] = "OFPXMC_EXPERIMENTER",
 }
 
-local enum_v3_ofp_bad_request_code = {
+enum_v3_ofp_bad_request_code = {
     [0] = "OFPBRC_BAD_VERSION",
     [1] = "OFPBRC_BAD_TYPE",
     [2] = "OFPBRC_BAD_STAT",
@@ -825,7 +825,7 @@
     [12] = "OFPBRC_BAD_PACKET",
 }
 
-local enum_v3_ofp_bad_instruction_code = {
+enum_v3_ofp_bad_instruction_code = {
     [0] = "OFPBIC_UNKNOWN_INST",
     [1] = "OFPBIC_UNSUP_INST",
     [2] = "OFPBIC_BAD_TABLE_ID",
@@ -837,7 +837,7 @@
     [8] = "OFPBIC_EPERM",
 }
 
-local enum_v3_ofp_port_config = {
+enum_v3_ofp_port_config = {
     [1] = "OFPPC_PORT_DOWN",
     [4] = "OFPPC_NO_RECV",
     [32] = "OFPPC_NO_FWD",
@@ -845,13 +845,13 @@
     [2147483648] = "OFPPC_BSN_MIRROR_DEST",
 }
 
-local enum_v3_ofp_port_state = {
+enum_v3_ofp_port_state = {
     [1] = "OFPPS_LINK_DOWN",
     [2] = "OFPPS_BLOCKED",
     [4] = "OFPPS_LIVE",
 }
 
-local enum_v3_ofp_config_flags = {
+enum_v3_ofp_config_flags = {
     [0] = "OFPC_FRAG_NORMAL",
     [1] = "OFPC_FRAG_DROP",
     [2] = "OFPC_FRAG_REASM",
@@ -859,24 +859,22 @@
     [4] = "OFPC_INVALID_TTL_TO_CONTROLLER",
 }
 
-local enum_v3_ofp_switch_config_failed_code = {
-    [0] = "OFPSCFC_BAD_FLAGS",
-    [1] = "OFPSCFC_BAD_LEN",
-    [2] = "OFPSCFC_EPERM",
+enum_v3_of_bsn_pdu_slot_num = {
+    [255] = "BSN_PDU_SLOT_NUM_ANY",
 }
 
-local enum_v3_ofp_controller_max_len = {
+enum_v3_ofp_controller_max_len = {
     [65509] = "OFPCML_MAX",
     [65535] = "OFPCML_NO_BUFFER",
 }
 
-local enum_v3_ofp_role_request_failed_code = {
+enum_v3_ofp_role_request_failed_code = {
     [0] = "OFPRRFC_STALE",
     [1] = "OFPRRFC_UNSUP",
     [2] = "OFPRRFC_BAD_ROLE",
 }
 
-local enum_v3_ofp_bsn_tcp_flag = {
+enum_v3_ofp_bsn_tcp_flag = {
     [1] = "OFP_BSN_TCP_FLAG_FIN",
     [2] = "OFP_BSN_TCP_FLAG_SYN",
     [4] = "OFP_BSN_TCP_FLAG_RST",
@@ -888,7 +886,7 @@
     [256] = "OFP_BSN_TCP_FLAG_NS",
 }
 
-local enum_v3_ofp_bsn_vport_l2gre_flags = {
+enum_v3_ofp_bsn_vport_l2gre_flags = {
     [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
     [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
     [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
@@ -896,62 +894,68 @@
     [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
 }
 
-local enum_v3_ofp_flow_removed_reason = {
+enum_v3_ofp_switch_config_failed_code = {
+    [0] = "OFPSCFC_BAD_FLAGS",
+    [1] = "OFPSCFC_BAD_LEN",
+    [2] = "OFPSCFC_EPERM",
+}
+
+enum_v3_ofp_flow_removed_reason = {
     [0] = "OFPRR_IDLE_TIMEOUT",
     [1] = "OFPRR_HARD_TIMEOUT",
     [2] = "OFPRR_DELETE",
     [3] = "OFPRR_GROUP_DELETE",
 }
 
-local enum_v3_ofp_table_mod_failed_code = {
+enum_v3_ofp_table_mod_failed_code = {
     [0] = "OFPTMFC_BAD_TABLE",
     [1] = "OFPTMFC_BAD_CONFIG",
     [2] = "OFPTMFC_EPERM",
 }
 
-local enum_v3_ofp_queue_properties = {
+enum_v3_ofp_queue_properties = {
     [1] = "OFPQT_MIN_RATE",
     [2] = "OFPQT_MAX_RATE",
     [65535] = "OFPQT_EXPERIMENTER",
 }
 
-local enum_v3_ofp_table = {
+enum_v3_ofp_table = {
     [254] = "OFPTT_MAX",
     [255] = "OFPTT_ALL",
 }
 
-local enum_v3_ofp_bsn_vport_status = {
+enum_v3_ofp_bsn_vport_status = {
     [0] = "OF_BSN_VPORT_STATUS_OK",
     [1] = "OF_BSN_VPORT_STATUS_FAILED",
 }
 
-local enum_v3_ofp_group = {
+enum_v3_ofp_group = {
     [4294967040] = "OFPG_MAX",
     [4294967292] = "OFPG_ALL",
     [4294967295] = "OFPG_ANY",
 }
 
-local enum_v3_ofp_port_reason = {
+enum_v3_ofp_port_reason = {
     [0] = "OFPPR_ADD",
     [1] = "OFPPR_DELETE",
     [2] = "OFPPR_MODIFY",
 }
 
-local enum_v3_ofp_group_capabilities = {
+enum_v3_ofp_group_capabilities = {
     [1] = "OFPGFC_SELECT_WEIGHT",
     [2] = "OFPGFC_SELECT_LIVENESS",
     [4] = "OFPGFC_CHAINING",
     [8] = "OFPGFC_CHAINING_CHECKS",
 }
 
-local enum_v3_ofp_table_config = {
+enum_v3_ofp_table_config = {
     [0] = "OFPTC_TABLE_MISS_CONTROLLER",
     [1] = "OFPTC_TABLE_MISS_CONTINUE",
     [2] = "OFPTC_TABLE_MISS_DROP",
     [3] = "OFPTC_TABLE_MISS_MASK",
 }
 
-local enum_v3_ofp_action_type = {
+enum_v3_ofp_action_type = {
     [0] = "OFPAT_OUTPUT",
     [11] = "OFPAT_COPY_TTL_OUT",
     [12] = "OFPAT_COPY_TTL_IN",
@@ -969,7 +973,7 @@
     [65535] = "OFPAT_EXPERIMENTER",
 }
 
-local enum_v3_ofp_flow_mod_command = {
+enum_v3_ofp_flow_mod_command = {
     [0] = "OFPFC_ADD",
     [1] = "OFPFC_MODIFY",
     [2] = "OFPFC_MODIFY_STRICT",
@@ -977,37 +981,31 @@
     [4] = "OFPFC_DELETE_STRICT",
 }
 
-local enum_v3_ofp_queue_op_failed_code = {
+enum_v3_ofp_queue_op_failed_code = {
     [0] = "OFPQOFC_BAD_PORT",
     [1] = "OFPQOFC_BAD_QUEUE",
     [2] = "OFPQOFC_EPERM",
 }
 
-local enum_v3_ofp_hello_failed_code = {
+enum_v3_ofp_hello_failed_code = {
     [0] = "OFPHFC_INCOMPATIBLE",
     [1] = "OFPHFC_EPERM",
 }
 
-local enum_v3_ofp_group_mod_command = {
-    [0] = "OFPGC_ADD",
-    [1] = "OFPGC_MODIFY",
-    [2] = "OFPGC_DELETE",
-}
-
-local enum_v3_ofp_match_type = {
+enum_v3_ofp_match_type = {
     [0] = "OFPMT_STANDARD",
     [1] = "OFPMT_OXM",
 }
 
-local enum_v3_ofp_vlan_id = {
+enum_v3_ofp_vlan_id = {
     [0] = "OFPVID_NONE",
     [4096] = "OFPVID_PRESENT",
 }
 
-local enum_v3_ofp_stats_request_flags = {
+enum_v3_ofp_stats_request_flags = {
 }
 
-local enum_v3_ofp_group_mod_failed_code = {
+enum_v3_ofp_group_mod_failed_code = {
     [0] = "OFPGMFC_GROUP_EXISTS",
     [1] = "OFPGMFC_INVALID_GROUP",
     [2] = "OFPGMFC_WEIGHT_UNSUPPORTED",
@@ -1025,7 +1023,7 @@
     [14] = "OFPGMFC_EPERM",
 }
 
-local enum_v3_macro_definitions = {
+enum_v3_macro_definitions = {
     [32] = "OFP_MAX_TABLE_NAME_LEN",
     [16] = "OFP_MAX_PORT_NAME_LEN",
     [6653] = "OFP_TCP_PORT",
@@ -1043,7 +1041,7 @@
     [65535] = "OFPQ_MAX_RATE_UNCFG",
 }
 
-local enum_v3_ofp_port = {
+enum_v3_ofp_port = {
     [4294967040] = "OFPP_MAX",
     [4294967288] = "OFPP_IN_PORT",
     [4294967289] = "OFPP_TABLE",
@@ -1055,14 +1053,14 @@
     [4294967295] = "OFPP_ANY",
 }
 
-local enum_v3_ofp_group_type = {
+enum_v3_ofp_group_type = {
     [0] = "OFPGT_ALL",
     [1] = "OFPGT_SELECT",
     [2] = "OFPGT_INDIRECT",
     [3] = "OFPGT_FF",
 }
 
-local enum_v3_ofp_instruction_type = {
+enum_v3_ofp_instruction_type = {
     [1] = "OFPIT_GOTO_TABLE",
     [2] = "OFPIT_WRITE_METADATA",
     [3] = "OFPIT_WRITE_ACTIONS",
@@ -1071,7 +1069,7 @@
     [65535] = "OFPIT_EXPERIMENTER",
 }
 
-local enum_v3_ofp_bad_action_code = {
+enum_v3_ofp_bad_action_code = {
     [0] = "OFPBAC_BAD_TYPE",
     [1] = "OFPBAC_BAD_LEN",
     [2] = "OFPBAC_BAD_EXPERIMENTER",
@@ -1090,7 +1088,7 @@
     [15] = "OFPBAC_BAD_SET_ARGUMENT",
 }
 
-local enum_v3_ofp_capabilities = {
+enum_v3_ofp_capabilities = {
     [1] = "OFPC_FLOW_STATS",
     [2] = "OFPC_TABLE_STATS",
     [4] = "OFPC_PORT_STATS",
@@ -1100,7 +1098,7 @@
     [256] = "OFPC_PORT_BLOCKED",
 }
 
-local enum_v3_ofp_flow_mod_failed_code = {
+enum_v3_ofp_flow_mod_failed_code = {
     [0] = "OFPFMFC_UNKNOWN",
     [1] = "OFPFMFC_TABLE_FULL",
     [2] = "OFPFMFC_BAD_TABLE_ID",
@@ -1111,7 +1109,7 @@
     [7] = "OFPFMFC_BAD_FLAGS",
 }
 
-local enum_v3_ofp_port_mod_failed_code = {
+enum_v3_ofp_port_mod_failed_code = {
     [0] = "OFPPMFC_BAD_PORT",
     [1] = "OFPPMFC_BAD_HW_ADDR",
     [2] = "OFPPMFC_BAD_CONFIG",
@@ -1119,7 +1117,7 @@
     [4] = "OFPPMFC_EPERM",
 }
 
-local enum_v3_ofp_bad_match_code = {
+enum_v3_ofp_bad_match_code = {
     [0] = "OFPBMC_BAD_TYPE",
     [1] = "OFPBMC_BAD_LEN",
     [2] = "OFPBMC_BAD_TAG",
@@ -1134,7 +1132,7 @@
     [11] = "OFPBMC_EPERM",
 }
 
-local enum_v3_ofp_type = {
+enum_v3_ofp_type = {
     [0] = "OFPT_HELLO",
     [1] = "OFPT_ERROR",
     [2] = "OFPT_ECHO_REQUEST",
@@ -1163,21 +1161,23 @@
     [25] = "OFPT_ROLE_REPLY",
 }
 
-local enum_v3_ofp_packet_in_reason = {
+enum_v3_ofp_packet_in_reason = {
     [0] = "OFPR_NO_MATCH",
     [1] = "OFPR_ACTION",
     [2] = "OFPR_INVALID_TTL",
 }
 
-local enum_v3_ofp_bsn_vport_q_in_q_untagged = {
+enum_v3_ofp_bsn_vport_q_in_q_untagged = {
     [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
 }
 
-local enum_v3_of_bsn_pdu_slot_num_t = {
-    [255] = "BSN_PDU_SLOT_NUM_ANY",
+enum_v3_ofp_group_mod_command = {
+    [0] = "OFPGC_ADD",
+    [1] = "OFPGC_MODIFY",
+    [2] = "OFPGC_DELETE",
 }
 
-local enum_v3_ofp_port_features = {
+enum_v3_ofp_port_features = {
     [1] = "OFPPF_10MB_HD",
     [2] = "OFPPF_10MB_FD",
     [4] = "OFPPF_100MB_HD",
@@ -1197,13 +1197,25 @@
 }
 
 
-local enum_v4_ofp_group = {
-    [4294967040] = "OFPG_MAX",
-    [4294967292] = "OFPG_ALL",
-    [4294967295] = "OFPG_ANY",
+enum_v4_ofp_error_type = {
+    [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",
+    [65535] = "OFPET_EXPERIMENTER",
 }
 
-local enum_v4_ofp_stats_type = {
+enum_v4_ofp_stats_type = {
     [0] = "OFPST_DESC",
     [1] = "OFPST_FLOW",
     [2] = "OFPST_AGGREGATE",
@@ -1221,12 +1233,37 @@
     [65535] = "OFPST_EXPERIMENTER",
 }
 
-local enum_v4_of_bsn_vrf_counter_t = {
-    [0] = "OFP_BSN_VRF_COUNTER_BYTES",
-    [1] = "OFP_BSN_VRF_COUNTER_PACKETS",
+enum_v4_ofp_bsn_port_counter = {
+    [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",
 }
 
-local enum_v4_ofp_flow_mod_flags = {
+enum_v4_ofp_flow_mod_flags = {
     [1] = "OFPFF_SEND_FLOW_REM",
     [2] = "OFPFF_CHECK_OVERLAP",
     [4] = "OFPFF_RESET_COUNTS",
@@ -1235,25 +1272,25 @@
     [128] = "OFPFF_BSN_SEND_IDLE",
 }
 
-local enum_v4_ofp_controller_role = {
+enum_v4_ofp_controller_role = {
     [0] = "OFPCR_ROLE_NOCHANGE",
     [1] = "OFPCR_ROLE_EQUAL",
     [2] = "OFPCR_ROLE_MASTER",
     [3] = "OFPCR_ROLE_SLAVE",
 }
 
-local enum_v4_ofp_stats_reply_flags = {
+enum_v4_ofp_stats_reply_flags = {
     [1] = "OFPSF_REPLY_MORE",
 }
 
-local enum_v4_ofp_oxm_class = {
+enum_v4_ofp_oxm_class = {
     [0] = "OFPXMC_NXM_0",
     [1] = "OFPXMC_NXM_1",
     [32768] = "OFPXMC_OPENFLOW_BASIC",
     [65535] = "OFPXMC_EXPERIMENTER",
 }
 
-local enum_v4_ofp_bad_request_code = {
+enum_v4_ofp_bad_request_code = {
     [0] = "OFPBRC_BAD_VERSION",
     [1] = "OFPBRC_BAD_TYPE",
     [2] = "OFPBRC_BAD_STAT",
@@ -1270,7 +1307,7 @@
     [13] = "OFPBRC_MULTIPART_BUFFER_OVERFLOW",
 }
 
-local enum_v4_ofp_bsn_pktin_flag = {
+enum_v4_ofp_bsn_pktin_flag = {
     [1] = "OFP_BSN_PKTIN_FLAG_PDU",
     [2] = "OFP_BSN_PKTIN_FLAG_NEW_HOST",
     [4] = "OFP_BSN_PKTIN_FLAG_STATION_MOVE",
@@ -1282,9 +1319,10 @@
     [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",
 }
 
-local enum_v4_ofp_bad_instruction_code = {
+enum_v4_ofp_bad_instruction_code = {
     [0] = "OFPBIC_UNKNOWN_INST",
     [1] = "OFPBIC_UNSUP_INST",
     [2] = "OFPBIC_BAD_TABLE_ID",
@@ -1296,7 +1334,7 @@
     [8] = "OFPBIC_EPERM",
 }
 
-local enum_v4_ofp_port_config = {
+enum_v4_ofp_port_config = {
     [1] = "OFPPC_PORT_DOWN",
     [4] = "OFPPC_NO_RECV",
     [32] = "OFPPC_NO_FWD",
@@ -1304,14 +1342,14 @@
     [2147483648] = "OFPPC_BSN_MIRROR_DEST",
 }
 
-local enum_v4_ofp_meter = {
+enum_v4_ofp_meter = {
     [4294901760] = "OFPM_MAX",
     [4294967293] = "OFPM_SLOWPATH",
     [4294967294] = "OFPM_CONTROLLER",
     [4294967295] = "OFPM_ALL",
 }
 
-local enum_v4_ofp_bad_action_code = {
+enum_v4_ofp_bad_action_code = {
     [0] = "OFPBAC_BAD_TYPE",
     [1] = "OFPBAC_BAD_LEN",
     [2] = "OFPBAC_BAD_EXPERIMENTER",
@@ -1330,60 +1368,51 @@
     [15] = "OFPBAC_BAD_SET_ARGUMENT",
 }
 
-local enum_v4_ofp_port_state = {
+enum_v4_ofp_port_state = {
     [1] = "OFPPS_LINK_DOWN",
     [2] = "OFPPS_BLOCKED",
     [4] = "OFPPS_LIVE",
 }
 
-local enum_v4_ofp_config_flags = {
+enum_v4_ofp_config_flags = {
     [0] = "OFPC_FRAG_NORMAL",
     [1] = "OFPC_FRAG_DROP",
     [2] = "OFPC_FRAG_REASM",
     [3] = "OFPC_FRAG_MASK",
 }
 
-local enum_v4_ofp_table_feature_prop_type = {
-    [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",
-    [65534] = "OFPTFPT_EXPERIMENTER",
-    [65535] = "OFPTFPT_EXPERIMENTER_MISS",
+enum_v4_of_bsn_vrf_counter = {
+    [0] = "OFP_BSN_VRF_COUNTER_BYTES",
+    [1] = "OFP_BSN_VRF_COUNTER_PACKETS",
 }
 
-local enum_v4_ofp_switch_config_failed_code = {
-    [0] = "OFPSCFC_BAD_FLAGS",
-    [1] = "OFPSCFC_BAD_LEN",
-    [2] = "OFPSCFC_EPERM",
+enum_v4_of_bsn_pdu_slot_num = {
+    [255] = "BSN_PDU_SLOT_NUM_ANY",
 }
 
-local enum_v4_ofp_controller_max_len = {
+enum_v4_ofp_controller_max_len = {
     [65509] = "OFPCML_MAX",
     [65535] = "OFPCML_NO_BUFFER",
 }
 
-local enum_v4_ofp_role_request_failed_code = {
+enum_v4_ofp_role_request_failed_code = {
     [0] = "OFPRRFC_STALE",
     [1] = "OFPRRFC_UNSUP",
     [2] = "OFPRRFC_BAD_ROLE",
 }
 
-local enum_v4_ofp_bsn_vrf_counter_constants = {
+enum_v4_of_bsn_vlan_counter = {
+    [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",
+}
+
+enum_v4_ofp_bsn_vrf_counter_constants = {
     [4294967295] = "OFP_BSN_VRF_ALL",
 }
 
-local enum_v4_ofp_bsn_tcp_flag = {
+enum_v4_ofp_bsn_tcp_flag = {
     [1] = "OFP_BSN_TCP_FLAG_FIN",
     [2] = "OFP_BSN_TCP_FLAG_SYN",
     [4] = "OFP_BSN_TCP_FLAG_RST",
@@ -1395,15 +1424,18 @@
     [256] = "OFP_BSN_TCP_FLAG_NS",
 }
 
-local enum_v4_ofp_bsn_vport_l2gre_flags = {
-    [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",
+enum_v4_ofp_table = {
+    [254] = "OFPTT_MAX",
+    [255] = "OFPTT_ALL",
 }
 
-local enum_v4_ofp_ipv6exthdr_flags = {
+enum_v4_ofp_switch_config_failed_code = {
+    [0] = "OFPSCFC_BAD_FLAGS",
+    [1] = "OFPSCFC_BAD_LEN",
+    [2] = "OFPSCFC_EPERM",
+}
+
+enum_v4_ofp_ipv6exthdr_flags = {
     [1] = "OFPIEH_NONEXT",
     [2] = "OFPIEH_ESP",
     [4] = "OFPIEH_AUTH",
@@ -1415,31 +1447,34 @@
     [256] = "OFPIEH_UNSEQ",
 }
 
-local enum_v4_ofp_flow_removed_reason = {
+enum_v4_ofp_flow_removed_reason = {
     [0] = "OFPRR_IDLE_TIMEOUT",
     [1] = "OFPRR_HARD_TIMEOUT",
     [2] = "OFPRR_DELETE",
     [3] = "OFPRR_GROUP_DELETE",
 }
 
-local enum_v4_ofp_table_mod_failed_code = {
+enum_v4_ofp_table_mod_failed_code = {
     [0] = "OFPTMFC_BAD_TABLE",
     [1] = "OFPTMFC_BAD_CONFIG",
     [2] = "OFPTMFC_EPERM",
 }
 
-local enum_v4_ofp_queue_properties = {
+enum_v4_ofp_queue_properties = {
     [1] = "OFPQT_MIN_RATE",
     [2] = "OFPQT_MAX_RATE",
     [65535] = "OFPQT_EXPERIMENTER",
 }
 
-local enum_v4_ofp_table = {
-    [254] = "OFPTT_MAX",
-    [255] = "OFPTT_ALL",
+enum_v4_ofp_bsn_vport_l2gre_flags = {
+    [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",
 }
 
-local enum_v4_ofp_meter_mod_failed_code = {
+enum_v4_ofp_meter_mod_failed_code = {
     [0] = "OFPMMFC_UNKNOWN",
     [1] = "OFPMMFC_METER_EXISTS",
     [2] = "OFPMMFC_INVALID_METER",
@@ -1454,40 +1489,40 @@
     [11] = "OFPMMFC_OUT_OF_BANDS",
 }
 
-local enum_v4_ofp_bsn_vport_status = {
+enum_v4_ofp_bsn_vport_status = {
     [0] = "OF_BSN_VPORT_STATUS_OK",
     [1] = "OF_BSN_VPORT_STATUS_FAILED",
 }
 
-local enum_v4_ofp_bsn_controller_connection_state = {
+enum_v4_ofp_bsn_controller_connection_state = {
     [0] = "OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED",
     [1] = "OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED",
 }
 
-local enum_v4_of_bsn_lacp_convergence_status_t = {
-    [0] = "LACP_SUCCESS",
-    [1] = "LACP_TIMEDOUT",
-    [2] = "LACP_OUT_OF_SYNC",
+enum_v4_ofp_group = {
+    [4294967040] = "OFPG_MAX",
+    [4294967292] = "OFPG_ALL",
+    [4294967295] = "OFPG_ANY",
 }
 
-local enum_v4_ofp_port_reason = {
+enum_v4_ofp_port_reason = {
     [0] = "OFPPR_ADD",
     [1] = "OFPPR_DELETE",
     [2] = "OFPPR_MODIFY",
 }
 
-local enum_v4_ofp_group_capabilities = {
+enum_v4_ofp_group_capabilities = {
     [1] = "OFPGFC_SELECT_WEIGHT",
     [2] = "OFPGFC_SELECT_LIVENESS",
     [4] = "OFPGFC_CHAINING",
     [8] = "OFPGFC_CHAINING_CHECKS",
 }
 
-local enum_v4_ofp_table_config = {
+enum_v4_ofp_table_config = {
     [3] = "OFPTC_DEPRECATED_MASK",
 }
 
-local enum_v4_ofp_action_type = {
+enum_v4_ofp_action_type = {
     [0] = "OFPAT_OUTPUT",
     [11] = "OFPAT_COPY_TTL_OUT",
     [12] = "OFPAT_COPY_TTL_IN",
@@ -1507,7 +1542,7 @@
     [65535] = "OFPAT_EXPERIMENTER",
 }
 
-local enum_v4_ofp_flow_mod_command = {
+enum_v4_ofp_flow_mod_command = {
     [0] = "OFPFC_ADD",
     [1] = "OFPFC_MODIFY",
     [2] = "OFPFC_MODIFY_STRICT",
@@ -1515,59 +1550,208 @@
     [4] = "OFPFC_DELETE_STRICT",
 }
 
-local enum_v4_ofp_meter_flags = {
+enum_v4_ofp_meter_flags = {
     [1] = "OFPMF_KBPS",
     [2] = "OFPMF_PKTPS",
     [4] = "OFPMF_BURST",
     [8] = "OFPMF_STATS",
 }
 
-local enum_v4_ofp_queue_op_failed_code = {
+enum_v4_ofp_queue_op_failed_code = {
     [0] = "OFPQOFC_BAD_PORT",
     [1] = "OFPQOFC_BAD_QUEUE",
     [2] = "OFPQOFC_EPERM",
 }
 
-local enum_v4_ofp_meter_band_type = {
+enum_v4_ofp_meter_band_type = {
     [1] = "OFPMBT_DROP",
     [2] = "OFPMBT_DSCP_REMARK",
     [65535] = "OFPMBT_EXPERIMENTER",
 }
 
-local enum_v4_ofp_error_type = {
-    [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",
-    [65535] = "OFPET_EXPERIMENTER",
-}
-
-local enum_v4_ofp_bsn_vlan_counter_constants = {
+enum_v4_ofp_bsn_vlan_counter_constants = {
     [65535] = "OFP_BSN_VLAN_ALL",
 }
 
-local enum_v4_ofp_group_mod_command = {
-    [0] = "OFPGC_ADD",
-    [1] = "OFPGC_MODIFY",
-    [2] = "OFPGC_DELETE",
+enum_v4_of_bsn_lacp_convergence_status = {
+    [0] = "LACP_SUCCESS",
+    [1] = "LACP_TIMEDOUT",
+    [2] = "LACP_OUT_OF_SYNC",
 }
 
-local enum_v4_ofp_match_type = {
+enum_v4_ofp_match_type = {
     [0] = "OFPMT_STANDARD",
     [1] = "OFPMT_OXM",
 }
 
-local enum_v4_ofp_type = {
+enum_v4_ofp_vlan_id = {
+    [0] = "OFPVID_NONE",
+    [4096] = "OFPVID_PRESENT",
+}
+
+enum_v4_ofp_stats_request_flags = {
+    [1] = "OFPSF_REQ_MORE",
+}
+
+enum_v4_ofp_hello_elem_type = {
+    [1] = "OFPHET_VERSIONBITMAP",
+}
+
+enum_v4_ofp_bsn_controller_role_reason = {
+    [0] = "OFP_BSN_CONTROLLER_ROLE_REASON_MASTER_REQUEST",
+    [1] = "OFP_BSN_CONTROLLER_ROLE_REASON_CONFIG",
+    [2] = "OFP_BSN_CONTROLLER_ROLE_REASON_EXPERIMENTER",
+}
+
+enum_v4_ofp_group_mod_failed_code = {
+    [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",
+}
+
+enum_v4_macro_definitions = {
+    [32] = "OFP_MAX_TABLE_NAME_LEN",
+    [16] = "OFP_MAX_PORT_NAME_LEN",
+    [6653] = "OFP_TCP_PORT",
+    [6653] = "OFP_SSL_PORT",
+    [6] = "OFP_ETH_ALEN",
+    [128] = "OFP_DEFAULT_MISS_SEND_LEN",
+    [0] = "OFP_VLAN_NONE",
+    [0] = "OFP_FLOW_PERMANENT",
+    [32768] = "OFP_DEFAULT_PRIORITY",
+    [4294967295] = "OFP_NO_BUFFER",
+    [256] = "DESC_STR_LEN",
+    [32] = "SERIAL_NUM_LEN",
+    [4294967295] = "OFPQ_ALL",
+    [65535] = "OFPQ_MAX_RATE_UNCFG",
+    [65535] = "OFPQ_MIN_RATE_UNCFG",
+}
+
+enum_v4_ofp_hello_failed_code = {
+    [0] = "OFPHFC_INCOMPATIBLE",
+    [1] = "OFPHFC_EPERM",
+}
+
+enum_v4_ofp_port = {
+    [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",
+}
+
+enum_v4_ofp_group_type = {
+    [0] = "OFPGT_ALL",
+    [1] = "OFPGT_SELECT",
+    [2] = "OFPGT_INDIRECT",
+    [3] = "OFPGT_FF",
+}
+
+enum_v4_ofp_instruction_type = {
+    [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",
+}
+
+enum_v4_ofp_meter_mod_command = {
+    [0] = "OFPMC_ADD",
+    [1] = "OFPMC_MODIFY",
+    [2] = "OFPMC_DELETE",
+}
+
+enum_v4_ofp_table_feature_prop_type = {
+    [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",
+    [65534] = "OFPTFPT_EXPERIMENTER",
+    [65535] = "OFPTFPT_EXPERIMENTER_MISS",
+}
+
+enum_v4_ofp_capabilities = {
+    [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",
+}
+
+enum_v4_ofp_flow_mod_failed_code = {
+    [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",
+}
+
+enum_v4_ofp_bsn_loglevel = {
+    [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",
+}
+
+enum_v4_ofp_port_mod_failed_code = {
+    [0] = "OFPPMFC_BAD_PORT",
+    [1] = "OFPPMFC_BAD_HW_ADDR",
+    [2] = "OFPPMFC_BAD_CONFIG",
+    [3] = "OFPPMFC_BAD_ADVERTISE",
+    [4] = "OFPPMFC_EPERM",
+}
+
+enum_v4_ofp_bad_match_code = {
+    [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",
+}
+
+enum_v4_ofp_type = {
     [0] = "OFPT_HELLO",
     [1] = "OFPT_ERROR",
     [2] = "OFPT_ECHO_REQUEST",
@@ -1600,155 +1784,127 @@
     [29] = "OFPT_METER_MOD",
 }
 
-local enum_v4_ofp_vlan_id = {
-    [0] = "OFPVID_NONE",
-    [4096] = "OFPVID_PRESENT",
+enum_v4_ofp_packet_in_reason = {
+    [0] = "OFPR_NO_MATCH",
+    [1] = "OFPR_ACTION",
+    [2] = "OFPR_INVALID_TTL",
+    [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",
 }
 
-local enum_v4_ofp_stats_request_flags = {
-    [1] = "OFPSF_REQ_MORE",
+enum_v4_ofp_bsn_lacp_state = {
+    [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",
 }
 
-local enum_v4_ofp_hello_elem_type = {
-    [1] = "OFPHET_VERSIONBITMAP",
+enum_v4_ofp_bsn_vport_q_in_q_untagged = {
+    [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
 }
 
-local enum_v4_ofp_bsn_controller_role_reason = {
-    [0] = "OFP_BSN_CONTROLLER_ROLE_REASON_MASTER_REQUEST",
-    [1] = "OFP_BSN_CONTROLLER_ROLE_REASON_CONFIG",
-    [2] = "OFP_BSN_CONTROLLER_ROLE_REASON_EXPERIMENTER",
+enum_v4_ofp_group_mod_command = {
+    [0] = "OFPGC_ADD",
+    [1] = "OFPGC_MODIFY",
+    [2] = "OFPGC_DELETE",
 }
 
-local enum_v4_ofp_group_mod_failed_code = {
-    [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",
+enum_v4_ofp_table_features_failed_code = {
+    [0] = "OFPTFFC_BAD_TABLE",
+    [1] = "OFPTFFC_BAD_METADATA",
+    [2] = "OFPTFFC_BAD_TYPE",
+    [3] = "OFPTFFC_BAD_LEN",
+    [4] = "OFPTFFC_BAD_ARGUMENT",
+    [5] = "OFPTFFC_EPERM",
 }
 
-local enum_v4_macro_definitions = {
-    [32] = "OFP_MAX_TABLE_NAME_LEN",
-    [16] = "OFP_MAX_PORT_NAME_LEN",
-    [6653] = "OFP_TCP_PORT",
-    [6653] = "OFP_SSL_PORT",
-    [6] = "OFP_ETH_ALEN",
-    [128] = "OFP_DEFAULT_MISS_SEND_LEN",
-    [0] = "OFP_VLAN_NONE",
-    [0] = "OFP_FLOW_PERMANENT",
-    [32768] = "OFP_DEFAULT_PRIORITY",
-    [4294967295] = "OFP_NO_BUFFER",
-    [256] = "DESC_STR_LEN",
-    [32] = "SERIAL_NUM_LEN",
-    [4294967295] = "OFPQ_ALL",
-    [65535] = "OFPQ_MAX_RATE_UNCFG",
-    [65535] = "OFPQ_MIN_RATE_UNCFG",
+enum_v4_ofp_port_features = {
+    [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",
 }
 
-local enum_v4_ofp_hello_failed_code = {
-    [0] = "OFPHFC_INCOMPATIBLE",
-    [1] = "OFPHFC_EPERM",
+enum_v4_ofp_bsn_udf_anchor = {
+    [0] = "OFP_BSN_UDF_ANCHOR_PACKET_START",
+    [1] = "OFP_BSN_UDF_ANCHOR_L3_HEADER_START",
+    [2] = "OFP_BSN_UDF_ANCHOR_L4_HEADER_START",
 }
 
-local enum_v4_ofp_port = {
-    [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",
+
+enum_v5_ofp_error_type = {
+    [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",
 }
 
-local enum_v4_ofp_group_type = {
-    [0] = "OFPGT_ALL",
-    [1] = "OFPGT_SELECT",
-    [2] = "OFPGT_INDIRECT",
-    [3] = "OFPGT_FF",
+enum_v5_ofp_stats_type = {
+    [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",
 }
 
-local enum_v4_ofp_instruction_type = {
-    [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",
-}
-
-local enum_v4_ofp_meter_mod_command = {
-    [0] = "OFPMC_ADD",
-    [1] = "OFPMC_MODIFY",
-    [2] = "OFPMC_DELETE",
-}
-
-local enum_v4_ofp_capabilities = {
-    [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",
-}
-
-local enum_v4_ofp_flow_mod_failed_code = {
-    [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",
-}
-
-local enum_v4_ofp_bsn_loglevel = {
-    [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",
-}
-
-local enum_v4_ofp_port_mod_failed_code = {
-    [0] = "OFPPMFC_BAD_PORT",
-    [1] = "OFPPMFC_BAD_HW_ADDR",
-    [2] = "OFPPMFC_BAD_CONFIG",
-    [3] = "OFPPMFC_BAD_ADVERTISE",
-    [4] = "OFPPMFC_EPERM",
-}
-
-local enum_v4_ofp_bad_match_code = {
-    [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",
-}
-
-local enum_v4_ofp_bsn_port_counter = {
+enum_v5_ofp_bsn_port_counter = {
     [0] = "OFP_BSN_PORT_COUNTER_RX_BYTES",
     [1] = "OFP_BSN_PORT_COUNTER_RX_PACKETS_UNICAST",
     [2] = "OFP_BSN_PORT_COUNTER_RX_PACKETS_BROADCAST",
@@ -1778,125 +1934,7 @@
     [26] = "OFP_BSN_PORT_COUNTER_TX_CARRIER_ERRORS",
 }
 
-local enum_v4_ofp_packet_in_reason = {
-    [0] = "OFPR_NO_MATCH",
-    [1] = "OFPR_ACTION",
-    [2] = "OFPR_INVALID_TTL",
-    [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",
-}
-
-local enum_v4_of_bsn_vlan_counter_t = {
-    [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",
-}
-
-local enum_v4_ofp_bsn_vport_q_in_q_untagged = {
-    [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
-}
-
-local enum_v4_of_bsn_pdu_slot_num_t = {
-    [255] = "BSN_PDU_SLOT_NUM_ANY",
-}
-
-local enum_v4_ofp_table_features_failed_code = {
-    [0] = "OFPTFFC_BAD_TABLE",
-    [1] = "OFPTFFC_BAD_METADATA",
-    [2] = "OFPTFFC_BAD_TYPE",
-    [3] = "OFPTFFC_BAD_LEN",
-    [4] = "OFPTFFC_BAD_ARGUMENT",
-    [5] = "OFPTFFC_EPERM",
-}
-
-local enum_v4_ofp_port_features = {
-    [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",
-}
-
-local enum_v4_ofp_bsn_udf_anchor = {
-    [0] = "OFP_BSN_UDF_ANCHOR_PACKET_START",
-    [1] = "OFP_BSN_UDF_ANCHOR_L3_HEADER_START",
-    [2] = "OFP_BSN_UDF_ANCHOR_L4_HEADER_START",
-}
-
-
-local enum_v5_ofp_error_type = {
-    [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",
-}
-
-local enum_v5_ofp_stats_type = {
-    [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",
-}
-
-local enum_v5_ofp_hello_failed_code = {
-    [0] = "OFPHFC_INCOMPATIBLE",
-    [1] = "OFPHFC_EPERM",
-}
-
-local enum_v5_ofp_flow_mod_flags = {
+enum_v5_ofp_flow_mod_flags = {
     [1] = "OFPFF_SEND_FLOW_REM",
     [2] = "OFPFF_CHECK_OVERLAP",
     [4] = "OFPFF_RESET_COUNTS",
@@ -1905,25 +1943,32 @@
     [128] = "OFPFF_BSN_SEND_IDLE",
 }
 
-local enum_v5_ofp_controller_role = {
+enum_v5_ofp_controller_role = {
     [0] = "OFPCR_ROLE_NOCHANGE",
     [1] = "OFPCR_ROLE_EQUAL",
     [2] = "OFPCR_ROLE_MASTER",
     [3] = "OFPCR_ROLE_SLAVE",
 }
 
-local enum_v5_ofp_stats_reply_flags = {
+enum_v5_ofp_stats_reply_flags = {
     [1] = "OFPSF_REPLY_MORE",
 }
 
-local enum_v5_ofp_oxm_class = {
+enum_v5_ofp_oxm_class = {
     [0] = "OFPXMC_NXM_0",
     [1] = "OFPXMC_NXM_1",
     [32768] = "OFPXMC_OPENFLOW_BASIC",
     [65535] = "OFPXMC_EXPERIMENTER",
 }
 
-local enum_v5_ofp_bad_request_code = {
+enum_v5_ofp_optical_port_features = {
+    [1] = "OFPOPF_RX_TUNE",
+    [2] = "OFPOPF_TX_TUNE",
+    [4] = "OFPOPF_TX_PWR",
+    [8] = "OFPOPF_USE_FREQ",
+}
+
+enum_v5_ofp_bad_request_code = {
     [0] = "OFPBRC_BAD_VERSION",
     [1] = "OFPBRC_BAD_TYPE",
     [2] = "OFPBRC_BAD_STAT",
@@ -1942,18 +1987,22 @@
     [15] = "OFPBRC_MULTIPART_REPLY_TIMEOUT",
 }
 
-local enum_v5_ofp_flow_monitor_failed_code = {
-    [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",
+enum_v5_ofp_bsn_pktin_flag = {
+    [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",
 }
 
-local enum_v5_ofp_bad_instruction_code = {
+enum_v5_ofp_bad_instruction_code = {
     [0] = "OFPBIC_UNKNOWN_INST",
     [1] = "OFPBIC_UNSUP_INST",
     [2] = "OFPBIC_BAD_TABLE_ID",
@@ -1966,7 +2015,7 @@
     [9] = "OFPBIC_DUP_INST",
 }
 
-local enum_v5_ofp_port_config = {
+enum_v5_ofp_port_config = {
     [1] = "OFPPC_PORT_DOWN",
     [4] = "OFPPC_NO_RECV",
     [32] = "OFPPC_NO_FWD",
@@ -1974,14 +2023,14 @@
     [2147483648] = "OFPPC_BSN_MIRROR_DEST",
 }
 
-local enum_v5_ofp_meter = {
+enum_v5_ofp_meter = {
     [4294901760] = "OFPM_MAX",
     [4294967293] = "OFPM_SLOWPATH",
     [4294967294] = "OFPM_CONTROLLER",
     [4294967295] = "OFPM_ALL",
 }
 
-local enum_v5_ofp_bad_action_code = {
+enum_v5_ofp_bad_action_code = {
     [0] = "OFPBAC_BAD_TYPE",
     [1] = "OFPBAC_BAD_LEN",
     [2] = "OFPBAC_BAD_EXPERIMENTER",
@@ -2000,79 +2049,75 @@
     [15] = "OFPBAC_BAD_SET_ARGUMENT",
 }
 
-local enum_v5_ofp_port_state = {
+enum_v5_ofp_port_state = {
     [1] = "OFPPS_LINK_DOWN",
     [2] = "OFPPS_BLOCKED",
     [4] = "OFPPS_LIVE",
 }
 
-local enum_v5_ofp_config_flags = {
+enum_v5_ofp_config_flags = {
     [0] = "OFPC_FRAG_NORMAL",
     [1] = "OFPC_FRAG_DROP",
     [2] = "OFPC_FRAG_REASM",
     [3] = "OFPC_FRAG_MASK",
 }
 
-local enum_v5_ofp_table_feature_prop_type = {
-    [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",
+enum_v5_of_bsn_vrf_counter = {
+    [0] = "OFP_BSN_VRF_COUNTER_BYTES",
+    [1] = "OFP_BSN_VRF_COUNTER_PACKETS",
 }
 
-local enum_v5_ofp_switch_config_failed_code = {
-    [0] = "OFPSCFC_BAD_FLAGS",
-    [1] = "OFPSCFC_BAD_LEN",
-    [2] = "OFPSCFC_EPERM",
+enum_v5_of_bsn_pdu_slot_num = {
+    [255] = "BSN_PDU_SLOT_NUM_ANY",
 }
 
-local enum_v5_ofp_port_stats_prop_type = {
+enum_v5_ofp_port_stats_prop_type = {
     [0] = "OFPPSPT_ETHERNET",
     [1] = "OFPPSPT_OPTICAL",
     [65535] = "OFPPSPT_EXPERIMENTER",
 }
 
-local enum_v5_ofp_async_config_failed_code = {
+enum_v5_ofp_async_config_failed_code = {
     [0] = "OFPACFC_INVALID",
     [1] = "OFPACFC_UNSUPPORTED",
     [2] = "OFPACFC_EPERM",
 }
 
-local enum_v5_ofp_controller_max_len = {
+enum_v5_ofp_controller_max_len = {
     [65509] = "OFPCML_MAX",
     [65535] = "OFPCML_NO_BUFFER",
 }
 
-local enum_v5_ofp_role_request_failed_code = {
+enum_v5_ofp_role_request_failed_code = {
     [0] = "OFPRRFC_STALE",
     [1] = "OFPRRFC_UNSUP",
     [2] = "OFPRRFC_BAD_ROLE",
 }
 
-local enum_v5_ofp_capabilities = {
-    [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",
+enum_v5_of_bsn_vlan_counter = {
+    [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",
 }
 
-local enum_v5_ofp_bsn_vport_l2gre_flags = {
+enum_v5_ofp_bsn_vrf_counter_constants = {
+    [4294967295] = "OFP_BSN_VRF_ALL",
+}
+
+enum_v5_ofp_bsn_tcp_flag = {
+    [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",
+}
+
+enum_v5_ofp_bsn_vport_l2gre_flags = {
     [1] = "OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID",
     [2] = "OF_BSN_VPORT_L2GRE_DSCP_ASSIGN",
     [4] = "OF_BSN_VPORT_L2GRE_DSCP_COPY",
@@ -2080,7 +2125,13 @@
     [16] = "OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID",
 }
 
-local enum_v5_ofp_ipv6exthdr_flags = {
+enum_v5_ofp_switch_config_failed_code = {
+    [0] = "OFPSCFC_BAD_FLAGS",
+    [1] = "OFPSCFC_BAD_LEN",
+    [2] = "OFPSCFC_EPERM",
+}
+
+enum_v5_ofp_ipv6exthdr_flags = {
     [1] = "OFPIEH_NONEXT",
     [2] = "OFPIEH_ESP",
     [4] = "OFPIEH_AUTH",
@@ -2092,7 +2143,7 @@
     [256] = "OFPIEH_UNSEQ",
 }
 
-local enum_v5_ofp_flow_removed_reason = {
+enum_v5_ofp_flow_removed_reason = {
     [0] = "OFPRR_IDLE_TIMEOUT",
     [1] = "OFPRR_HARD_TIMEOUT",
     [2] = "OFPRR_DELETE",
@@ -2101,18 +2152,27 @@
     [5] = "OFPRR_EVICTION",
 }
 
-local enum_v5_ofp_table_mod_failed_code = {
+enum_v5_ofp_table_mod_failed_code = {
     [0] = "OFPTMFC_BAD_TABLE",
     [1] = "OFPTMFC_BAD_CONFIG",
     [2] = "OFPTMFC_EPERM",
 }
 
-local enum_v5_ofp_table = {
+enum_v5_ofp_port_stats_optical_flags = {
+    [1] = "OFPOSF_RX_TUNE",
+    [2] = "OFPOSF_TX_TUNE",
+    [4] = "OFPOSF_TX_PWR",
+    [16] = "OFPOSF_RX_PWR",
+    [32] = "OFPOSF_TX_BIAS",
+    [64] = "OFPOSF_TX_TEMP",
+}
+
+enum_v5_ofp_table = {
     [254] = "OFPTT_MAX",
     [255] = "OFPTT_ALL",
 }
 
-local enum_v5_ofp_bundle_failed_code = {
+enum_v5_ofp_bundle_failed_code = {
     [0] = "OFPBFC_UNKNOWN",
     [1] = "OFPBFC_EPERM",
     [2] = "OFPBFC_BAD_ID",
@@ -2131,7 +2191,7 @@
     [15] = "OFPBFC_BUNDLE_IN_PROGRESS",
 }
 
-local enum_v5_ofp_meter_mod_failed_code = {
+enum_v5_ofp_meter_mod_failed_code = {
     [0] = "OFPMMFC_UNKNOWN",
     [1] = "OFPMMFC_METER_EXISTS",
     [2] = "OFPMMFC_INVALID_METER",
@@ -2146,37 +2206,42 @@
     [11] = "OFPMMFC_OUT_OF_BANDS",
 }
 
-local enum_v5_ofp_bsn_vport_status = {
+enum_v5_ofp_bsn_vport_status = {
     [0] = "OF_BSN_VPORT_STATUS_OK",
     [1] = "OF_BSN_VPORT_STATUS_FAILED",
 }
 
-local enum_v5_ofp_group = {
+enum_v5_ofp_bsn_controller_connection_state = {
+    [0] = "OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED",
+    [1] = "OFP_BSN_CONTROLLER_CONNECTION_STATE_CONNECTED",
+}
+
+enum_v5_ofp_group = {
     [4294967040] = "OFPG_MAX",
     [4294967292] = "OFPG_ALL",
     [4294967295] = "OFPG_ANY",
 }
 
-local enum_v5_ofp_port_reason = {
+enum_v5_ofp_port_reason = {
     [0] = "OFPPR_ADD",
     [1] = "OFPPR_DELETE",
     [2] = "OFPPR_MODIFY",
 }
 
-local enum_v5_ofp_group_capabilities = {
+enum_v5_ofp_group_capabilities = {
     [1] = "OFPGFC_SELECT_WEIGHT",
     [2] = "OFPGFC_SELECT_LIVENESS",
     [4] = "OFPGFC_CHAINING",
     [8] = "OFPGFC_CHAINING_CHECKS",
 }
 
-local enum_v5_ofp_table_config = {
+enum_v5_ofp_table_config = {
     [3] = "OFPTC_DEPRECATED_MASK",
     [4] = "OFPTC_EVICTION",
     [8] = "OFPTC_VACANCY_EVENTS",
 }
 
-local enum_v5_ofp_action_type = {
+enum_v5_ofp_action_type = {
     [0] = "OFPAT_OUTPUT",
     [11] = "OFPAT_COPY_TTL_OUT",
     [12] = "OFPAT_COPY_TTL_IN",
@@ -2196,7 +2261,7 @@
     [65535] = "OFPAT_EXPERIMENTER",
 }
 
-local enum_v5_ofp_flow_mod_command = {
+enum_v5_ofp_flow_mod_command = {
     [0] = "OFPFC_ADD",
     [1] = "OFPFC_MODIFY",
     [2] = "OFPFC_MODIFY_STRICT",
@@ -2204,56 +2269,82 @@
     [4] = "OFPFC_DELETE_STRICT",
 }
 
-local enum_v5_ofp_meter_flags = {
+enum_v5_ofp_table_reason = {
+    [3] = "OFPTR_VACANCY_DOWN",
+    [4] = "OFPTR_VACANCY_UP",
+}
+
+enum_v5_ofp_meter_flags = {
     [1] = "OFPMF_KBPS",
     [2] = "OFPMF_PKTPS",
     [4] = "OFPMF_BURST",
     [8] = "OFPMF_STATS",
 }
 
-local enum_v5_ofp_queue_op_failed_code = {
+enum_v5_ofp_queue_op_failed_code = {
     [0] = "OFPQOFC_BAD_PORT",
     [1] = "OFPQOFC_BAD_QUEUE",
     [2] = "OFPQOFC_EPERM",
 }
 
-local enum_v5_ofp_meter_band_type = {
+enum_v5_ofp_meter_band_type = {
     [1] = "OFPMBT_DROP",
     [2] = "OFPMBT_DSCP_REMARK",
     [65535] = "OFPMBT_EXPERIMENTER",
 }
 
-local enum_v5_ofp_group_mod_command = {
-    [0] = "OFPGC_ADD",
-    [1] = "OFPGC_MODIFY",
-    [2] = "OFPGC_DELETE",
+enum_v5_ofp_bundle_ctrl_type = {
+    [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",
 }
 
-local enum_v5_ofp_match_type = {
+enum_v5_ofp_controller_role_reason = {
+    [0] = "OFPCRR_MASTER_REQUEST",
+    [1] = "OFPCRR_CONFIG",
+    [2] = "OFPCRR_EXPERIMENTER",
+}
+
+enum_v5_ofp_bsn_vlan_counter_constants = {
+    [65535] = "OFP_BSN_VLAN_ALL",
+}
+
+enum_v5_of_bsn_lacp_convergence_status = {
+    [0] = "LACP_SUCCESS",
+    [1] = "LACP_TIMEDOUT",
+    [2] = "LACP_OUT_OF_SYNC",
+}
+
+enum_v5_ofp_match_type = {
     [0] = "OFPMT_STANDARD",
     [1] = "OFPMT_OXM",
 }
 
-local enum_v5_ofp_vlan_id = {
+enum_v5_ofp_vlan_id = {
     [0] = "OFPVID_NONE",
     [4096] = "OFPVID_PRESENT",
 }
 
-local enum_v5_ofp_stats_request_flags = {
+enum_v5_ofp_stats_request_flags = {
     [1] = "OFPSF_REQ_MORE",
 }
 
-local enum_v5_ofp_hello_elem_type = {
+enum_v5_ofp_hello_elem_type = {
     [1] = "OFPHET_VERSIONBITMAP",
 }
 
-local enum_v5_ofp_table_features_failed_code = {
+enum_v5_ofp_table_features_failed_code = {
     [0] = "OFPTFFC_BAD_TABLE",
     [1] = "OFPTFFC_BAD_METADATA",
     [5] = "OFPTFFC_EPERM",
 }
 
-local enum_v5_ofp_group_mod_failed_code = {
+enum_v5_ofp_group_mod_failed_code = {
     [0] = "OFPGMFC_GROUP_EXISTS",
     [1] = "OFPGMFC_INVALID_GROUP",
     [2] = "OFPGMFC_WEIGHT_UNSUPPORTED",
@@ -2271,7 +2362,7 @@
     [14] = "OFPGMFC_EPERM",
 }
 
-local enum_v5_macro_definitions = {
+enum_v5_macro_definitions = {
     [32] = "OFP_MAX_TABLE_NAME_LEN",
     [16] = "OFP_MAX_PORT_NAME_LEN",
     [6653] = "OFP_TCP_PORT",
@@ -2289,7 +2380,12 @@
     [65535] = "OFPQ_MIN_RATE_UNCFG",
 }
 
-local enum_v5_ofp_port = {
+enum_v5_ofp_hello_failed_code = {
+    [0] = "OFPHFC_INCOMPATIBLE",
+    [1] = "OFPHFC_EPERM",
+}
+
+enum_v5_ofp_port = {
     [4294967040] = "OFPP_MAX",
     [4294967288] = "OFPP_IN_PORT",
     [4294967289] = "OFPP_TABLE",
@@ -2301,14 +2397,14 @@
     [4294967295] = "OFPP_ANY",
 }
 
-local enum_v5_ofp_group_type = {
+enum_v5_ofp_group_type = {
     [0] = "OFPGT_ALL",
     [1] = "OFPGT_SELECT",
     [2] = "OFPGT_INDIRECT",
     [3] = "OFPGT_FF",
 }
 
-local enum_v5_ofp_instruction_type = {
+enum_v5_ofp_instruction_type = {
     [1] = "OFPIT_GOTO_TABLE",
     [2] = "OFPIT_WRITE_METADATA",
     [3] = "OFPIT_WRITE_ACTIONS",
@@ -2318,13 +2414,49 @@
     [65535] = "OFPIT_EXPERIMENTER",
 }
 
-local enum_v5_ofp_meter_mod_command = {
+enum_v5_ofp_meter_mod_command = {
     [0] = "OFPMC_ADD",
     [1] = "OFPMC_MODIFY",
     [2] = "OFPMC_DELETE",
 }
 
-local enum_v5_ofp_flow_mod_failed_code = {
+enum_v5_ofp_table_mod_prop_eviction_flag = {
+    [1] = "OFPTMPEF_OTHER",
+    [2] = "OFPTMPEF_IMPORTANCE",
+    [4] = "OFPTMPEF_LIFETIME",
+}
+
+enum_v5_ofp_table_feature_prop_type = {
+    [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",
+}
+
+enum_v5_ofp_capabilities = {
+    [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",
+}
+
+enum_v5_ofp_flow_mod_failed_code = {
     [0] = "OFPFMFC_UNKNOWN",
     [1] = "OFPFMFC_TABLE_FULL",
     [2] = "OFPFMFC_BAD_TABLE_ID",
@@ -2337,7 +2469,16 @@
     [9] = "OFPFMFC_BAD_PRIORITY",
 }
 
-local enum_v5_ofp_port_mod_failed_code = {
+enum_v5_ofp_bsn_loglevel = {
+    [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",
+}
+
+enum_v5_ofp_port_mod_failed_code = {
     [0] = "OFPPMFC_BAD_PORT",
     [1] = "OFPPMFC_BAD_HW_ADDR",
     [2] = "OFPPMFC_BAD_CONFIG",
@@ -2345,7 +2486,7 @@
     [4] = "OFPPMFC_EPERM",
 }
 
-local enum_v5_ofp_bad_match_code = {
+enum_v5_ofp_bad_match_code = {
     [0] = "OFPBMC_BAD_TYPE",
     [1] = "OFPBMC_BAD_LEN",
     [2] = "OFPBMC_BAD_TAG",
@@ -2360,7 +2501,7 @@
     [11] = "OFPBMC_EPERM",
 }
 
-local enum_v5_ofp_type = {
+enum_v5_ofp_type = {
     [0] = "OFPT_HELLO",
     [1] = "OFPT_ERROR",
     [2] = "OFPT_ECHO_REQUEST",
@@ -2396,7 +2537,7 @@
     [34] = "OFPT_BUNDLE_ADD_MESSAGE",
 }
 
-local enum_v5_ofp_packet_in_reason = {
+enum_v5_ofp_packet_in_reason = {
     [0] = "OFPR_NO_MATCH",
     [1] = "OFPR_ACTION",
     [2] = "OFPR_INVALID_TTL",
@@ -2419,15 +2560,49 @@
     [142] = "OFPR_BSN_PACKET_OF_DEATH",
 }
 
-local enum_v5_ofp_bsn_vport_q_in_q_untagged = {
+enum_v5_ofp_bundle_flags = {
+    [1] = "OFPBF_ATOMIC",
+    [2] = "OFPBF_ORDERED",
+}
+
+enum_v5_ofp_flow_monitor_failed_code = {
+    [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",
+}
+
+enum_v5_ofp_bsn_lacp_state = {
+    [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",
+}
+
+enum_v5_ofp_requestforward_reason = {
+    [0] = "OFPRFR_GROUP_MOD",
+    [1] = "OFPRFR_METER_MOD",
+}
+
+enum_v5_ofp_bsn_vport_q_in_q_untagged = {
     [65535] = "OF_BSN_VPORT_Q_IN_Q_UNTAGGED",
 }
 
-local enum_v5_of_bsn_pdu_slot_num_t = {
-    [255] = "BSN_PDU_SLOT_NUM_ANY",
+enum_v5_ofp_group_mod_command = {
+    [0] = "OFPGC_ADD",
+    [1] = "OFPGC_MODIFY",
+    [2] = "OFPGC_DELETE",
 }
 
-local enum_v5_ofp_bad_property_code = {
+enum_v5_ofp_bad_property_code = {
     [0] = "OFPBPC_BAD_TYPE",
     [1] = "OFPBPC_BAD_LEN",
     [2] = "OFPBPC_BAD_VALUE",
@@ -2439,7 +2614,7 @@
     [8] = "OFPBPC_EPERM",
 }
 
-local enum_v5_ofp_port_features = {
+enum_v5_ofp_port_features = {
     [1] = "OFPPF_10MB_HD",
     [2] = "OFPPF_10MB_FD",
     [4] = "OFPPF_100MB_HD",
@@ -2458,6 +2633,12 @@
     [32768] = "OFPPF_PAUSE_ASYM",
 }
 
+enum_v5_ofp_bsn_udf_anchor = {
+    [0] = "OFP_BSN_UDF_ANCHOR_PACKET_START",
+    [1] = "OFP_BSN_UDF_ANCHOR_L3_HEADER_START",
+    [2] = "OFP_BSN_UDF_ANCHOR_L4_HEADER_START",
+}
+
 
 
 
@@ -5051,6 +5232,11 @@
 fields['of12.oxm_bsn_in_ports_128_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_in_ports_128_masked.type_len", "type_len", base.DEC, nil)
 fields['of12.oxm_bsn_in_ports_128_masked.value'] = ProtoField.bytes("of12.oxm_bsn_in_ports_128_masked.value", "value")
 fields['of12.oxm_bsn_in_ports_128_masked.value_mask'] = ProtoField.bytes("of12.oxm_bsn_in_ports_128_masked.value_mask", "value_mask")
+fields['of12.oxm_bsn_l2_cache_hit.type_len'] = ProtoField.uint32("of12.oxm_bsn_l2_cache_hit.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l2_cache_hit.value'] = ProtoField.uint8("of12.oxm_bsn_l2_cache_hit.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l2_cache_hit_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_l2_cache_hit_masked.type_len", "type_len", base.DEC, nil)
+fields['of12.oxm_bsn_l2_cache_hit_masked.value'] = ProtoField.uint8("of12.oxm_bsn_l2_cache_hit_masked.value", "value", base.DEC, nil)
+fields['of12.oxm_bsn_l2_cache_hit_masked.value_mask'] = ProtoField.uint8("of12.oxm_bsn_l2_cache_hit_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of12.oxm_bsn_l3_dst_class_id.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id.type_len", "type_len", base.DEC, nil)
 fields['of12.oxm_bsn_l3_dst_class_id.value'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id.value", "value", base.DEC, nil)
 fields['of12.oxm_bsn_l3_dst_class_id_masked.type_len'] = ProtoField.uint32("of12.oxm_bsn_l3_dst_class_id_masked.type_len", "type_len", base.DEC, nil)
@@ -5516,6 +5702,16 @@
 fields['of13.action_id_bsn_checksum.len'] = ProtoField.uint16("of13.action_id_bsn_checksum.len", "len", base.DEC, nil)
 fields['of13.action_id_bsn_checksum.experimenter'] = ProtoField.uint32("of13.action_id_bsn_checksum.experimenter", "experimenter", base.DEC, nil)
 fields['of13.action_id_bsn_checksum.subtype'] = ProtoField.uint32("of13.action_id_bsn_checksum.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_gentable.type'] = ProtoField.uint16("of13.action_bsn_gentable.type", "type", base.DEC, nil)
+fields['of13.action_bsn_gentable.len'] = ProtoField.uint16("of13.action_bsn_gentable.len", "len", base.DEC, nil)
+fields['of13.action_bsn_gentable.experimenter'] = ProtoField.uint32("of13.action_bsn_gentable.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_bsn_gentable.subtype'] = ProtoField.uint32("of13.action_bsn_gentable.subtype", "subtype", base.DEC, nil)
+fields['of13.action_bsn_gentable.table_id'] = ProtoField.uint32("of13.action_bsn_gentable.table_id", "table_id", base.DEC, nil)
+fields['of13.action_bsn_gentable.key'] = ProtoField.bytes("of13.action_bsn_gentable.key", "key")
+fields['of13.action_id_bsn_gentable.type'] = ProtoField.uint16("of13.action_id_bsn_gentable.type", "type", base.DEC, nil)
+fields['of13.action_id_bsn_gentable.len'] = ProtoField.uint16("of13.action_id_bsn_gentable.len", "len", base.DEC, nil)
+fields['of13.action_id_bsn_gentable.experimenter'] = ProtoField.uint32("of13.action_id_bsn_gentable.experimenter", "experimenter", base.DEC, nil)
+fields['of13.action_id_bsn_gentable.subtype'] = ProtoField.uint32("of13.action_id_bsn_gentable.subtype", "subtype", base.DEC, nil)
 fields['of13.action_bsn_mirror.type'] = ProtoField.uint16("of13.action_bsn_mirror.type", "type", base.DEC, nil)
 fields['of13.action_bsn_mirror.len'] = ProtoField.uint16("of13.action_bsn_mirror.len", "len", base.DEC, nil)
 fields['of13.action_bsn_mirror.experimenter'] = ProtoField.uint32("of13.action_bsn_mirror.experimenter", "experimenter", base.DEC, nil)
@@ -6426,15 +6622,63 @@
 fields['of13.bsn_time_request.subtype'] = ProtoField.uint32("of13.bsn_time_request.subtype", "subtype", base.DEC, nil)
 fields['of13.bsn_tlv.type'] = ProtoField.uint16("of13.bsn_tlv.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv.length'] = ProtoField.uint16("of13.bsn_tlv.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_actor_key.type'] = ProtoField.uint16("of13.bsn_tlv_actor_key.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_actor_key.length'] = ProtoField.uint16("of13.bsn_tlv_actor_key.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_actor_key.value'] = ProtoField.uint16("of13.bsn_tlv_actor_key.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_actor_port_num.type'] = ProtoField.uint16("of13.bsn_tlv_actor_port_num.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_actor_port_num.length'] = ProtoField.uint16("of13.bsn_tlv_actor_port_num.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_actor_port_num.value'] = ProtoField.uint16("of13.bsn_tlv_actor_port_num.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_actor_port_priority.type'] = ProtoField.uint16("of13.bsn_tlv_actor_port_priority.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_actor_port_priority.length'] = ProtoField.uint16("of13.bsn_tlv_actor_port_priority.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_actor_port_priority.value'] = ProtoField.uint16("of13.bsn_tlv_actor_port_priority.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_actor_state.type'] = ProtoField.uint16("of13.bsn_tlv_actor_state.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_actor_state.length'] = ProtoField.uint16("of13.bsn_tlv_actor_state.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_actor_state.value'] = ProtoField.uint32("of13.bsn_tlv_actor_state.value", "value", base.HEX, enum_v4_ofp_bsn_lacp_state)
+fields['of13.bsn_tlv_actor_system_mac.type'] = ProtoField.uint16("of13.bsn_tlv_actor_system_mac.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_actor_system_mac.length'] = ProtoField.uint16("of13.bsn_tlv_actor_system_mac.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_actor_system_mac.value'] = ProtoField.ether("of13.bsn_tlv_actor_system_mac.value", "value")
+fields['of13.bsn_tlv_actor_system_priority.type'] = ProtoField.uint16("of13.bsn_tlv_actor_system_priority.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_actor_system_priority.length'] = ProtoField.uint16("of13.bsn_tlv_actor_system_priority.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_actor_system_priority.value'] = ProtoField.uint16("of13.bsn_tlv_actor_system_priority.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_broadcast_query_timeout.type'] = ProtoField.uint16("of13.bsn_tlv_broadcast_query_timeout.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_broadcast_query_timeout.length'] = ProtoField.uint16("of13.bsn_tlv_broadcast_query_timeout.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_broadcast_query_timeout.value'] = ProtoField.uint32("of13.bsn_tlv_broadcast_query_timeout.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_circuit_id.type'] = ProtoField.uint16("of13.bsn_tlv_circuit_id.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_circuit_id.length'] = ProtoField.uint16("of13.bsn_tlv_circuit_id.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_circuit_id.value'] = ProtoField.bytes("of13.bsn_tlv_circuit_id.value", "value")
+fields['of13.bsn_tlv_convergence_status.type'] = ProtoField.uint16("of13.bsn_tlv_convergence_status.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_convergence_status.length'] = ProtoField.uint16("of13.bsn_tlv_convergence_status.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_convergence_status.value'] = ProtoField.uint8("of13.bsn_tlv_convergence_status.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_crc_enabled.type'] = ProtoField.uint16("of13.bsn_tlv_crc_enabled.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_crc_enabled.length'] = ProtoField.uint16("of13.bsn_tlv_crc_enabled.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_crc_enabled.value'] = ProtoField.uint8("of13.bsn_tlv_crc_enabled.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_data.type'] = ProtoField.uint16("of13.bsn_tlv_data.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_data.length'] = ProtoField.uint16("of13.bsn_tlv_data.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_data.value'] = ProtoField.bytes("of13.bsn_tlv_data.value", "value")
+fields['of13.bsn_tlv_eth_dst.type'] = ProtoField.uint16("of13.bsn_tlv_eth_dst.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_eth_dst.length'] = ProtoField.uint16("of13.bsn_tlv_eth_dst.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_eth_dst.value'] = ProtoField.ether("of13.bsn_tlv_eth_dst.value", "value")
+fields['of13.bsn_tlv_eth_src.type'] = ProtoField.uint16("of13.bsn_tlv_eth_src.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_eth_src.length'] = ProtoField.uint16("of13.bsn_tlv_eth_src.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_eth_src.value'] = ProtoField.ether("of13.bsn_tlv_eth_src.value", "value")
+fields['of13.bsn_tlv_external_gateway_ip.type'] = ProtoField.uint16("of13.bsn_tlv_external_gateway_ip.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_external_gateway_ip.length'] = ProtoField.uint16("of13.bsn_tlv_external_gateway_ip.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_external_gateway_ip.value'] = ProtoField.ipv4("of13.bsn_tlv_external_gateway_ip.value", "value")
+fields['of13.bsn_tlv_external_gateway_mac.type'] = ProtoField.uint16("of13.bsn_tlv_external_gateway_mac.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_external_gateway_mac.length'] = ProtoField.uint16("of13.bsn_tlv_external_gateway_mac.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_external_gateway_mac.value'] = ProtoField.ether("of13.bsn_tlv_external_gateway_mac.value", "value")
+fields['of13.bsn_tlv_external_ip.type'] = ProtoField.uint16("of13.bsn_tlv_external_ip.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_external_ip.length'] = ProtoField.uint16("of13.bsn_tlv_external_ip.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_external_ip.value'] = ProtoField.ipv4("of13.bsn_tlv_external_ip.value", "value")
+fields['of13.bsn_tlv_external_mac.type'] = ProtoField.uint16("of13.bsn_tlv_external_mac.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_external_mac.length'] = ProtoField.uint16("of13.bsn_tlv_external_mac.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_external_mac.value'] = ProtoField.ether("of13.bsn_tlv_external_mac.value", "value")
+fields['of13.bsn_tlv_external_netmask.type'] = ProtoField.uint16("of13.bsn_tlv_external_netmask.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_external_netmask.length'] = ProtoField.uint16("of13.bsn_tlv_external_netmask.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_external_netmask.value'] = ProtoField.ipv4("of13.bsn_tlv_external_netmask.value", "value")
+fields['of13.bsn_tlv_header_size.type'] = ProtoField.uint16("of13.bsn_tlv_header_size.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_header_size.length'] = ProtoField.uint16("of13.bsn_tlv_header_size.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_header_size.value'] = ProtoField.uint32("of13.bsn_tlv_header_size.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_idle_notification.type'] = ProtoField.uint16("of13.bsn_tlv_idle_notification.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_idle_notification.length'] = ProtoField.uint16("of13.bsn_tlv_idle_notification.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_idle_time.type'] = ProtoField.uint16("of13.bsn_tlv_idle_time.type", "type", base.DEC, nil)
@@ -6443,18 +6687,57 @@
 fields['of13.bsn_tlv_idle_timeout.type'] = ProtoField.uint16("of13.bsn_tlv_idle_timeout.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_idle_timeout.length'] = ProtoField.uint16("of13.bsn_tlv_idle_timeout.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_idle_timeout.value'] = ProtoField.uint32("of13.bsn_tlv_idle_timeout.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_internal_gateway_mac.type'] = ProtoField.uint16("of13.bsn_tlv_internal_gateway_mac.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_internal_gateway_mac.length'] = ProtoField.uint16("of13.bsn_tlv_internal_gateway_mac.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_internal_gateway_mac.value'] = ProtoField.ether("of13.bsn_tlv_internal_gateway_mac.value", "value")
+fields['of13.bsn_tlv_internal_mac.type'] = ProtoField.uint16("of13.bsn_tlv_internal_mac.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_internal_mac.length'] = ProtoField.uint16("of13.bsn_tlv_internal_mac.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_internal_mac.value'] = ProtoField.ether("of13.bsn_tlv_internal_mac.value", "value")
 fields['of13.bsn_tlv_ipv4.type'] = ProtoField.uint16("of13.bsn_tlv_ipv4.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_ipv4.length'] = ProtoField.uint16("of13.bsn_tlv_ipv4.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_ipv4.value'] = ProtoField.ipv4("of13.bsn_tlv_ipv4.value", "value")
+fields['of13.bsn_tlv_ipv4_dst.type'] = ProtoField.uint16("of13.bsn_tlv_ipv4_dst.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_ipv4_dst.length'] = ProtoField.uint16("of13.bsn_tlv_ipv4_dst.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_ipv4_dst.value'] = ProtoField.ipv4("of13.bsn_tlv_ipv4_dst.value", "value")
+fields['of13.bsn_tlv_ipv4_src.type'] = ProtoField.uint16("of13.bsn_tlv_ipv4_src.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_ipv4_src.length'] = ProtoField.uint16("of13.bsn_tlv_ipv4_src.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_ipv4_src.value'] = ProtoField.ipv4("of13.bsn_tlv_ipv4_src.value", "value")
 fields['of13.bsn_tlv_mac.type'] = ProtoField.uint16("of13.bsn_tlv_mac.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_mac.length'] = ProtoField.uint16("of13.bsn_tlv_mac.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_mac.value'] = ProtoField.ether("of13.bsn_tlv_mac.value", "value")
+fields['of13.bsn_tlv_mac_mask.type'] = ProtoField.uint16("of13.bsn_tlv_mac_mask.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_mac_mask.length'] = ProtoField.uint16("of13.bsn_tlv_mac_mask.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_mac_mask.value'] = ProtoField.ether("of13.bsn_tlv_mac_mask.value", "value")
 fields['of13.bsn_tlv_miss_packets.type'] = ProtoField.uint16("of13.bsn_tlv_miss_packets.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_miss_packets.length'] = ProtoField.uint16("of13.bsn_tlv_miss_packets.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_miss_packets.value'] = ProtoField.uint64("of13.bsn_tlv_miss_packets.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_name.type'] = ProtoField.uint16("of13.bsn_tlv_name.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_name.length'] = ProtoField.uint16("of13.bsn_tlv_name.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_name.value'] = ProtoField.bytes("of13.bsn_tlv_name.value", "value")
+fields['of13.bsn_tlv_partner_key.type'] = ProtoField.uint16("of13.bsn_tlv_partner_key.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_partner_key.length'] = ProtoField.uint16("of13.bsn_tlv_partner_key.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_partner_key.value'] = ProtoField.uint16("of13.bsn_tlv_partner_key.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_partner_port_num.type'] = ProtoField.uint16("of13.bsn_tlv_partner_port_num.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_partner_port_num.length'] = ProtoField.uint16("of13.bsn_tlv_partner_port_num.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_partner_port_num.value'] = ProtoField.uint16("of13.bsn_tlv_partner_port_num.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_partner_port_priority.type'] = ProtoField.uint16("of13.bsn_tlv_partner_port_priority.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_partner_port_priority.length'] = ProtoField.uint16("of13.bsn_tlv_partner_port_priority.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_partner_port_priority.value'] = ProtoField.uint16("of13.bsn_tlv_partner_port_priority.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_partner_state.type'] = ProtoField.uint16("of13.bsn_tlv_partner_state.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_partner_state.length'] = ProtoField.uint16("of13.bsn_tlv_partner_state.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_partner_state.value'] = ProtoField.uint32("of13.bsn_tlv_partner_state.value", "value", base.HEX, enum_v4_ofp_bsn_lacp_state)
+fields['of13.bsn_tlv_partner_system_mac.type'] = ProtoField.uint16("of13.bsn_tlv_partner_system_mac.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_partner_system_mac.length'] = ProtoField.uint16("of13.bsn_tlv_partner_system_mac.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_partner_system_mac.value'] = ProtoField.ether("of13.bsn_tlv_partner_system_mac.value", "value")
+fields['of13.bsn_tlv_partner_system_priority.type'] = ProtoField.uint16("of13.bsn_tlv_partner_system_priority.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_partner_system_priority.length'] = ProtoField.uint16("of13.bsn_tlv_partner_system_priority.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_partner_system_priority.value'] = ProtoField.uint16("of13.bsn_tlv_partner_system_priority.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_port.type'] = ProtoField.uint16("of13.bsn_tlv_port.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_port.length'] = ProtoField.uint16("of13.bsn_tlv_port.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_port.value'] = ProtoField.uint32("of13.bsn_tlv_port.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_priority.type'] = ProtoField.uint16("of13.bsn_tlv_priority.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_priority.length'] = ProtoField.uint16("of13.bsn_tlv_priority.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_priority.value'] = ProtoField.uint32("of13.bsn_tlv_priority.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_queue_id.type'] = ProtoField.uint16("of13.bsn_tlv_queue_id.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_queue_id.length'] = ProtoField.uint16("of13.bsn_tlv_queue_id.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_queue_id.value'] = ProtoField.uint32("of13.bsn_tlv_queue_id.value", "value", base.DEC, nil)
@@ -6470,6 +6753,15 @@
 fields['of13.bsn_tlv_rx_packets.type'] = ProtoField.uint16("of13.bsn_tlv_rx_packets.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_rx_packets.length'] = ProtoField.uint16("of13.bsn_tlv_rx_packets.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_rx_packets.value'] = ProtoField.uint64("of13.bsn_tlv_rx_packets.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_sampling_rate.type'] = ProtoField.uint16("of13.bsn_tlv_sampling_rate.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_sampling_rate.length'] = ProtoField.uint16("of13.bsn_tlv_sampling_rate.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_sampling_rate.value'] = ProtoField.uint32("of13.bsn_tlv_sampling_rate.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_sub_agent_id.type'] = ProtoField.uint16("of13.bsn_tlv_sub_agent_id.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_sub_agent_id.length'] = ProtoField.uint16("of13.bsn_tlv_sub_agent_id.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_sub_agent_id.value'] = ProtoField.uint32("of13.bsn_tlv_sub_agent_id.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_tx_bytes.type'] = ProtoField.uint16("of13.bsn_tlv_tx_bytes.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_tx_bytes.length'] = ProtoField.uint16("of13.bsn_tlv_tx_bytes.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_tx_bytes.value'] = ProtoField.uint64("of13.bsn_tlv_tx_bytes.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_tx_packets.type'] = ProtoField.uint16("of13.bsn_tlv_tx_packets.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_tx_packets.length'] = ProtoField.uint16("of13.bsn_tlv_tx_packets.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_tx_packets.value'] = ProtoField.uint64("of13.bsn_tlv_tx_packets.value", "value", base.DEC, nil)
@@ -6485,6 +6777,12 @@
 fields['of13.bsn_tlv_udf_offset.type'] = ProtoField.uint16("of13.bsn_tlv_udf_offset.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_udf_offset.length'] = ProtoField.uint16("of13.bsn_tlv_udf_offset.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_udf_offset.value'] = ProtoField.uint16("of13.bsn_tlv_udf_offset.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_udp_dst.type'] = ProtoField.uint16("of13.bsn_tlv_udp_dst.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_udp_dst.length'] = ProtoField.uint16("of13.bsn_tlv_udp_dst.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_udp_dst.value'] = ProtoField.uint16("of13.bsn_tlv_udp_dst.value", "value", base.DEC, nil)
+fields['of13.bsn_tlv_udp_src.type'] = ProtoField.uint16("of13.bsn_tlv_udp_src.type", "type", base.DEC, nil)
+fields['of13.bsn_tlv_udp_src.length'] = ProtoField.uint16("of13.bsn_tlv_udp_src.length", "length", base.DEC, nil)
+fields['of13.bsn_tlv_udp_src.value'] = ProtoField.uint16("of13.bsn_tlv_udp_src.value", "value", base.DEC, nil)
 fields['of13.bsn_tlv_unicast_query_timeout.type'] = ProtoField.uint16("of13.bsn_tlv_unicast_query_timeout.type", "type", base.DEC, nil)
 fields['of13.bsn_tlv_unicast_query_timeout.length'] = ProtoField.uint16("of13.bsn_tlv_unicast_query_timeout.length", "length", base.DEC, nil)
 fields['of13.bsn_tlv_unicast_query_timeout.value'] = ProtoField.uint32("of13.bsn_tlv_unicast_query_timeout.value", "value", base.DEC, nil)
@@ -7032,6 +7330,14 @@
 fields['of13.instruction_id_bsn_require_vlan_xlate.len'] = ProtoField.uint16("of13.instruction_id_bsn_require_vlan_xlate.len", "len", base.DEC, nil)
 fields['of13.instruction_id_bsn_require_vlan_xlate.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_require_vlan_xlate.experimenter", "experimenter", base.DEC, nil)
 fields['of13.instruction_id_bsn_require_vlan_xlate.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_require_vlan_xlate.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_bsn_span_destination.type'] = ProtoField.uint16("of13.instruction_bsn_span_destination.type", "type", base.DEC, nil)
+fields['of13.instruction_bsn_span_destination.len'] = ProtoField.uint16("of13.instruction_bsn_span_destination.len", "len", base.DEC, nil)
+fields['of13.instruction_bsn_span_destination.experimenter'] = ProtoField.uint32("of13.instruction_bsn_span_destination.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_bsn_span_destination.subtype'] = ProtoField.uint32("of13.instruction_bsn_span_destination.subtype", "subtype", base.DEC, nil)
+fields['of13.instruction_id_bsn_span_destination.type'] = ProtoField.uint16("of13.instruction_id_bsn_span_destination.type", "type", base.DEC, nil)
+fields['of13.instruction_id_bsn_span_destination.len'] = ProtoField.uint16("of13.instruction_id_bsn_span_destination.len", "len", base.DEC, nil)
+fields['of13.instruction_id_bsn_span_destination.experimenter'] = ProtoField.uint32("of13.instruction_id_bsn_span_destination.experimenter", "experimenter", base.DEC, nil)
+fields['of13.instruction_id_bsn_span_destination.subtype'] = ProtoField.uint32("of13.instruction_id_bsn_span_destination.subtype", "subtype", base.DEC, nil)
 fields['of13.instruction_clear_actions.type'] = ProtoField.uint16("of13.instruction_clear_actions.type", "type", base.DEC, nil)
 fields['of13.instruction_clear_actions.len'] = ProtoField.uint16("of13.instruction_clear_actions.len", "len", base.DEC, nil)
 fields['of13.instruction_id_clear_actions.type'] = ProtoField.uint16("of13.instruction_id_clear_actions.type", "type", base.DEC, nil)
@@ -7197,6 +7503,11 @@
 fields['of13.oxm_bsn_in_ports_128_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_in_ports_128_masked.type_len", "type_len", base.DEC, nil)
 fields['of13.oxm_bsn_in_ports_128_masked.value'] = ProtoField.bytes("of13.oxm_bsn_in_ports_128_masked.value", "value")
 fields['of13.oxm_bsn_in_ports_128_masked.value_mask'] = ProtoField.bytes("of13.oxm_bsn_in_ports_128_masked.value_mask", "value_mask")
+fields['of13.oxm_bsn_l2_cache_hit.type_len'] = ProtoField.uint32("of13.oxm_bsn_l2_cache_hit.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l2_cache_hit.value'] = ProtoField.uint8("of13.oxm_bsn_l2_cache_hit.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l2_cache_hit_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_l2_cache_hit_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_bsn_l2_cache_hit_masked.value'] = ProtoField.uint8("of13.oxm_bsn_l2_cache_hit_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_bsn_l2_cache_hit_masked.value_mask'] = ProtoField.uint8("of13.oxm_bsn_l2_cache_hit_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of13.oxm_bsn_l3_dst_class_id.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id.type_len", "type_len", base.DEC, nil)
 fields['of13.oxm_bsn_l3_dst_class_id.value'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id.value", "value", base.DEC, nil)
 fields['of13.oxm_bsn_l3_dst_class_id_masked.type_len'] = ProtoField.uint32("of13.oxm_bsn_l3_dst_class_id_masked.type_len", "type_len", base.DEC, nil)
@@ -7347,6 +7658,11 @@
 fields['of13.oxm_ipv6_dst_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_dst_masked.type_len", "type_len", base.DEC, nil)
 fields['of13.oxm_ipv6_dst_masked.value'] = ProtoField.ipv6("of13.oxm_ipv6_dst_masked.value", "value")
 fields['of13.oxm_ipv6_dst_masked.value_mask'] = ProtoField.ipv6("of13.oxm_ipv6_dst_masked.value_mask", "value_mask")
+fields['of13.oxm_ipv6_exthdr.type_len'] = ProtoField.uint32("of13.oxm_ipv6_exthdr.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_exthdr.value'] = ProtoField.uint16("of13.oxm_ipv6_exthdr.value", "value", base.DEC, nil)
+fields['of13.oxm_ipv6_exthdr_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_exthdr_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_ipv6_exthdr_masked.value'] = ProtoField.uint16("of13.oxm_ipv6_exthdr_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_ipv6_exthdr_masked.value_mask'] = ProtoField.uint16("of13.oxm_ipv6_exthdr_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of13.oxm_ipv6_flabel.type_len'] = ProtoField.uint32("of13.oxm_ipv6_flabel.type_len", "type_len", base.DEC, nil)
 fields['of13.oxm_ipv6_flabel.value'] = ProtoField.uint32("of13.oxm_ipv6_flabel.value", "value", base.DEC, nil)
 fields['of13.oxm_ipv6_flabel_masked.type_len'] = ProtoField.uint32("of13.oxm_ipv6_flabel_masked.type_len", "type_len", base.DEC, nil)
@@ -7377,6 +7693,11 @@
 fields['of13.oxm_metadata_masked.type_len'] = ProtoField.uint32("of13.oxm_metadata_masked.type_len", "type_len", base.DEC, nil)
 fields['of13.oxm_metadata_masked.value'] = ProtoField.uint64("of13.oxm_metadata_masked.value", "value", base.DEC, nil)
 fields['of13.oxm_metadata_masked.value_mask'] = ProtoField.uint64("of13.oxm_metadata_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of13.oxm_mpls_bos.type_len'] = ProtoField.uint32("of13.oxm_mpls_bos.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_mpls_bos.value'] = ProtoField.uint8("of13.oxm_mpls_bos.value", "value", base.DEC, nil)
+fields['of13.oxm_mpls_bos_masked.type_len'] = ProtoField.uint32("of13.oxm_mpls_bos_masked.type_len", "type_len", base.DEC, nil)
+fields['of13.oxm_mpls_bos_masked.value'] = ProtoField.uint8("of13.oxm_mpls_bos_masked.value", "value", base.DEC, nil)
+fields['of13.oxm_mpls_bos_masked.value_mask'] = ProtoField.uint8("of13.oxm_mpls_bos_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of13.oxm_mpls_label.type_len'] = ProtoField.uint32("of13.oxm_mpls_label.type_len", "type_len", base.DEC, nil)
 fields['of13.oxm_mpls_label.value'] = ProtoField.uint32("of13.oxm_mpls_label.value", "value", base.DEC, nil)
 fields['of13.oxm_mpls_label_masked.type_len'] = ProtoField.uint32("of13.oxm_mpls_label_masked.type_len", "type_len", base.DEC, nil)
@@ -7759,6 +8080,16 @@
 fields['of14.action_id_bsn_checksum.len'] = ProtoField.uint16("of14.action_id_bsn_checksum.len", "len", base.DEC, nil)
 fields['of14.action_id_bsn_checksum.experimenter'] = ProtoField.uint32("of14.action_id_bsn_checksum.experimenter", "experimenter", base.DEC, nil)
 fields['of14.action_id_bsn_checksum.subtype'] = ProtoField.uint32("of14.action_id_bsn_checksum.subtype", "subtype", base.DEC, nil)
+fields['of14.action_bsn_gentable.type'] = ProtoField.uint16("of14.action_bsn_gentable.type", "type", base.DEC, nil)
+fields['of14.action_bsn_gentable.len'] = ProtoField.uint16("of14.action_bsn_gentable.len", "len", base.DEC, nil)
+fields['of14.action_bsn_gentable.experimenter'] = ProtoField.uint32("of14.action_bsn_gentable.experimenter", "experimenter", base.DEC, nil)
+fields['of14.action_bsn_gentable.subtype'] = ProtoField.uint32("of14.action_bsn_gentable.subtype", "subtype", base.DEC, nil)
+fields['of14.action_bsn_gentable.table_id'] = ProtoField.uint32("of14.action_bsn_gentable.table_id", "table_id", base.DEC, nil)
+fields['of14.action_bsn_gentable.key'] = ProtoField.bytes("of14.action_bsn_gentable.key", "key")
+fields['of14.action_id_bsn_gentable.type'] = ProtoField.uint16("of14.action_id_bsn_gentable.type", "type", base.DEC, nil)
+fields['of14.action_id_bsn_gentable.len'] = ProtoField.uint16("of14.action_id_bsn_gentable.len", "len", base.DEC, nil)
+fields['of14.action_id_bsn_gentable.experimenter'] = ProtoField.uint32("of14.action_id_bsn_gentable.experimenter", "experimenter", base.DEC, nil)
+fields['of14.action_id_bsn_gentable.subtype'] = ProtoField.uint32("of14.action_id_bsn_gentable.subtype", "subtype", base.DEC, nil)
 fields['of14.action_bsn_mirror.type'] = ProtoField.uint16("of14.action_bsn_mirror.type", "type", base.DEC, nil)
 fields['of14.action_bsn_mirror.len'] = ProtoField.uint16("of14.action_bsn_mirror.len", "len", base.DEC, nil)
 fields['of14.action_bsn_mirror.experimenter'] = ProtoField.uint32("of14.action_bsn_mirror.experimenter", "experimenter", base.DEC, nil)
@@ -7908,41 +8239,75 @@
 fields['of14.aggregate_stats_request.cookie'] = ProtoField.uint64("of14.aggregate_stats_request.cookie", "cookie", base.DEC, nil)
 fields['of14.aggregate_stats_request.cookie_mask'] = ProtoField.uint64("of14.aggregate_stats_request.cookie_mask", "cookie_mask", base.DEC, nil)
 fields['of14.aggregate_stats_request.match'] = ProtoField.bytes("of14.aggregate_stats_request.match", "match")
-fields['of14.async_get_reply.version'] = ProtoField.uint8("of14.async_get_reply.version", "version", base.DEC, nil)
-fields['of14.async_get_reply.type'] = ProtoField.uint8("of14.async_get_reply.type", "type", base.DEC, nil)
-fields['of14.async_get_reply.length'] = ProtoField.uint16("of14.async_get_reply.length", "length", base.DEC, nil)
-fields['of14.async_get_reply.xid'] = ProtoField.uint32("of14.async_get_reply.xid", "xid", base.DEC, nil)
-fields['of14.async_get_reply.packet_in_mask_equal_master'] = ProtoField.uint32("of14.async_get_reply.packet_in_mask_equal_master", "packet_in_mask_equal_master", base.DEC, nil)
-fields['of14.async_get_reply.packet_in_mask_slave'] = ProtoField.uint32("of14.async_get_reply.packet_in_mask_slave", "packet_in_mask_slave", base.DEC, nil)
-fields['of14.async_get_reply.port_status_mask_equal_master'] = ProtoField.uint32("of14.async_get_reply.port_status_mask_equal_master", "port_status_mask_equal_master", base.DEC, nil)
-fields['of14.async_get_reply.port_status_mask_slave'] = ProtoField.uint32("of14.async_get_reply.port_status_mask_slave", "port_status_mask_slave", base.DEC, nil)
-fields['of14.async_get_reply.flow_removed_mask_equal_master'] = ProtoField.uint32("of14.async_get_reply.flow_removed_mask_equal_master", "flow_removed_mask_equal_master", base.DEC, nil)
-fields['of14.async_get_reply.flow_removed_mask_slave'] = ProtoField.uint32("of14.async_get_reply.flow_removed_mask_slave", "flow_removed_mask_slave", base.DEC, nil)
-fields['of14.async_get_request.version'] = ProtoField.uint8("of14.async_get_request.version", "version", base.DEC, nil)
-fields['of14.async_get_request.type'] = ProtoField.uint32("of14.async_get_request.type", "type", base.DEC, enum_v5_ofp_type)
-fields['of14.async_get_request.length'] = ProtoField.uint16("of14.async_get_request.length", "length", base.DEC, nil)
-fields['of14.async_get_request.xid'] = ProtoField.uint32("of14.async_get_request.xid", "xid", base.DEC, nil)
-fields['of14.async_get_request.packet_in_mask_equal_master'] = ProtoField.uint32("of14.async_get_request.packet_in_mask_equal_master", "packet_in_mask_equal_master", base.DEC, nil)
-fields['of14.async_get_request.packet_in_mask_slave'] = ProtoField.uint32("of14.async_get_request.packet_in_mask_slave", "packet_in_mask_slave", base.DEC, nil)
-fields['of14.async_get_request.port_status_mask_equal_master'] = ProtoField.uint32("of14.async_get_request.port_status_mask_equal_master", "port_status_mask_equal_master", base.DEC, nil)
-fields['of14.async_get_request.port_status_mask_slave'] = ProtoField.uint32("of14.async_get_request.port_status_mask_slave", "port_status_mask_slave", base.DEC, nil)
-fields['of14.async_get_request.flow_removed_mask_equal_master'] = ProtoField.uint32("of14.async_get_request.flow_removed_mask_equal_master", "flow_removed_mask_equal_master", base.DEC, nil)
-fields['of14.async_get_request.flow_removed_mask_slave'] = ProtoField.uint32("of14.async_get_request.flow_removed_mask_slave", "flow_removed_mask_slave", base.DEC, nil)
-fields['of14.async_set.version'] = ProtoField.uint8("of14.async_set.version", "version", base.DEC, nil)
-fields['of14.async_set.type'] = ProtoField.uint8("of14.async_set.type", "type", base.DEC, nil)
-fields['of14.async_set.length'] = ProtoField.uint16("of14.async_set.length", "length", base.DEC, nil)
-fields['of14.async_set.xid'] = ProtoField.uint32("of14.async_set.xid", "xid", base.DEC, nil)
-fields['of14.async_set.packet_in_mask_equal_master'] = ProtoField.uint32("of14.async_set.packet_in_mask_equal_master", "packet_in_mask_equal_master", base.DEC, nil)
-fields['of14.async_set.packet_in_mask_slave'] = ProtoField.uint32("of14.async_set.packet_in_mask_slave", "packet_in_mask_slave", base.DEC, nil)
-fields['of14.async_set.port_status_mask_equal_master'] = ProtoField.uint32("of14.async_set.port_status_mask_equal_master", "port_status_mask_equal_master", base.DEC, nil)
-fields['of14.async_set.port_status_mask_slave'] = ProtoField.uint32("of14.async_set.port_status_mask_slave", "port_status_mask_slave", base.DEC, nil)
-fields['of14.async_set.flow_removed_mask_equal_master'] = ProtoField.uint32("of14.async_set.flow_removed_mask_equal_master", "flow_removed_mask_equal_master", base.DEC, nil)
-fields['of14.async_set.flow_removed_mask_slave'] = ProtoField.uint32("of14.async_set.flow_removed_mask_slave", "flow_removed_mask_slave", base.DEC, nil)
 fields['of14.error_msg.version'] = ProtoField.uint8("of14.error_msg.version", "version", base.DEC, nil)
 fields['of14.error_msg.type'] = ProtoField.uint32("of14.error_msg.type", "type", base.DEC, enum_v5_ofp_type)
 fields['of14.error_msg.length'] = ProtoField.uint16("of14.error_msg.length", "length", base.DEC, nil)
 fields['of14.error_msg.xid'] = ProtoField.uint32("of14.error_msg.xid", "xid", base.DEC, nil)
 fields['of14.error_msg.err_type'] = ProtoField.uint32("of14.error_msg.err_type", "err_type", base.DEC, enum_v5_ofp_error_type)
+fields['of14.async_config_failed_error_msg.version'] = ProtoField.uint8("of14.async_config_failed_error_msg.version", "version", base.DEC, nil)
+fields['of14.async_config_failed_error_msg.type'] = ProtoField.uint8("of14.async_config_failed_error_msg.type", "type", base.DEC, nil)
+fields['of14.async_config_failed_error_msg.length'] = ProtoField.uint16("of14.async_config_failed_error_msg.length", "length", base.DEC, nil)
+fields['of14.async_config_failed_error_msg.xid'] = ProtoField.uint32("of14.async_config_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of14.async_config_failed_error_msg.err_type'] = ProtoField.uint16("of14.async_config_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of14.async_config_failed_error_msg.code'] = ProtoField.uint32("of14.async_config_failed_error_msg.code", "code", base.DEC, enum_v5_ofp_async_config_failed_code)
+fields['of14.async_config_failed_error_msg.data'] = ProtoField.bytes("of14.async_config_failed_error_msg.data", "data")
+fields['of14.async_config_prop.type'] = ProtoField.uint16("of14.async_config_prop.type", "type", base.DEC, nil)
+fields['of14.async_config_prop.length'] = ProtoField.uint16("of14.async_config_prop.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_experimenter_master.type'] = ProtoField.uint16("of14.async_config_prop_experimenter_master.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_experimenter_master.length'] = ProtoField.uint16("of14.async_config_prop_experimenter_master.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_experimenter_slave.type'] = ProtoField.uint16("of14.async_config_prop_experimenter_slave.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_experimenter_slave.length'] = ProtoField.uint16("of14.async_config_prop_experimenter_slave.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_flow_removed_master.type'] = ProtoField.uint16("of14.async_config_prop_flow_removed_master.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_flow_removed_master.length'] = ProtoField.uint16("of14.async_config_prop_flow_removed_master.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_flow_removed_master.mask'] = ProtoField.uint32("of14.async_config_prop_flow_removed_master.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_flow_removed_slave.type'] = ProtoField.uint16("of14.async_config_prop_flow_removed_slave.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_flow_removed_slave.length'] = ProtoField.uint16("of14.async_config_prop_flow_removed_slave.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_flow_removed_slave.mask'] = ProtoField.uint32("of14.async_config_prop_flow_removed_slave.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_packet_in_master.type'] = ProtoField.uint16("of14.async_config_prop_packet_in_master.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_packet_in_master.length'] = ProtoField.uint16("of14.async_config_prop_packet_in_master.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_packet_in_master.mask'] = ProtoField.uint32("of14.async_config_prop_packet_in_master.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_packet_in_slave.type'] = ProtoField.uint16("of14.async_config_prop_packet_in_slave.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_packet_in_slave.length'] = ProtoField.uint16("of14.async_config_prop_packet_in_slave.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_packet_in_slave.mask'] = ProtoField.uint32("of14.async_config_prop_packet_in_slave.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_port_status_master.type'] = ProtoField.uint16("of14.async_config_prop_port_status_master.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_port_status_master.length'] = ProtoField.uint16("of14.async_config_prop_port_status_master.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_port_status_master.mask'] = ProtoField.uint32("of14.async_config_prop_port_status_master.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_port_status_slave.type'] = ProtoField.uint16("of14.async_config_prop_port_status_slave.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_port_status_slave.length'] = ProtoField.uint16("of14.async_config_prop_port_status_slave.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_port_status_slave.mask'] = ProtoField.uint32("of14.async_config_prop_port_status_slave.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_requestforward_master.type'] = ProtoField.uint16("of14.async_config_prop_requestforward_master.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_requestforward_master.length'] = ProtoField.uint16("of14.async_config_prop_requestforward_master.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_requestforward_master.mask'] = ProtoField.uint32("of14.async_config_prop_requestforward_master.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_requestforward_slave.type'] = ProtoField.uint16("of14.async_config_prop_requestforward_slave.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_requestforward_slave.length'] = ProtoField.uint16("of14.async_config_prop_requestforward_slave.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_requestforward_slave.mask'] = ProtoField.uint32("of14.async_config_prop_requestforward_slave.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_role_status_master.type'] = ProtoField.uint16("of14.async_config_prop_role_status_master.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_role_status_master.length'] = ProtoField.uint16("of14.async_config_prop_role_status_master.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_role_status_master.mask'] = ProtoField.uint32("of14.async_config_prop_role_status_master.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_role_status_slave.type'] = ProtoField.uint16("of14.async_config_prop_role_status_slave.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_role_status_slave.length'] = ProtoField.uint16("of14.async_config_prop_role_status_slave.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_role_status_slave.mask'] = ProtoField.uint32("of14.async_config_prop_role_status_slave.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_table_status_master.type'] = ProtoField.uint16("of14.async_config_prop_table_status_master.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_table_status_master.length'] = ProtoField.uint16("of14.async_config_prop_table_status_master.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_table_status_master.mask'] = ProtoField.uint32("of14.async_config_prop_table_status_master.mask", "mask", base.DEC, nil)
+fields['of14.async_config_prop_table_status_slave.type'] = ProtoField.uint16("of14.async_config_prop_table_status_slave.type", "type", base.DEC, nil)
+fields['of14.async_config_prop_table_status_slave.length'] = ProtoField.uint16("of14.async_config_prop_table_status_slave.length", "length", base.DEC, nil)
+fields['of14.async_config_prop_table_status_slave.mask'] = ProtoField.uint32("of14.async_config_prop_table_status_slave.mask", "mask", base.DEC, nil)
+fields['of14.async_get_reply.version'] = ProtoField.uint8("of14.async_get_reply.version", "version", base.DEC, nil)
+fields['of14.async_get_reply.type'] = ProtoField.uint8("of14.async_get_reply.type", "type", base.DEC, nil)
+fields['of14.async_get_reply.length'] = ProtoField.uint16("of14.async_get_reply.length", "length", base.DEC, nil)
+fields['of14.async_get_reply.xid'] = ProtoField.uint32("of14.async_get_reply.xid", "xid", base.DEC, nil)
+fields['of14.async_get_reply.properties'] = ProtoField.bytes("of14.async_get_reply.properties", "properties")
+fields['of14.async_get_request.version'] = ProtoField.uint8("of14.async_get_request.version", "version", base.DEC, nil)
+fields['of14.async_get_request.type'] = ProtoField.uint32("of14.async_get_request.type", "type", base.DEC, enum_v5_ofp_type)
+fields['of14.async_get_request.length'] = ProtoField.uint16("of14.async_get_request.length", "length", base.DEC, nil)
+fields['of14.async_get_request.xid'] = ProtoField.uint32("of14.async_get_request.xid", "xid", base.DEC, nil)
+fields['of14.async_get_request.properties'] = ProtoField.bytes("of14.async_get_request.properties", "properties")
+fields['of14.async_set.version'] = ProtoField.uint8("of14.async_set.version", "version", base.DEC, nil)
+fields['of14.async_set.type'] = ProtoField.uint8("of14.async_set.type", "type", base.DEC, nil)
+fields['of14.async_set.length'] = ProtoField.uint16("of14.async_set.length", "length", base.DEC, nil)
+fields['of14.async_set.xid'] = ProtoField.uint32("of14.async_set.xid", "xid", base.DEC, nil)
+fields['of14.async_set.properties'] = ProtoField.bytes("of14.async_set.properties", "properties")
 fields['of14.bad_action_error_msg.version'] = ProtoField.uint8("of14.bad_action_error_msg.version", "version", base.DEC, nil)
 fields['of14.bad_action_error_msg.type'] = ProtoField.uint8("of14.bad_action_error_msg.type", "type", base.DEC, nil)
 fields['of14.bad_action_error_msg.length'] = ProtoField.uint16("of14.bad_action_error_msg.length", "length", base.DEC, nil)
@@ -7964,6 +8329,13 @@
 fields['of14.bad_match_error_msg.err_type'] = ProtoField.uint16("of14.bad_match_error_msg.err_type", "err_type", base.DEC, nil)
 fields['of14.bad_match_error_msg.code'] = ProtoField.uint32("of14.bad_match_error_msg.code", "code", base.DEC, enum_v5_ofp_bad_match_code)
 fields['of14.bad_match_error_msg.data'] = ProtoField.bytes("of14.bad_match_error_msg.data", "data")
+fields['of14.bad_property_error_msg.version'] = ProtoField.uint8("of14.bad_property_error_msg.version", "version", base.DEC, nil)
+fields['of14.bad_property_error_msg.type'] = ProtoField.uint8("of14.bad_property_error_msg.type", "type", base.DEC, nil)
+fields['of14.bad_property_error_msg.length'] = ProtoField.uint16("of14.bad_property_error_msg.length", "length", base.DEC, nil)
+fields['of14.bad_property_error_msg.xid'] = ProtoField.uint32("of14.bad_property_error_msg.xid", "xid", base.DEC, nil)
+fields['of14.bad_property_error_msg.err_type'] = ProtoField.uint16("of14.bad_property_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of14.bad_property_error_msg.code'] = ProtoField.uint32("of14.bad_property_error_msg.code", "code", base.DEC, enum_v5_ofp_bad_property_code)
+fields['of14.bad_property_error_msg.data'] = ProtoField.bytes("of14.bad_property_error_msg.data", "data")
 fields['of14.bad_request_error_msg.version'] = ProtoField.uint8("of14.bad_request_error_msg.version", "version", base.DEC, nil)
 fields['of14.bad_request_error_msg.type'] = ProtoField.uint8("of14.bad_request_error_msg.type", "type", base.DEC, nil)
 fields['of14.bad_request_error_msg.length'] = ProtoField.uint16("of14.bad_request_error_msg.length", "length", base.DEC, nil)
@@ -7992,6 +8364,14 @@
 fields['of14.bsn_header.xid'] = ProtoField.uint32("of14.bsn_header.xid", "xid", base.DEC, nil)
 fields['of14.bsn_header.experimenter'] = ProtoField.uint32("of14.bsn_header.experimenter", "experimenter", base.DEC, nil)
 fields['of14.bsn_header.subtype'] = ProtoField.uint32("of14.bsn_header.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_arp_idle.version'] = ProtoField.uint8("of14.bsn_arp_idle.version", "version", base.DEC, nil)
+fields['of14.bsn_arp_idle.type'] = ProtoField.uint8("of14.bsn_arp_idle.type", "type", base.DEC, nil)
+fields['of14.bsn_arp_idle.length'] = ProtoField.uint16("of14.bsn_arp_idle.length", "length", base.DEC, nil)
+fields['of14.bsn_arp_idle.xid'] = ProtoField.uint32("of14.bsn_arp_idle.xid", "xid", base.DEC, nil)
+fields['of14.bsn_arp_idle.experimenter'] = ProtoField.uint32("of14.bsn_arp_idle.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_arp_idle.subtype'] = ProtoField.uint32("of14.bsn_arp_idle.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_arp_idle.vlan_vid'] = ProtoField.uint16("of14.bsn_arp_idle.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of14.bsn_arp_idle.ipv4_addr'] = ProtoField.ipv4("of14.bsn_arp_idle.ipv4_addr", "ipv4_addr")
 fields['of14.bsn_bw_clear_data_reply.version'] = ProtoField.uint8("of14.bsn_bw_clear_data_reply.version", "version", base.DEC, nil)
 fields['of14.bsn_bw_clear_data_reply.type'] = ProtoField.uint8("of14.bsn_bw_clear_data_reply.type", "type", base.DEC, nil)
 fields['of14.bsn_bw_clear_data_reply.length'] = ProtoField.uint16("of14.bsn_bw_clear_data_reply.length", "length", base.DEC, nil)
@@ -8033,6 +8413,306 @@
 fields['of14.bsn_bw_enable_set_request.experimenter'] = ProtoField.uint32("of14.bsn_bw_enable_set_request.experimenter", "experimenter", base.DEC, nil)
 fields['of14.bsn_bw_enable_set_request.subtype'] = ProtoField.uint32("of14.bsn_bw_enable_set_request.subtype", "subtype", base.DEC, nil)
 fields['of14.bsn_bw_enable_set_request.enable'] = ProtoField.uint32("of14.bsn_bw_enable_set_request.enable", "enable", base.DEC, nil)
+fields['of14.bsn_controller_connection.state'] = ProtoField.uint32("of14.bsn_controller_connection.state", "state", base.DEC, enum_v5_ofp_bsn_controller_connection_state)
+fields['of14.bsn_controller_connection.auxiliary_id'] = ProtoField.uint8("of14.bsn_controller_connection.auxiliary_id", "auxiliary_id", base.DEC, nil)
+fields['of14.bsn_controller_connection.role'] = ProtoField.uint32("of14.bsn_controller_connection.role", "role", base.DEC, enum_v5_ofp_controller_role)
+fields['of14.bsn_controller_connection.uri'] = ProtoField.stringz("of14.bsn_controller_connection.uri", "uri")
+fields['of14.bsn_controller_connections_reply.version'] = ProtoField.uint8("of14.bsn_controller_connections_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_controller_connections_reply.type'] = ProtoField.uint8("of14.bsn_controller_connections_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_controller_connections_reply.length'] = ProtoField.uint16("of14.bsn_controller_connections_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_controller_connections_reply.xid'] = ProtoField.uint32("of14.bsn_controller_connections_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_controller_connections_reply.experimenter'] = ProtoField.uint32("of14.bsn_controller_connections_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_controller_connections_reply.subtype'] = ProtoField.uint32("of14.bsn_controller_connections_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_controller_connections_reply.connections'] = ProtoField.bytes("of14.bsn_controller_connections_reply.connections", "connections")
+fields['of14.bsn_controller_connections_request.version'] = ProtoField.uint8("of14.bsn_controller_connections_request.version", "version", base.DEC, nil)
+fields['of14.bsn_controller_connections_request.type'] = ProtoField.uint8("of14.bsn_controller_connections_request.type", "type", base.DEC, nil)
+fields['of14.bsn_controller_connections_request.length'] = ProtoField.uint16("of14.bsn_controller_connections_request.length", "length", base.DEC, nil)
+fields['of14.bsn_controller_connections_request.xid'] = ProtoField.uint32("of14.bsn_controller_connections_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_controller_connections_request.experimenter'] = ProtoField.uint32("of14.bsn_controller_connections_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_controller_connections_request.subtype'] = ProtoField.uint32("of14.bsn_controller_connections_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_entry.counter_id'] = ProtoField.uint64("of14.bsn_debug_counter_desc_stats_entry.counter_id", "counter_id", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_entry.name'] = ProtoField.stringz("of14.bsn_debug_counter_desc_stats_entry.name", "name")
+fields['of14.bsn_debug_counter_desc_stats_entry.description'] = ProtoField.stringz("of14.bsn_debug_counter_desc_stats_entry.description", "description")
+fields['of14.experimenter_stats_reply.version'] = ProtoField.uint8("of14.experimenter_stats_reply.version", "version", base.DEC, nil)
+fields['of14.experimenter_stats_reply.type'] = ProtoField.uint8("of14.experimenter_stats_reply.type", "type", base.DEC, nil)
+fields['of14.experimenter_stats_reply.length'] = ProtoField.uint16("of14.experimenter_stats_reply.length", "length", base.DEC, nil)
+fields['of14.experimenter_stats_reply.xid'] = ProtoField.uint32("of14.experimenter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.experimenter_stats_reply.stats_type'] = ProtoField.uint16("of14.experimenter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.experimenter_stats_reply.flags'] = ProtoField.uint32("of14.experimenter_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.experimenter_stats_reply.experimenter'] = ProtoField.uint32("of14.experimenter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.experimenter_stats_reply.subtype'] = ProtoField.uint32("of14.experimenter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_stats_reply.version'] = ProtoField.uint8("of14.bsn_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_stats_reply.type'] = ProtoField.uint8("of14.bsn_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_stats_reply.length'] = ProtoField.uint16("of14.bsn_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_stats_reply.xid'] = ProtoField.uint32("of14.bsn_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_stats_reply.flags'] = ProtoField.uint32("of14.bsn_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.version'] = ProtoField.uint8("of14.bsn_debug_counter_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.type'] = ProtoField.uint8("of14.bsn_debug_counter_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.length'] = ProtoField.uint16("of14.bsn_debug_counter_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.xid'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_debug_counter_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.flags'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_debug_counter_desc_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_reply.entries'] = ProtoField.bytes("of14.bsn_debug_counter_desc_stats_reply.entries", "entries")
+fields['of14.experimenter_stats_request.version'] = ProtoField.uint8("of14.experimenter_stats_request.version", "version", base.DEC, nil)
+fields['of14.experimenter_stats_request.type'] = ProtoField.uint8("of14.experimenter_stats_request.type", "type", base.DEC, nil)
+fields['of14.experimenter_stats_request.length'] = ProtoField.uint16("of14.experimenter_stats_request.length", "length", base.DEC, nil)
+fields['of14.experimenter_stats_request.xid'] = ProtoField.uint32("of14.experimenter_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.experimenter_stats_request.stats_type'] = ProtoField.uint16("of14.experimenter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.experimenter_stats_request.flags'] = ProtoField.uint32("of14.experimenter_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.experimenter_stats_request.experimenter'] = ProtoField.uint32("of14.experimenter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.experimenter_stats_request.subtype'] = ProtoField.uint32("of14.experimenter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_stats_request.version'] = ProtoField.uint8("of14.bsn_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_stats_request.type'] = ProtoField.uint8("of14.bsn_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_stats_request.length'] = ProtoField.uint16("of14.bsn_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_stats_request.xid'] = ProtoField.uint32("of14.bsn_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_stats_request.flags'] = ProtoField.uint32("of14.bsn_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_stats_request.subtype'] = ProtoField.uint32("of14.bsn_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_request.version'] = ProtoField.uint8("of14.bsn_debug_counter_desc_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_request.type'] = ProtoField.uint8("of14.bsn_debug_counter_desc_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_request.length'] = ProtoField.uint16("of14.bsn_debug_counter_desc_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_request.xid'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_debug_counter_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_request.flags'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_debug_counter_desc_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_debug_counter_desc_stats_request.subtype'] = ProtoField.uint32("of14.bsn_debug_counter_desc_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_entry.counter_id'] = ProtoField.uint64("of14.bsn_debug_counter_stats_entry.counter_id", "counter_id", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_entry.value'] = ProtoField.uint64("of14.bsn_debug_counter_stats_entry.value", "value", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.version'] = ProtoField.uint8("of14.bsn_debug_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.type'] = ProtoField.uint8("of14.bsn_debug_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.length'] = ProtoField.uint16("of14.bsn_debug_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.xid'] = ProtoField.uint32("of14.bsn_debug_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_debug_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.flags'] = ProtoField.uint32("of14.bsn_debug_counter_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_debug_counter_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_debug_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_debug_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_reply.entries'] = ProtoField.bytes("of14.bsn_debug_counter_stats_reply.entries", "entries")
+fields['of14.bsn_debug_counter_stats_request.version'] = ProtoField.uint8("of14.bsn_debug_counter_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_request.type'] = ProtoField.uint8("of14.bsn_debug_counter_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_request.length'] = ProtoField.uint16("of14.bsn_debug_counter_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_request.xid'] = ProtoField.uint32("of14.bsn_debug_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_debug_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_request.flags'] = ProtoField.uint32("of14.bsn_debug_counter_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_debug_counter_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_debug_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_debug_counter_stats_request.subtype'] = ProtoField.uint32("of14.bsn_debug_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_entry.checksum'] = ProtoField.uint64("of14.bsn_flow_checksum_bucket_stats_entry.checksum", "checksum", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.version'] = ProtoField.uint8("of14.bsn_flow_checksum_bucket_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.type'] = ProtoField.uint8("of14.bsn_flow_checksum_bucket_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.length'] = ProtoField.uint16("of14.bsn_flow_checksum_bucket_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.xid'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_flow_checksum_bucket_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.flags'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_reply.entries'] = ProtoField.bytes("of14.bsn_flow_checksum_bucket_stats_reply.entries", "entries")
+fields['of14.bsn_flow_checksum_bucket_stats_request.version'] = ProtoField.uint8("of14.bsn_flow_checksum_bucket_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_request.type'] = ProtoField.uint8("of14.bsn_flow_checksum_bucket_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_request.length'] = ProtoField.uint16("of14.bsn_flow_checksum_bucket_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_request.xid'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_flow_checksum_bucket_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_request.flags'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_flow_checksum_bucket_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_request.subtype'] = ProtoField.uint32("of14.bsn_flow_checksum_bucket_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_checksum_bucket_stats_request.table_id'] = ProtoField.uint8("of14.bsn_flow_checksum_bucket_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_flow_idle.version'] = ProtoField.uint8("of14.bsn_flow_idle.version", "version", base.DEC, nil)
+fields['of14.bsn_flow_idle.type'] = ProtoField.uint8("of14.bsn_flow_idle.type", "type", base.DEC, nil)
+fields['of14.bsn_flow_idle.length'] = ProtoField.uint16("of14.bsn_flow_idle.length", "length", base.DEC, nil)
+fields['of14.bsn_flow_idle.xid'] = ProtoField.uint32("of14.bsn_flow_idle.xid", "xid", base.DEC, nil)
+fields['of14.bsn_flow_idle.experimenter'] = ProtoField.uint32("of14.bsn_flow_idle.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_flow_idle.subtype'] = ProtoField.uint32("of14.bsn_flow_idle.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_idle.cookie'] = ProtoField.uint64("of14.bsn_flow_idle.cookie", "cookie", base.DEC, nil)
+fields['of14.bsn_flow_idle.priority'] = ProtoField.uint16("of14.bsn_flow_idle.priority", "priority", base.DEC, nil)
+fields['of14.bsn_flow_idle.table_id'] = ProtoField.uint8("of14.bsn_flow_idle.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_flow_idle.match'] = ProtoField.bytes("of14.bsn_flow_idle.match", "match")
+fields['of14.bsn_flow_idle_enable_get_reply.version'] = ProtoField.uint8("of14.bsn_flow_idle_enable_get_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_reply.type'] = ProtoField.uint8("of14.bsn_flow_idle_enable_get_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_reply.length'] = ProtoField.uint16("of14.bsn_flow_idle_enable_get_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_reply.xid'] = ProtoField.uint32("of14.bsn_flow_idle_enable_get_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_reply.experimenter'] = ProtoField.uint32("of14.bsn_flow_idle_enable_get_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_reply.subtype'] = ProtoField.uint32("of14.bsn_flow_idle_enable_get_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_reply.enabled'] = ProtoField.uint32("of14.bsn_flow_idle_enable_get_reply.enabled", "enabled", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_request.version'] = ProtoField.uint8("of14.bsn_flow_idle_enable_get_request.version", "version", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_request.type'] = ProtoField.uint8("of14.bsn_flow_idle_enable_get_request.type", "type", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_request.length'] = ProtoField.uint16("of14.bsn_flow_idle_enable_get_request.length", "length", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_request.xid'] = ProtoField.uint32("of14.bsn_flow_idle_enable_get_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_request.experimenter'] = ProtoField.uint32("of14.bsn_flow_idle_enable_get_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_get_request.subtype'] = ProtoField.uint32("of14.bsn_flow_idle_enable_get_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.version'] = ProtoField.uint8("of14.bsn_flow_idle_enable_set_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.type'] = ProtoField.uint8("of14.bsn_flow_idle_enable_set_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.length'] = ProtoField.uint16("of14.bsn_flow_idle_enable_set_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.xid'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.experimenter'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.subtype'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.enable'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_reply.enable", "enable", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_reply.status'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_reply.status", "status", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_request.version'] = ProtoField.uint8("of14.bsn_flow_idle_enable_set_request.version", "version", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_request.type'] = ProtoField.uint8("of14.bsn_flow_idle_enable_set_request.type", "type", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_request.length'] = ProtoField.uint16("of14.bsn_flow_idle_enable_set_request.length", "length", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_request.xid'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_request.experimenter'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_request.subtype'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_flow_idle_enable_set_request.enable'] = ProtoField.uint32("of14.bsn_flow_idle_enable_set_request.enable", "enable", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_entry.checksum'] = ProtoField.bytes("of14.bsn_gentable_bucket_stats_entry.checksum", "checksum")
+fields['of14.bsn_gentable_bucket_stats_reply.version'] = ProtoField.uint8("of14.bsn_gentable_bucket_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_reply.type'] = ProtoField.uint8("of14.bsn_gentable_bucket_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_reply.length'] = ProtoField.uint16("of14.bsn_gentable_bucket_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_reply.xid'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_gentable_bucket_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_reply.flags'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_gentable_bucket_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_reply.entries'] = ProtoField.bytes("of14.bsn_gentable_bucket_stats_reply.entries", "entries")
+fields['of14.bsn_gentable_bucket_stats_request.version'] = ProtoField.uint8("of14.bsn_gentable_bucket_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_request.type'] = ProtoField.uint8("of14.bsn_gentable_bucket_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_request.length'] = ProtoField.uint16("of14.bsn_gentable_bucket_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_request.xid'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_gentable_bucket_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_request.flags'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_gentable_bucket_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_request.subtype'] = ProtoField.uint32("of14.bsn_gentable_bucket_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_bucket_stats_request.table_id'] = ProtoField.uint16("of14.bsn_gentable_bucket_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.version'] = ProtoField.uint8("of14.bsn_gentable_clear_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.type'] = ProtoField.uint8("of14.bsn_gentable_clear_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.length'] = ProtoField.uint16("of14.bsn_gentable_clear_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.xid'] = ProtoField.uint32("of14.bsn_gentable_clear_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.experimenter'] = ProtoField.uint32("of14.bsn_gentable_clear_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.subtype'] = ProtoField.uint32("of14.bsn_gentable_clear_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.table_id'] = ProtoField.uint16("of14.bsn_gentable_clear_reply.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.deleted_count'] = ProtoField.uint32("of14.bsn_gentable_clear_reply.deleted_count", "deleted_count", base.DEC, nil)
+fields['of14.bsn_gentable_clear_reply.error_count'] = ProtoField.uint32("of14.bsn_gentable_clear_reply.error_count", "error_count", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.version'] = ProtoField.uint8("of14.bsn_gentable_clear_request.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.type'] = ProtoField.uint8("of14.bsn_gentable_clear_request.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.length'] = ProtoField.uint16("of14.bsn_gentable_clear_request.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.xid'] = ProtoField.uint32("of14.bsn_gentable_clear_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.experimenter'] = ProtoField.uint32("of14.bsn_gentable_clear_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.subtype'] = ProtoField.uint32("of14.bsn_gentable_clear_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.table_id'] = ProtoField.uint16("of14.bsn_gentable_clear_request.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_clear_request.checksum'] = ProtoField.bytes("of14.bsn_gentable_clear_request.checksum", "checksum")
+fields['of14.bsn_gentable_clear_request.checksum_mask'] = ProtoField.bytes("of14.bsn_gentable_clear_request.checksum_mask", "checksum_mask")
+fields['of14.bsn_gentable_desc_stats_entry.length'] = ProtoField.uint16("of14.bsn_gentable_desc_stats_entry.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_entry.table_id'] = ProtoField.uint16("of14.bsn_gentable_desc_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_entry.name'] = ProtoField.stringz("of14.bsn_gentable_desc_stats_entry.name", "name")
+fields['of14.bsn_gentable_desc_stats_entry.buckets_size'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_entry.buckets_size", "buckets_size", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_entry.max_entries'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_entry.max_entries", "max_entries", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.version'] = ProtoField.uint8("of14.bsn_gentable_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.type'] = ProtoField.uint8("of14.bsn_gentable_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.length'] = ProtoField.uint16("of14.bsn_gentable_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.xid'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_gentable_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.flags'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_gentable_desc_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_reply.entries'] = ProtoField.bytes("of14.bsn_gentable_desc_stats_reply.entries", "entries")
+fields['of14.bsn_gentable_desc_stats_request.version'] = ProtoField.uint8("of14.bsn_gentable_desc_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_request.type'] = ProtoField.uint8("of14.bsn_gentable_desc_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_request.length'] = ProtoField.uint16("of14.bsn_gentable_desc_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_request.xid'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_gentable_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_request.flags'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_gentable_desc_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_desc_stats_request.subtype'] = ProtoField.uint32("of14.bsn_gentable_desc_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.version'] = ProtoField.uint8("of14.bsn_gentable_entry_add.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.type'] = ProtoField.uint8("of14.bsn_gentable_entry_add.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.length'] = ProtoField.uint16("of14.bsn_gentable_entry_add.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.xid'] = ProtoField.uint32("of14.bsn_gentable_entry_add.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.experimenter'] = ProtoField.uint32("of14.bsn_gentable_entry_add.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.subtype'] = ProtoField.uint32("of14.bsn_gentable_entry_add.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.table_id'] = ProtoField.uint16("of14.bsn_gentable_entry_add.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.key_length'] = ProtoField.uint16("of14.bsn_gentable_entry_add.key_length", "key_length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_add.checksum'] = ProtoField.bytes("of14.bsn_gentable_entry_add.checksum", "checksum")
+fields['of14.bsn_gentable_entry_add.key'] = ProtoField.bytes("of14.bsn_gentable_entry_add.key", "key")
+fields['of14.bsn_gentable_entry_add.value'] = ProtoField.bytes("of14.bsn_gentable_entry_add.value", "value")
+fields['of14.bsn_gentable_entry_delete.version'] = ProtoField.uint8("of14.bsn_gentable_entry_delete.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_entry_delete.type'] = ProtoField.uint8("of14.bsn_gentable_entry_delete.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_delete.length'] = ProtoField.uint16("of14.bsn_gentable_entry_delete.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_delete.xid'] = ProtoField.uint32("of14.bsn_gentable_entry_delete.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_entry_delete.experimenter'] = ProtoField.uint32("of14.bsn_gentable_entry_delete.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_entry_delete.subtype'] = ProtoField.uint32("of14.bsn_gentable_entry_delete.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_entry_delete.table_id'] = ProtoField.uint16("of14.bsn_gentable_entry_delete.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_entry_delete.key'] = ProtoField.bytes("of14.bsn_gentable_entry_delete.key", "key")
+fields['of14.bsn_gentable_entry_desc_stats_entry.length'] = ProtoField.uint16("of14.bsn_gentable_entry_desc_stats_entry.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_entry.key_length'] = ProtoField.uint16("of14.bsn_gentable_entry_desc_stats_entry.key_length", "key_length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_entry.checksum'] = ProtoField.bytes("of14.bsn_gentable_entry_desc_stats_entry.checksum", "checksum")
+fields['of14.bsn_gentable_entry_desc_stats_entry.key'] = ProtoField.bytes("of14.bsn_gentable_entry_desc_stats_entry.key", "key")
+fields['of14.bsn_gentable_entry_desc_stats_entry.value'] = ProtoField.bytes("of14.bsn_gentable_entry_desc_stats_entry.value", "value")
+fields['of14.bsn_gentable_entry_desc_stats_reply.version'] = ProtoField.uint8("of14.bsn_gentable_entry_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_reply.type'] = ProtoField.uint8("of14.bsn_gentable_entry_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_reply.length'] = ProtoField.uint16("of14.bsn_gentable_entry_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_reply.xid'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_gentable_entry_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_reply.flags'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_gentable_entry_desc_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_reply.entries'] = ProtoField.bytes("of14.bsn_gentable_entry_desc_stats_reply.entries", "entries")
+fields['of14.bsn_gentable_entry_desc_stats_request.version'] = ProtoField.uint8("of14.bsn_gentable_entry_desc_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.type'] = ProtoField.uint8("of14.bsn_gentable_entry_desc_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.length'] = ProtoField.uint16("of14.bsn_gentable_entry_desc_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.xid'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_gentable_entry_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.flags'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_gentable_entry_desc_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.subtype'] = ProtoField.uint32("of14.bsn_gentable_entry_desc_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.table_id'] = ProtoField.uint16("of14.bsn_gentable_entry_desc_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_entry_desc_stats_request.checksum'] = ProtoField.bytes("of14.bsn_gentable_entry_desc_stats_request.checksum", "checksum")
+fields['of14.bsn_gentable_entry_desc_stats_request.checksum_mask'] = ProtoField.bytes("of14.bsn_gentable_entry_desc_stats_request.checksum_mask", "checksum_mask")
+fields['of14.bsn_gentable_entry_stats_entry.length'] = ProtoField.uint16("of14.bsn_gentable_entry_stats_entry.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_entry.key_length'] = ProtoField.uint16("of14.bsn_gentable_entry_stats_entry.key_length", "key_length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_entry.key'] = ProtoField.bytes("of14.bsn_gentable_entry_stats_entry.key", "key")
+fields['of14.bsn_gentable_entry_stats_entry.stats'] = ProtoField.bytes("of14.bsn_gentable_entry_stats_entry.stats", "stats")
+fields['of14.bsn_gentable_entry_stats_reply.version'] = ProtoField.uint8("of14.bsn_gentable_entry_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_reply.type'] = ProtoField.uint8("of14.bsn_gentable_entry_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_reply.length'] = ProtoField.uint16("of14.bsn_gentable_entry_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_reply.xid'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_gentable_entry_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_reply.flags'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_gentable_entry_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_reply.entries'] = ProtoField.bytes("of14.bsn_gentable_entry_stats_reply.entries", "entries")
+fields['of14.bsn_gentable_entry_stats_request.version'] = ProtoField.uint8("of14.bsn_gentable_entry_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.type'] = ProtoField.uint8("of14.bsn_gentable_entry_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.length'] = ProtoField.uint16("of14.bsn_gentable_entry_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.xid'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_gentable_entry_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.flags'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_gentable_entry_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.subtype'] = ProtoField.uint32("of14.bsn_gentable_entry_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.table_id'] = ProtoField.uint16("of14.bsn_gentable_entry_stats_request.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_entry_stats_request.checksum'] = ProtoField.bytes("of14.bsn_gentable_entry_stats_request.checksum", "checksum")
+fields['of14.bsn_gentable_entry_stats_request.checksum_mask'] = ProtoField.bytes("of14.bsn_gentable_entry_stats_request.checksum_mask", "checksum_mask")
+fields['of14.bsn_gentable_set_buckets_size.version'] = ProtoField.uint8("of14.bsn_gentable_set_buckets_size.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_set_buckets_size.type'] = ProtoField.uint8("of14.bsn_gentable_set_buckets_size.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_set_buckets_size.length'] = ProtoField.uint16("of14.bsn_gentable_set_buckets_size.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_set_buckets_size.xid'] = ProtoField.uint32("of14.bsn_gentable_set_buckets_size.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_set_buckets_size.experimenter'] = ProtoField.uint32("of14.bsn_gentable_set_buckets_size.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_set_buckets_size.subtype'] = ProtoField.uint32("of14.bsn_gentable_set_buckets_size.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_set_buckets_size.table_id'] = ProtoField.uint16("of14.bsn_gentable_set_buckets_size.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_set_buckets_size.buckets_size'] = ProtoField.uint32("of14.bsn_gentable_set_buckets_size.buckets_size", "buckets_size", base.DEC, nil)
+fields['of14.bsn_gentable_stats_entry.table_id'] = ProtoField.uint16("of14.bsn_gentable_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_gentable_stats_entry.entry_count'] = ProtoField.uint32("of14.bsn_gentable_stats_entry.entry_count", "entry_count", base.DEC, nil)
+fields['of14.bsn_gentable_stats_entry.checksum'] = ProtoField.bytes("of14.bsn_gentable_stats_entry.checksum", "checksum")
+fields['of14.bsn_gentable_stats_reply.version'] = ProtoField.uint8("of14.bsn_gentable_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_stats_reply.type'] = ProtoField.uint8("of14.bsn_gentable_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_stats_reply.length'] = ProtoField.uint16("of14.bsn_gentable_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_stats_reply.xid'] = ProtoField.uint32("of14.bsn_gentable_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_gentable_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_stats_reply.flags'] = ProtoField.uint32("of14.bsn_gentable_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_gentable_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_gentable_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_gentable_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_gentable_stats_reply.entries'] = ProtoField.bytes("of14.bsn_gentable_stats_reply.entries", "entries")
+fields['of14.bsn_gentable_stats_request.version'] = ProtoField.uint8("of14.bsn_gentable_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_gentable_stats_request.type'] = ProtoField.uint8("of14.bsn_gentable_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_gentable_stats_request.length'] = ProtoField.uint16("of14.bsn_gentable_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_gentable_stats_request.xid'] = ProtoField.uint32("of14.bsn_gentable_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_gentable_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_gentable_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_gentable_stats_request.flags'] = ProtoField.uint32("of14.bsn_gentable_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_gentable_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_gentable_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_gentable_stats_request.subtype'] = ProtoField.uint32("of14.bsn_gentable_stats_request.subtype", "subtype", base.DEC, nil)
 fields['of14.bsn_get_interfaces_reply.version'] = ProtoField.uint8("of14.bsn_get_interfaces_reply.version", "version", base.DEC, nil)
 fields['of14.bsn_get_interfaces_reply.type'] = ProtoField.uint8("of14.bsn_get_interfaces_reply.type", "type", base.DEC, nil)
 fields['of14.bsn_get_interfaces_reply.length'] = ProtoField.uint16("of14.bsn_get_interfaces_reply.length", "length", base.DEC, nil)
@@ -8060,10 +8740,96 @@
 fields['of14.bsn_get_mirroring_request.experimenter'] = ProtoField.uint32("of14.bsn_get_mirroring_request.experimenter", "experimenter", base.DEC, nil)
 fields['of14.bsn_get_mirroring_request.subtype'] = ProtoField.uint32("of14.bsn_get_mirroring_request.subtype", "subtype", base.DEC, nil)
 fields['of14.bsn_get_mirroring_request.report_mirror_ports'] = ProtoField.uint8("of14.bsn_get_mirroring_request.report_mirror_ports", "report_mirror_ports", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_reply.version'] = ProtoField.uint8("of14.bsn_get_switch_pipeline_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_reply.type'] = ProtoField.uint8("of14.bsn_get_switch_pipeline_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_reply.length'] = ProtoField.uint16("of14.bsn_get_switch_pipeline_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_reply.xid'] = ProtoField.uint32("of14.bsn_get_switch_pipeline_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_reply.experimenter'] = ProtoField.uint32("of14.bsn_get_switch_pipeline_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_reply.subtype'] = ProtoField.uint32("of14.bsn_get_switch_pipeline_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_reply.pipeline'] = ProtoField.stringz("of14.bsn_get_switch_pipeline_reply.pipeline", "pipeline")
+fields['of14.bsn_get_switch_pipeline_request.version'] = ProtoField.uint8("of14.bsn_get_switch_pipeline_request.version", "version", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_request.type'] = ProtoField.uint8("of14.bsn_get_switch_pipeline_request.type", "type", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_request.length'] = ProtoField.uint16("of14.bsn_get_switch_pipeline_request.length", "length", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_request.xid'] = ProtoField.uint32("of14.bsn_get_switch_pipeline_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_request.experimenter'] = ProtoField.uint32("of14.bsn_get_switch_pipeline_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_get_switch_pipeline_request.subtype'] = ProtoField.uint32("of14.bsn_get_switch_pipeline_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.version'] = ProtoField.uint8("of14.bsn_image_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.type'] = ProtoField.uint8("of14.bsn_image_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.length'] = ProtoField.uint16("of14.bsn_image_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.xid'] = ProtoField.uint32("of14.bsn_image_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_image_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.flags'] = ProtoField.uint32("of14.bsn_image_desc_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_image_desc_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_image_desc_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_image_desc_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_reply.image_checksum'] = ProtoField.stringz("of14.bsn_image_desc_stats_reply.image_checksum", "image_checksum")
+fields['of14.bsn_image_desc_stats_reply.startup_config_checksum'] = ProtoField.stringz("of14.bsn_image_desc_stats_reply.startup_config_checksum", "startup_config_checksum")
+fields['of14.bsn_image_desc_stats_request.version'] = ProtoField.uint8("of14.bsn_image_desc_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_request.type'] = ProtoField.uint8("of14.bsn_image_desc_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_request.length'] = ProtoField.uint16("of14.bsn_image_desc_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_request.xid'] = ProtoField.uint32("of14.bsn_image_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_image_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_request.flags'] = ProtoField.uint32("of14.bsn_image_desc_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_image_desc_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_image_desc_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_image_desc_stats_request.subtype'] = ProtoField.uint32("of14.bsn_image_desc_stats_request.subtype", "subtype", base.DEC, nil)
 fields['of14.bsn_interface.hw_addr'] = ProtoField.ether("of14.bsn_interface.hw_addr", "hw_addr")
 fields['of14.bsn_interface.name'] = ProtoField.stringz("of14.bsn_interface.name", "name")
 fields['of14.bsn_interface.ipv4_addr'] = ProtoField.ipv4("of14.bsn_interface.ipv4_addr", "ipv4_addr")
 fields['of14.bsn_interface.ipv4_netmask'] = ProtoField.ipv4("of14.bsn_interface.ipv4_netmask", "ipv4_netmask")
+fields['of14.bsn_lacp_convergence_notif.version'] = ProtoField.uint8("of14.bsn_lacp_convergence_notif.version", "version", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.type'] = ProtoField.uint8("of14.bsn_lacp_convergence_notif.type", "type", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.length'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.length", "length", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.xid'] = ProtoField.uint32("of14.bsn_lacp_convergence_notif.xid", "xid", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.experimenter'] = ProtoField.uint32("of14.bsn_lacp_convergence_notif.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.subtype'] = ProtoField.uint32("of14.bsn_lacp_convergence_notif.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.convergence_status'] = ProtoField.uint8("of14.bsn_lacp_convergence_notif.convergence_status", "convergence_status", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.port_no'] = ProtoField.uint32("of14.bsn_lacp_convergence_notif.port_no", "port_no", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.actor_sys_priority'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.actor_sys_priority", "actor_sys_priority", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.actor_sys_mac'] = ProtoField.ether("of14.bsn_lacp_convergence_notif.actor_sys_mac", "actor_sys_mac")
+fields['of14.bsn_lacp_convergence_notif.actor_port_priority'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.actor_port_priority", "actor_port_priority", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.actor_port_num'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.actor_port_num", "actor_port_num", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.actor_key'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.actor_key", "actor_key", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.partner_sys_priority'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.partner_sys_priority", "partner_sys_priority", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.partner_sys_mac'] = ProtoField.ether("of14.bsn_lacp_convergence_notif.partner_sys_mac", "partner_sys_mac")
+fields['of14.bsn_lacp_convergence_notif.partner_port_priority'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.partner_port_priority", "partner_port_priority", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.partner_port_num'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.partner_port_num", "partner_port_num", base.DEC, nil)
+fields['of14.bsn_lacp_convergence_notif.partner_key'] = ProtoField.uint16("of14.bsn_lacp_convergence_notif.partner_key", "partner_key", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.port_no'] = ProtoField.uint32("of14.bsn_lacp_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.actor_sys_priority'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.actor_sys_priority", "actor_sys_priority", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.actor_sys_mac'] = ProtoField.ether("of14.bsn_lacp_stats_entry.actor_sys_mac", "actor_sys_mac")
+fields['of14.bsn_lacp_stats_entry.actor_port_priority'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.actor_port_priority", "actor_port_priority", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.actor_port_num'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.actor_port_num", "actor_port_num", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.actor_key'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.actor_key", "actor_key", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.convergence_status'] = ProtoField.uint8("of14.bsn_lacp_stats_entry.convergence_status", "convergence_status", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.partner_sys_priority'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.partner_sys_priority", "partner_sys_priority", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.partner_sys_mac'] = ProtoField.ether("of14.bsn_lacp_stats_entry.partner_sys_mac", "partner_sys_mac")
+fields['of14.bsn_lacp_stats_entry.partner_port_priority'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.partner_port_priority", "partner_port_priority", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.partner_port_num'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.partner_port_num", "partner_port_num", base.DEC, nil)
+fields['of14.bsn_lacp_stats_entry.partner_key'] = ProtoField.uint16("of14.bsn_lacp_stats_entry.partner_key", "partner_key", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.version'] = ProtoField.uint8("of14.bsn_lacp_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.type'] = ProtoField.uint8("of14.bsn_lacp_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.length'] = ProtoField.uint16("of14.bsn_lacp_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.xid'] = ProtoField.uint32("of14.bsn_lacp_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_lacp_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.flags'] = ProtoField.uint32("of14.bsn_lacp_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_lacp_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_lacp_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_lacp_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_lacp_stats_reply.entries'] = ProtoField.bytes("of14.bsn_lacp_stats_reply.entries", "entries")
+fields['of14.bsn_lacp_stats_request.version'] = ProtoField.uint8("of14.bsn_lacp_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_lacp_stats_request.type'] = ProtoField.uint8("of14.bsn_lacp_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_lacp_stats_request.length'] = ProtoField.uint16("of14.bsn_lacp_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_lacp_stats_request.xid'] = ProtoField.uint32("of14.bsn_lacp_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_lacp_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_lacp_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_lacp_stats_request.flags'] = ProtoField.uint32("of14.bsn_lacp_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_lacp_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_lacp_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_lacp_stats_request.subtype'] = ProtoField.uint32("of14.bsn_lacp_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_log.version'] = ProtoField.uint8("of14.bsn_log.version", "version", base.DEC, nil)
+fields['of14.bsn_log.type'] = ProtoField.uint8("of14.bsn_log.type", "type", base.DEC, nil)
+fields['of14.bsn_log.length'] = ProtoField.uint16("of14.bsn_log.length", "length", base.DEC, nil)
+fields['of14.bsn_log.xid'] = ProtoField.uint32("of14.bsn_log.xid", "xid", base.DEC, nil)
+fields['of14.bsn_log.experimenter'] = ProtoField.uint32("of14.bsn_log.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_log.subtype'] = ProtoField.uint32("of14.bsn_log.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_log.loglevel'] = ProtoField.uint32("of14.bsn_log.loglevel", "loglevel", base.DEC, enum_v5_ofp_bsn_loglevel)
+fields['of14.bsn_log.data'] = ProtoField.bytes("of14.bsn_log.data", "data")
 fields['of14.bsn_pdu_rx_reply.version'] = ProtoField.uint8("of14.bsn_pdu_rx_reply.version", "version", base.DEC, nil)
 fields['of14.bsn_pdu_rx_reply.type'] = ProtoField.uint8("of14.bsn_pdu_rx_reply.type", "type", base.DEC, nil)
 fields['of14.bsn_pdu_rx_reply.length'] = ProtoField.uint16("of14.bsn_pdu_rx_reply.length", "length", base.DEC, nil)
@@ -8110,6 +8876,63 @@
 fields['of14.bsn_pdu_tx_request.port_no'] = ProtoField.uint32("of14.bsn_pdu_tx_request.port_no", "port_no", base.DEC, nil)
 fields['of14.bsn_pdu_tx_request.slot_num'] = ProtoField.uint8("of14.bsn_pdu_tx_request.slot_num", "slot_num", base.DEC, nil)
 fields['of14.bsn_pdu_tx_request.data'] = ProtoField.bytes("of14.bsn_pdu_tx_request.data", "data")
+fields['of14.bsn_port_counter_stats_entry.length'] = ProtoField.uint16("of14.bsn_port_counter_stats_entry.length", "length", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_entry.port_no'] = ProtoField.uint32("of14.bsn_port_counter_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_entry.values'] = ProtoField.bytes("of14.bsn_port_counter_stats_entry.values", "values")
+fields['of14.bsn_port_counter_stats_reply.version'] = ProtoField.uint8("of14.bsn_port_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_reply.type'] = ProtoField.uint8("of14.bsn_port_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_reply.length'] = ProtoField.uint16("of14.bsn_port_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_reply.xid'] = ProtoField.uint32("of14.bsn_port_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_port_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_reply.flags'] = ProtoField.uint32("of14.bsn_port_counter_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_port_counter_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_port_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_port_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_reply.entries'] = ProtoField.bytes("of14.bsn_port_counter_stats_reply.entries", "entries")
+fields['of14.bsn_port_counter_stats_request.version'] = ProtoField.uint8("of14.bsn_port_counter_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_request.type'] = ProtoField.uint8("of14.bsn_port_counter_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_request.length'] = ProtoField.uint16("of14.bsn_port_counter_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_request.xid'] = ProtoField.uint32("of14.bsn_port_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_port_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_request.flags'] = ProtoField.uint32("of14.bsn_port_counter_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_port_counter_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_port_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_request.subtype'] = ProtoField.uint32("of14.bsn_port_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_port_counter_stats_request.port_no'] = ProtoField.uint32("of14.bsn_port_counter_stats_request.port_no", "port_no", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.version'] = ProtoField.uint8("of14.bsn_set_aux_cxns_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.type'] = ProtoField.uint8("of14.bsn_set_aux_cxns_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.length'] = ProtoField.uint16("of14.bsn_set_aux_cxns_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.xid'] = ProtoField.uint32("of14.bsn_set_aux_cxns_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.experimenter'] = ProtoField.uint32("of14.bsn_set_aux_cxns_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.subtype'] = ProtoField.uint32("of14.bsn_set_aux_cxns_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.num_aux'] = ProtoField.uint32("of14.bsn_set_aux_cxns_reply.num_aux", "num_aux", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_reply.status'] = ProtoField.uint32("of14.bsn_set_aux_cxns_reply.status", "status", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_request.version'] = ProtoField.uint8("of14.bsn_set_aux_cxns_request.version", "version", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_request.type'] = ProtoField.uint8("of14.bsn_set_aux_cxns_request.type", "type", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_request.length'] = ProtoField.uint16("of14.bsn_set_aux_cxns_request.length", "length", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_request.xid'] = ProtoField.uint32("of14.bsn_set_aux_cxns_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_request.experimenter'] = ProtoField.uint32("of14.bsn_set_aux_cxns_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_request.subtype'] = ProtoField.uint32("of14.bsn_set_aux_cxns_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_set_aux_cxns_request.num_aux'] = ProtoField.uint32("of14.bsn_set_aux_cxns_request.num_aux", "num_aux", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.version'] = ProtoField.uint8("of14.bsn_set_lacp_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.type'] = ProtoField.uint8("of14.bsn_set_lacp_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.length'] = ProtoField.uint16("of14.bsn_set_lacp_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.xid'] = ProtoField.uint32("of14.bsn_set_lacp_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.experimenter'] = ProtoField.uint32("of14.bsn_set_lacp_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.subtype'] = ProtoField.uint32("of14.bsn_set_lacp_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.status'] = ProtoField.uint32("of14.bsn_set_lacp_reply.status", "status", base.DEC, nil)
+fields['of14.bsn_set_lacp_reply.port_no'] = ProtoField.uint32("of14.bsn_set_lacp_reply.port_no", "port_no", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.version'] = ProtoField.uint8("of14.bsn_set_lacp_request.version", "version", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.type'] = ProtoField.uint8("of14.bsn_set_lacp_request.type", "type", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.length'] = ProtoField.uint16("of14.bsn_set_lacp_request.length", "length", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.xid'] = ProtoField.uint32("of14.bsn_set_lacp_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.experimenter'] = ProtoField.uint32("of14.bsn_set_lacp_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.subtype'] = ProtoField.uint32("of14.bsn_set_lacp_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.enabled'] = ProtoField.uint8("of14.bsn_set_lacp_request.enabled", "enabled", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.port_no'] = ProtoField.uint32("of14.bsn_set_lacp_request.port_no", "port_no", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.actor_sys_priority'] = ProtoField.uint16("of14.bsn_set_lacp_request.actor_sys_priority", "actor_sys_priority", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.actor_sys_mac'] = ProtoField.ether("of14.bsn_set_lacp_request.actor_sys_mac", "actor_sys_mac")
+fields['of14.bsn_set_lacp_request.actor_port_priority'] = ProtoField.uint16("of14.bsn_set_lacp_request.actor_port_priority", "actor_port_priority", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.actor_port_num'] = ProtoField.uint16("of14.bsn_set_lacp_request.actor_port_num", "actor_port_num", base.DEC, nil)
+fields['of14.bsn_set_lacp_request.actor_key'] = ProtoField.uint16("of14.bsn_set_lacp_request.actor_key", "actor_key", base.DEC, nil)
 fields['of14.bsn_set_mirroring.version'] = ProtoField.uint8("of14.bsn_set_mirroring.version", "version", base.DEC, nil)
 fields['of14.bsn_set_mirroring.type'] = ProtoField.uint8("of14.bsn_set_mirroring.type", "type", base.DEC, nil)
 fields['of14.bsn_set_mirroring.length'] = ProtoField.uint16("of14.bsn_set_mirroring.length", "length", base.DEC, nil)
@@ -8135,38 +8958,250 @@
 fields['of14.bsn_set_pktin_suppression_request.hard_timeout'] = ProtoField.uint16("of14.bsn_set_pktin_suppression_request.hard_timeout", "hard_timeout", base.DEC, nil)
 fields['of14.bsn_set_pktin_suppression_request.priority'] = ProtoField.uint16("of14.bsn_set_pktin_suppression_request.priority", "priority", base.DEC, nil)
 fields['of14.bsn_set_pktin_suppression_request.cookie'] = ProtoField.uint64("of14.bsn_set_pktin_suppression_request.cookie", "cookie", base.DEC, nil)
-fields['of14.experimenter_stats_reply.version'] = ProtoField.uint8("of14.experimenter_stats_reply.version", "version", base.DEC, nil)
-fields['of14.experimenter_stats_reply.type'] = ProtoField.uint8("of14.experimenter_stats_reply.type", "type", base.DEC, nil)
-fields['of14.experimenter_stats_reply.length'] = ProtoField.uint16("of14.experimenter_stats_reply.length", "length", base.DEC, nil)
-fields['of14.experimenter_stats_reply.xid'] = ProtoField.uint32("of14.experimenter_stats_reply.xid", "xid", base.DEC, nil)
-fields['of14.experimenter_stats_reply.stats_type'] = ProtoField.uint16("of14.experimenter_stats_reply.stats_type", "stats_type", base.DEC, nil)
-fields['of14.experimenter_stats_reply.flags'] = ProtoField.uint32("of14.experimenter_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
-fields['of14.experimenter_stats_reply.experimenter'] = ProtoField.uint32("of14.experimenter_stats_reply.experimenter", "experimenter", base.DEC, nil)
-fields['of14.experimenter_stats_reply.subtype'] = ProtoField.uint32("of14.experimenter_stats_reply.subtype", "subtype", base.DEC, nil)
-fields['of14.bsn_stats_reply.version'] = ProtoField.uint8("of14.bsn_stats_reply.version", "version", base.DEC, nil)
-fields['of14.bsn_stats_reply.type'] = ProtoField.uint8("of14.bsn_stats_reply.type", "type", base.DEC, nil)
-fields['of14.bsn_stats_reply.length'] = ProtoField.uint16("of14.bsn_stats_reply.length", "length", base.DEC, nil)
-fields['of14.bsn_stats_reply.xid'] = ProtoField.uint32("of14.bsn_stats_reply.xid", "xid", base.DEC, nil)
-fields['of14.bsn_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_stats_reply.stats_type", "stats_type", base.DEC, nil)
-fields['of14.bsn_stats_reply.flags'] = ProtoField.uint32("of14.bsn_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
-fields['of14.bsn_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_stats_reply.experimenter", "experimenter", base.DEC, nil)
-fields['of14.bsn_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_stats_reply.subtype", "subtype", base.DEC, nil)
-fields['of14.experimenter_stats_request.version'] = ProtoField.uint8("of14.experimenter_stats_request.version", "version", base.DEC, nil)
-fields['of14.experimenter_stats_request.type'] = ProtoField.uint8("of14.experimenter_stats_request.type", "type", base.DEC, nil)
-fields['of14.experimenter_stats_request.length'] = ProtoField.uint16("of14.experimenter_stats_request.length", "length", base.DEC, nil)
-fields['of14.experimenter_stats_request.xid'] = ProtoField.uint32("of14.experimenter_stats_request.xid", "xid", base.DEC, nil)
-fields['of14.experimenter_stats_request.stats_type'] = ProtoField.uint16("of14.experimenter_stats_request.stats_type", "stats_type", base.DEC, nil)
-fields['of14.experimenter_stats_request.flags'] = ProtoField.uint32("of14.experimenter_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
-fields['of14.experimenter_stats_request.experimenter'] = ProtoField.uint32("of14.experimenter_stats_request.experimenter", "experimenter", base.DEC, nil)
-fields['of14.experimenter_stats_request.subtype'] = ProtoField.uint32("of14.experimenter_stats_request.subtype", "subtype", base.DEC, nil)
-fields['of14.bsn_stats_request.version'] = ProtoField.uint8("of14.bsn_stats_request.version", "version", base.DEC, nil)
-fields['of14.bsn_stats_request.type'] = ProtoField.uint8("of14.bsn_stats_request.type", "type", base.DEC, nil)
-fields['of14.bsn_stats_request.length'] = ProtoField.uint16("of14.bsn_stats_request.length", "length", base.DEC, nil)
-fields['of14.bsn_stats_request.xid'] = ProtoField.uint32("of14.bsn_stats_request.xid", "xid", base.DEC, nil)
-fields['of14.bsn_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_stats_request.stats_type", "stats_type", base.DEC, nil)
-fields['of14.bsn_stats_request.flags'] = ProtoField.uint32("of14.bsn_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
-fields['of14.bsn_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_stats_request.experimenter", "experimenter", base.DEC, nil)
-fields['of14.bsn_stats_request.subtype'] = ProtoField.uint32("of14.bsn_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_reply.version'] = ProtoField.uint8("of14.bsn_set_switch_pipeline_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_reply.type'] = ProtoField.uint8("of14.bsn_set_switch_pipeline_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_reply.length'] = ProtoField.uint16("of14.bsn_set_switch_pipeline_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_reply.xid'] = ProtoField.uint32("of14.bsn_set_switch_pipeline_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_reply.experimenter'] = ProtoField.uint32("of14.bsn_set_switch_pipeline_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_reply.subtype'] = ProtoField.uint32("of14.bsn_set_switch_pipeline_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_reply.status'] = ProtoField.uint32("of14.bsn_set_switch_pipeline_reply.status", "status", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_request.version'] = ProtoField.uint8("of14.bsn_set_switch_pipeline_request.version", "version", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_request.type'] = ProtoField.uint8("of14.bsn_set_switch_pipeline_request.type", "type", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_request.length'] = ProtoField.uint16("of14.bsn_set_switch_pipeline_request.length", "length", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_request.xid'] = ProtoField.uint32("of14.bsn_set_switch_pipeline_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_request.experimenter'] = ProtoField.uint32("of14.bsn_set_switch_pipeline_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_request.subtype'] = ProtoField.uint32("of14.bsn_set_switch_pipeline_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_set_switch_pipeline_request.pipeline'] = ProtoField.stringz("of14.bsn_set_switch_pipeline_request.pipeline", "pipeline")
+fields['of14.bsn_switch_pipeline_stats_entry.pipeline'] = ProtoField.stringz("of14.bsn_switch_pipeline_stats_entry.pipeline", "pipeline")
+fields['of14.bsn_switch_pipeline_stats_reply.version'] = ProtoField.uint8("of14.bsn_switch_pipeline_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_reply.type'] = ProtoField.uint8("of14.bsn_switch_pipeline_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_reply.length'] = ProtoField.uint16("of14.bsn_switch_pipeline_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_reply.xid'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_switch_pipeline_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_reply.flags'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_switch_pipeline_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_reply.entries'] = ProtoField.bytes("of14.bsn_switch_pipeline_stats_reply.entries", "entries")
+fields['of14.bsn_switch_pipeline_stats_request.version'] = ProtoField.uint8("of14.bsn_switch_pipeline_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_request.type'] = ProtoField.uint8("of14.bsn_switch_pipeline_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_request.length'] = ProtoField.uint16("of14.bsn_switch_pipeline_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_request.xid'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_switch_pipeline_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_request.flags'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_switch_pipeline_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_switch_pipeline_stats_request.subtype'] = ProtoField.uint32("of14.bsn_switch_pipeline_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_entry.table_id'] = ProtoField.uint8("of14.bsn_table_checksum_stats_entry.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_entry.checksum'] = ProtoField.uint64("of14.bsn_table_checksum_stats_entry.checksum", "checksum", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.version'] = ProtoField.uint8("of14.bsn_table_checksum_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.type'] = ProtoField.uint8("of14.bsn_table_checksum_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.length'] = ProtoField.uint16("of14.bsn_table_checksum_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.xid'] = ProtoField.uint32("of14.bsn_table_checksum_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_table_checksum_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.flags'] = ProtoField.uint32("of14.bsn_table_checksum_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_table_checksum_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_table_checksum_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_table_checksum_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_reply.entries'] = ProtoField.bytes("of14.bsn_table_checksum_stats_reply.entries", "entries")
+fields['of14.bsn_table_checksum_stats_request.version'] = ProtoField.uint8("of14.bsn_table_checksum_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_request.type'] = ProtoField.uint8("of14.bsn_table_checksum_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_request.length'] = ProtoField.uint16("of14.bsn_table_checksum_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_request.xid'] = ProtoField.uint32("of14.bsn_table_checksum_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_table_checksum_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_request.flags'] = ProtoField.uint32("of14.bsn_table_checksum_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_table_checksum_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_table_checksum_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_table_checksum_stats_request.subtype'] = ProtoField.uint32("of14.bsn_table_checksum_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.version'] = ProtoField.uint8("of14.bsn_table_set_buckets_size.version", "version", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.type'] = ProtoField.uint8("of14.bsn_table_set_buckets_size.type", "type", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.length'] = ProtoField.uint16("of14.bsn_table_set_buckets_size.length", "length", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.xid'] = ProtoField.uint32("of14.bsn_table_set_buckets_size.xid", "xid", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.experimenter'] = ProtoField.uint32("of14.bsn_table_set_buckets_size.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.subtype'] = ProtoField.uint32("of14.bsn_table_set_buckets_size.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.table_id'] = ProtoField.uint8("of14.bsn_table_set_buckets_size.table_id", "table_id", base.DEC, nil)
+fields['of14.bsn_table_set_buckets_size.buckets_size'] = ProtoField.uint32("of14.bsn_table_set_buckets_size.buckets_size", "buckets_size", base.DEC, nil)
+fields['of14.bsn_time_reply.version'] = ProtoField.uint8("of14.bsn_time_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_time_reply.type'] = ProtoField.uint8("of14.bsn_time_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_time_reply.length'] = ProtoField.uint16("of14.bsn_time_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_time_reply.xid'] = ProtoField.uint32("of14.bsn_time_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_time_reply.experimenter'] = ProtoField.uint32("of14.bsn_time_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_time_reply.subtype'] = ProtoField.uint32("of14.bsn_time_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_time_reply.time_ms'] = ProtoField.uint64("of14.bsn_time_reply.time_ms", "time_ms", base.DEC, nil)
+fields['of14.bsn_time_request.version'] = ProtoField.uint8("of14.bsn_time_request.version", "version", base.DEC, nil)
+fields['of14.bsn_time_request.type'] = ProtoField.uint8("of14.bsn_time_request.type", "type", base.DEC, nil)
+fields['of14.bsn_time_request.length'] = ProtoField.uint16("of14.bsn_time_request.length", "length", base.DEC, nil)
+fields['of14.bsn_time_request.xid'] = ProtoField.uint32("of14.bsn_time_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_time_request.experimenter'] = ProtoField.uint32("of14.bsn_time_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_time_request.subtype'] = ProtoField.uint32("of14.bsn_time_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_tlv.type'] = ProtoField.uint16("of14.bsn_tlv.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv.length'] = ProtoField.uint16("of14.bsn_tlv.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_actor_key.type'] = ProtoField.uint16("of14.bsn_tlv_actor_key.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_actor_key.length'] = ProtoField.uint16("of14.bsn_tlv_actor_key.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_actor_key.value'] = ProtoField.uint16("of14.bsn_tlv_actor_key.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_actor_port_num.type'] = ProtoField.uint16("of14.bsn_tlv_actor_port_num.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_actor_port_num.length'] = ProtoField.uint16("of14.bsn_tlv_actor_port_num.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_actor_port_num.value'] = ProtoField.uint16("of14.bsn_tlv_actor_port_num.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_actor_port_priority.type'] = ProtoField.uint16("of14.bsn_tlv_actor_port_priority.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_actor_port_priority.length'] = ProtoField.uint16("of14.bsn_tlv_actor_port_priority.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_actor_port_priority.value'] = ProtoField.uint16("of14.bsn_tlv_actor_port_priority.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_actor_state.type'] = ProtoField.uint16("of14.bsn_tlv_actor_state.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_actor_state.length'] = ProtoField.uint16("of14.bsn_tlv_actor_state.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_actor_state.value'] = ProtoField.uint32("of14.bsn_tlv_actor_state.value", "value", base.HEX, enum_v5_ofp_bsn_lacp_state)
+fields['of14.bsn_tlv_actor_system_mac.type'] = ProtoField.uint16("of14.bsn_tlv_actor_system_mac.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_actor_system_mac.length'] = ProtoField.uint16("of14.bsn_tlv_actor_system_mac.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_actor_system_mac.value'] = ProtoField.ether("of14.bsn_tlv_actor_system_mac.value", "value")
+fields['of14.bsn_tlv_actor_system_priority.type'] = ProtoField.uint16("of14.bsn_tlv_actor_system_priority.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_actor_system_priority.length'] = ProtoField.uint16("of14.bsn_tlv_actor_system_priority.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_actor_system_priority.value'] = ProtoField.uint16("of14.bsn_tlv_actor_system_priority.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_broadcast_query_timeout.type'] = ProtoField.uint16("of14.bsn_tlv_broadcast_query_timeout.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_broadcast_query_timeout.length'] = ProtoField.uint16("of14.bsn_tlv_broadcast_query_timeout.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_broadcast_query_timeout.value'] = ProtoField.uint32("of14.bsn_tlv_broadcast_query_timeout.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_circuit_id.type'] = ProtoField.uint16("of14.bsn_tlv_circuit_id.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_circuit_id.length'] = ProtoField.uint16("of14.bsn_tlv_circuit_id.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_circuit_id.value'] = ProtoField.bytes("of14.bsn_tlv_circuit_id.value", "value")
+fields['of14.bsn_tlv_convergence_status.type'] = ProtoField.uint16("of14.bsn_tlv_convergence_status.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_convergence_status.length'] = ProtoField.uint16("of14.bsn_tlv_convergence_status.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_convergence_status.value'] = ProtoField.uint8("of14.bsn_tlv_convergence_status.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_crc_enabled.type'] = ProtoField.uint16("of14.bsn_tlv_crc_enabled.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_crc_enabled.length'] = ProtoField.uint16("of14.bsn_tlv_crc_enabled.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_crc_enabled.value'] = ProtoField.uint8("of14.bsn_tlv_crc_enabled.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_data.type'] = ProtoField.uint16("of14.bsn_tlv_data.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_data.length'] = ProtoField.uint16("of14.bsn_tlv_data.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_data.value'] = ProtoField.bytes("of14.bsn_tlv_data.value", "value")
+fields['of14.bsn_tlv_eth_dst.type'] = ProtoField.uint16("of14.bsn_tlv_eth_dst.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_eth_dst.length'] = ProtoField.uint16("of14.bsn_tlv_eth_dst.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_eth_dst.value'] = ProtoField.ether("of14.bsn_tlv_eth_dst.value", "value")
+fields['of14.bsn_tlv_eth_src.type'] = ProtoField.uint16("of14.bsn_tlv_eth_src.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_eth_src.length'] = ProtoField.uint16("of14.bsn_tlv_eth_src.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_eth_src.value'] = ProtoField.ether("of14.bsn_tlv_eth_src.value", "value")
+fields['of14.bsn_tlv_external_gateway_ip.type'] = ProtoField.uint16("of14.bsn_tlv_external_gateway_ip.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_external_gateway_ip.length'] = ProtoField.uint16("of14.bsn_tlv_external_gateway_ip.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_external_gateway_ip.value'] = ProtoField.ipv4("of14.bsn_tlv_external_gateway_ip.value", "value")
+fields['of14.bsn_tlv_external_gateway_mac.type'] = ProtoField.uint16("of14.bsn_tlv_external_gateway_mac.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_external_gateway_mac.length'] = ProtoField.uint16("of14.bsn_tlv_external_gateway_mac.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_external_gateway_mac.value'] = ProtoField.ether("of14.bsn_tlv_external_gateway_mac.value", "value")
+fields['of14.bsn_tlv_external_ip.type'] = ProtoField.uint16("of14.bsn_tlv_external_ip.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_external_ip.length'] = ProtoField.uint16("of14.bsn_tlv_external_ip.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_external_ip.value'] = ProtoField.ipv4("of14.bsn_tlv_external_ip.value", "value")
+fields['of14.bsn_tlv_external_mac.type'] = ProtoField.uint16("of14.bsn_tlv_external_mac.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_external_mac.length'] = ProtoField.uint16("of14.bsn_tlv_external_mac.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_external_mac.value'] = ProtoField.ether("of14.bsn_tlv_external_mac.value", "value")
+fields['of14.bsn_tlv_external_netmask.type'] = ProtoField.uint16("of14.bsn_tlv_external_netmask.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_external_netmask.length'] = ProtoField.uint16("of14.bsn_tlv_external_netmask.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_external_netmask.value'] = ProtoField.ipv4("of14.bsn_tlv_external_netmask.value", "value")
+fields['of14.bsn_tlv_header_size.type'] = ProtoField.uint16("of14.bsn_tlv_header_size.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_header_size.length'] = ProtoField.uint16("of14.bsn_tlv_header_size.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_header_size.value'] = ProtoField.uint32("of14.bsn_tlv_header_size.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_idle_notification.type'] = ProtoField.uint16("of14.bsn_tlv_idle_notification.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_idle_notification.length'] = ProtoField.uint16("of14.bsn_tlv_idle_notification.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_idle_time.type'] = ProtoField.uint16("of14.bsn_tlv_idle_time.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_idle_time.length'] = ProtoField.uint16("of14.bsn_tlv_idle_time.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_idle_time.value'] = ProtoField.uint64("of14.bsn_tlv_idle_time.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_idle_timeout.type'] = ProtoField.uint16("of14.bsn_tlv_idle_timeout.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_idle_timeout.length'] = ProtoField.uint16("of14.bsn_tlv_idle_timeout.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_idle_timeout.value'] = ProtoField.uint32("of14.bsn_tlv_idle_timeout.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_internal_gateway_mac.type'] = ProtoField.uint16("of14.bsn_tlv_internal_gateway_mac.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_internal_gateway_mac.length'] = ProtoField.uint16("of14.bsn_tlv_internal_gateway_mac.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_internal_gateway_mac.value'] = ProtoField.ether("of14.bsn_tlv_internal_gateway_mac.value", "value")
+fields['of14.bsn_tlv_internal_mac.type'] = ProtoField.uint16("of14.bsn_tlv_internal_mac.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_internal_mac.length'] = ProtoField.uint16("of14.bsn_tlv_internal_mac.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_internal_mac.value'] = ProtoField.ether("of14.bsn_tlv_internal_mac.value", "value")
+fields['of14.bsn_tlv_ipv4.type'] = ProtoField.uint16("of14.bsn_tlv_ipv4.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_ipv4.length'] = ProtoField.uint16("of14.bsn_tlv_ipv4.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_ipv4.value'] = ProtoField.ipv4("of14.bsn_tlv_ipv4.value", "value")
+fields['of14.bsn_tlv_ipv4_dst.type'] = ProtoField.uint16("of14.bsn_tlv_ipv4_dst.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_ipv4_dst.length'] = ProtoField.uint16("of14.bsn_tlv_ipv4_dst.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_ipv4_dst.value'] = ProtoField.ipv4("of14.bsn_tlv_ipv4_dst.value", "value")
+fields['of14.bsn_tlv_ipv4_src.type'] = ProtoField.uint16("of14.bsn_tlv_ipv4_src.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_ipv4_src.length'] = ProtoField.uint16("of14.bsn_tlv_ipv4_src.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_ipv4_src.value'] = ProtoField.ipv4("of14.bsn_tlv_ipv4_src.value", "value")
+fields['of14.bsn_tlv_mac.type'] = ProtoField.uint16("of14.bsn_tlv_mac.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_mac.length'] = ProtoField.uint16("of14.bsn_tlv_mac.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_mac.value'] = ProtoField.ether("of14.bsn_tlv_mac.value", "value")
+fields['of14.bsn_tlv_mac_mask.type'] = ProtoField.uint16("of14.bsn_tlv_mac_mask.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_mac_mask.length'] = ProtoField.uint16("of14.bsn_tlv_mac_mask.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_mac_mask.value'] = ProtoField.ether("of14.bsn_tlv_mac_mask.value", "value")
+fields['of14.bsn_tlv_miss_packets.type'] = ProtoField.uint16("of14.bsn_tlv_miss_packets.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_miss_packets.length'] = ProtoField.uint16("of14.bsn_tlv_miss_packets.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_miss_packets.value'] = ProtoField.uint64("of14.bsn_tlv_miss_packets.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_name.type'] = ProtoField.uint16("of14.bsn_tlv_name.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_name.length'] = ProtoField.uint16("of14.bsn_tlv_name.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_name.value'] = ProtoField.bytes("of14.bsn_tlv_name.value", "value")
+fields['of14.bsn_tlv_partner_key.type'] = ProtoField.uint16("of14.bsn_tlv_partner_key.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_partner_key.length'] = ProtoField.uint16("of14.bsn_tlv_partner_key.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_partner_key.value'] = ProtoField.uint16("of14.bsn_tlv_partner_key.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_partner_port_num.type'] = ProtoField.uint16("of14.bsn_tlv_partner_port_num.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_partner_port_num.length'] = ProtoField.uint16("of14.bsn_tlv_partner_port_num.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_partner_port_num.value'] = ProtoField.uint16("of14.bsn_tlv_partner_port_num.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_partner_port_priority.type'] = ProtoField.uint16("of14.bsn_tlv_partner_port_priority.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_partner_port_priority.length'] = ProtoField.uint16("of14.bsn_tlv_partner_port_priority.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_partner_port_priority.value'] = ProtoField.uint16("of14.bsn_tlv_partner_port_priority.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_partner_state.type'] = ProtoField.uint16("of14.bsn_tlv_partner_state.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_partner_state.length'] = ProtoField.uint16("of14.bsn_tlv_partner_state.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_partner_state.value'] = ProtoField.uint32("of14.bsn_tlv_partner_state.value", "value", base.HEX, enum_v5_ofp_bsn_lacp_state)
+fields['of14.bsn_tlv_partner_system_mac.type'] = ProtoField.uint16("of14.bsn_tlv_partner_system_mac.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_partner_system_mac.length'] = ProtoField.uint16("of14.bsn_tlv_partner_system_mac.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_partner_system_mac.value'] = ProtoField.ether("of14.bsn_tlv_partner_system_mac.value", "value")
+fields['of14.bsn_tlv_partner_system_priority.type'] = ProtoField.uint16("of14.bsn_tlv_partner_system_priority.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_partner_system_priority.length'] = ProtoField.uint16("of14.bsn_tlv_partner_system_priority.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_partner_system_priority.value'] = ProtoField.uint16("of14.bsn_tlv_partner_system_priority.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_port.type'] = ProtoField.uint16("of14.bsn_tlv_port.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_port.length'] = ProtoField.uint16("of14.bsn_tlv_port.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_port.value'] = ProtoField.uint32("of14.bsn_tlv_port.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_priority.type'] = ProtoField.uint16("of14.bsn_tlv_priority.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_priority.length'] = ProtoField.uint16("of14.bsn_tlv_priority.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_priority.value'] = ProtoField.uint32("of14.bsn_tlv_priority.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_queue_id.type'] = ProtoField.uint16("of14.bsn_tlv_queue_id.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_queue_id.length'] = ProtoField.uint16("of14.bsn_tlv_queue_id.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_queue_id.value'] = ProtoField.uint32("of14.bsn_tlv_queue_id.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_queue_weight.type'] = ProtoField.uint16("of14.bsn_tlv_queue_weight.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_queue_weight.length'] = ProtoField.uint16("of14.bsn_tlv_queue_weight.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_queue_weight.value'] = ProtoField.uint32("of14.bsn_tlv_queue_weight.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_reply_packets.type'] = ProtoField.uint16("of14.bsn_tlv_reply_packets.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_reply_packets.length'] = ProtoField.uint16("of14.bsn_tlv_reply_packets.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_reply_packets.value'] = ProtoField.uint64("of14.bsn_tlv_reply_packets.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_request_packets.type'] = ProtoField.uint16("of14.bsn_tlv_request_packets.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_request_packets.length'] = ProtoField.uint16("of14.bsn_tlv_request_packets.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_request_packets.value'] = ProtoField.uint64("of14.bsn_tlv_request_packets.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_rx_packets.type'] = ProtoField.uint16("of14.bsn_tlv_rx_packets.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_rx_packets.length'] = ProtoField.uint16("of14.bsn_tlv_rx_packets.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_rx_packets.value'] = ProtoField.uint64("of14.bsn_tlv_rx_packets.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_sampling_rate.type'] = ProtoField.uint16("of14.bsn_tlv_sampling_rate.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_sampling_rate.length'] = ProtoField.uint16("of14.bsn_tlv_sampling_rate.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_sampling_rate.value'] = ProtoField.uint32("of14.bsn_tlv_sampling_rate.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_sub_agent_id.type'] = ProtoField.uint16("of14.bsn_tlv_sub_agent_id.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_sub_agent_id.length'] = ProtoField.uint16("of14.bsn_tlv_sub_agent_id.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_sub_agent_id.value'] = ProtoField.uint32("of14.bsn_tlv_sub_agent_id.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_tx_bytes.type'] = ProtoField.uint16("of14.bsn_tlv_tx_bytes.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_tx_bytes.length'] = ProtoField.uint16("of14.bsn_tlv_tx_bytes.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_tx_bytes.value'] = ProtoField.uint64("of14.bsn_tlv_tx_bytes.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_tx_packets.type'] = ProtoField.uint16("of14.bsn_tlv_tx_packets.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_tx_packets.length'] = ProtoField.uint16("of14.bsn_tlv_tx_packets.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_tx_packets.value'] = ProtoField.uint64("of14.bsn_tlv_tx_packets.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_udf_anchor.type'] = ProtoField.uint16("of14.bsn_tlv_udf_anchor.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_udf_anchor.length'] = ProtoField.uint16("of14.bsn_tlv_udf_anchor.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_udf_anchor.value'] = ProtoField.uint32("of14.bsn_tlv_udf_anchor.value", "value", base.DEC, enum_v5_ofp_bsn_udf_anchor)
+fields['of14.bsn_tlv_udf_id.type'] = ProtoField.uint16("of14.bsn_tlv_udf_id.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_udf_id.length'] = ProtoField.uint16("of14.bsn_tlv_udf_id.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_udf_id.value'] = ProtoField.uint16("of14.bsn_tlv_udf_id.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_udf_length.type'] = ProtoField.uint16("of14.bsn_tlv_udf_length.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_udf_length.length'] = ProtoField.uint16("of14.bsn_tlv_udf_length.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_udf_length.value'] = ProtoField.uint16("of14.bsn_tlv_udf_length.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_udf_offset.type'] = ProtoField.uint16("of14.bsn_tlv_udf_offset.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_udf_offset.length'] = ProtoField.uint16("of14.bsn_tlv_udf_offset.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_udf_offset.value'] = ProtoField.uint16("of14.bsn_tlv_udf_offset.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_udp_dst.type'] = ProtoField.uint16("of14.bsn_tlv_udp_dst.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_udp_dst.length'] = ProtoField.uint16("of14.bsn_tlv_udp_dst.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_udp_dst.value'] = ProtoField.uint16("of14.bsn_tlv_udp_dst.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_udp_src.type'] = ProtoField.uint16("of14.bsn_tlv_udp_src.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_udp_src.length'] = ProtoField.uint16("of14.bsn_tlv_udp_src.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_udp_src.value'] = ProtoField.uint16("of14.bsn_tlv_udp_src.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_unicast_query_timeout.type'] = ProtoField.uint16("of14.bsn_tlv_unicast_query_timeout.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_unicast_query_timeout.length'] = ProtoField.uint16("of14.bsn_tlv_unicast_query_timeout.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_unicast_query_timeout.value'] = ProtoField.uint32("of14.bsn_tlv_unicast_query_timeout.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_vlan_vid.type'] = ProtoField.uint16("of14.bsn_tlv_vlan_vid.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_vlan_vid.length'] = ProtoField.uint16("of14.bsn_tlv_vlan_vid.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_vlan_vid.value'] = ProtoField.uint16("of14.bsn_tlv_vlan_vid.value", "value", base.DEC, nil)
+fields['of14.bsn_tlv_vrf.type'] = ProtoField.uint16("of14.bsn_tlv_vrf.type", "type", base.DEC, nil)
+fields['of14.bsn_tlv_vrf.length'] = ProtoField.uint16("of14.bsn_tlv_vrf.length", "length", base.DEC, nil)
+fields['of14.bsn_tlv_vrf.value'] = ProtoField.uint32("of14.bsn_tlv_vrf.value", "value", base.DEC, nil)
 fields['of14.bsn_virtual_port_create_reply.version'] = ProtoField.uint8("of14.bsn_virtual_port_create_reply.version", "version", base.DEC, nil)
 fields['of14.bsn_virtual_port_create_reply.type'] = ProtoField.uint8("of14.bsn_virtual_port_create_reply.type", "type", base.DEC, nil)
 fields['of14.bsn_virtual_port_create_reply.length'] = ProtoField.uint16("of14.bsn_virtual_port_create_reply.length", "length", base.DEC, nil)
@@ -8198,6 +9233,27 @@
 fields['of14.bsn_virtual_port_remove_request.experimenter'] = ProtoField.uint32("of14.bsn_virtual_port_remove_request.experimenter", "experimenter", base.DEC, nil)
 fields['of14.bsn_virtual_port_remove_request.subtype'] = ProtoField.uint32("of14.bsn_virtual_port_remove_request.subtype", "subtype", base.DEC, nil)
 fields['of14.bsn_virtual_port_remove_request.vport_no'] = ProtoField.uint32("of14.bsn_virtual_port_remove_request.vport_no", "vport_no", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_entry.length'] = ProtoField.uint16("of14.bsn_vlan_counter_stats_entry.length", "length", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_entry.vlan_vid'] = ProtoField.uint16("of14.bsn_vlan_counter_stats_entry.vlan_vid", "vlan_vid", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_entry.values'] = ProtoField.bytes("of14.bsn_vlan_counter_stats_entry.values", "values")
+fields['of14.bsn_vlan_counter_stats_reply.version'] = ProtoField.uint8("of14.bsn_vlan_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_reply.type'] = ProtoField.uint8("of14.bsn_vlan_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_reply.length'] = ProtoField.uint16("of14.bsn_vlan_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_reply.xid'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_vlan_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_reply.flags'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_vlan_counter_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_reply.entries'] = ProtoField.bytes("of14.bsn_vlan_counter_stats_reply.entries", "entries")
+fields['of14.bsn_vlan_counter_stats_request.version'] = ProtoField.uint8("of14.bsn_vlan_counter_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_request.type'] = ProtoField.uint8("of14.bsn_vlan_counter_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_request.length'] = ProtoField.uint16("of14.bsn_vlan_counter_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_request.xid'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_vlan_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_request.flags'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_vlan_counter_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_request.subtype'] = ProtoField.uint32("of14.bsn_vlan_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_vlan_counter_stats_request.vlan_vid'] = ProtoField.uint16("of14.bsn_vlan_counter_stats_request.vlan_vid", "vlan_vid", base.DEC, nil)
 fields['of14.bsn_vport_l2gre.type'] = ProtoField.uint16("of14.bsn_vport_l2gre.type", "type", base.DEC, nil)
 fields['of14.bsn_vport_l2gre.length'] = ProtoField.uint16("of14.bsn_vport_l2gre.length", "length", base.DEC, nil)
 fields['of14.bsn_vport_l2gre.flags'] = ProtoField.uint32("of14.bsn_vport_l2gre.flags", "flags", base.HEX, enum_v5_ofp_bsn_vport_l2gre_flags)
@@ -8220,6 +9276,27 @@
 fields['of14.bsn_vport_q_in_q.egress_tpid'] = ProtoField.uint16("of14.bsn_vport_q_in_q.egress_tpid", "egress_tpid", base.DEC, nil)
 fields['of14.bsn_vport_q_in_q.egress_vlan_id'] = ProtoField.uint16("of14.bsn_vport_q_in_q.egress_vlan_id", "egress_vlan_id", base.DEC, nil)
 fields['of14.bsn_vport_q_in_q.if_name'] = ProtoField.stringz("of14.bsn_vport_q_in_q.if_name", "if_name")
+fields['of14.bsn_vrf_counter_stats_entry.length'] = ProtoField.uint16("of14.bsn_vrf_counter_stats_entry.length", "length", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_entry.vrf'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_entry.vrf", "vrf", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_entry.values'] = ProtoField.bytes("of14.bsn_vrf_counter_stats_entry.values", "values")
+fields['of14.bsn_vrf_counter_stats_reply.version'] = ProtoField.uint8("of14.bsn_vrf_counter_stats_reply.version", "version", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_reply.type'] = ProtoField.uint8("of14.bsn_vrf_counter_stats_reply.type", "type", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_reply.length'] = ProtoField.uint16("of14.bsn_vrf_counter_stats_reply.length", "length", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_reply.xid'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_reply.stats_type'] = ProtoField.uint16("of14.bsn_vrf_counter_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_reply.flags'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.bsn_vrf_counter_stats_reply.experimenter'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_reply.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_reply.subtype'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_reply.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_reply.entries'] = ProtoField.bytes("of14.bsn_vrf_counter_stats_reply.entries", "entries")
+fields['of14.bsn_vrf_counter_stats_request.version'] = ProtoField.uint8("of14.bsn_vrf_counter_stats_request.version", "version", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_request.type'] = ProtoField.uint8("of14.bsn_vrf_counter_stats_request.type", "type", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_request.length'] = ProtoField.uint16("of14.bsn_vrf_counter_stats_request.length", "length", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_request.xid'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_request.stats_type'] = ProtoField.uint16("of14.bsn_vrf_counter_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_request.flags'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.bsn_vrf_counter_stats_request.experimenter'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_request.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_request.subtype'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_request.subtype", "subtype", base.DEC, nil)
+fields['of14.bsn_vrf_counter_stats_request.vrf'] = ProtoField.uint32("of14.bsn_vrf_counter_stats_request.vrf", "vrf", base.DEC, nil)
 fields['of14.bucket.len'] = ProtoField.uint16("of14.bucket.len", "len", base.DEC, nil)
 fields['of14.bucket.weight'] = ProtoField.uint16("of14.bucket.weight", "weight", base.DEC, nil)
 fields['of14.bucket.watch_port'] = ProtoField.uint32("of14.bucket.watch_port", "watch_port", base.DEC, nil)
@@ -8227,6 +9304,34 @@
 fields['of14.bucket.actions'] = ProtoField.bytes("of14.bucket.actions", "actions")
 fields['of14.bucket_counter.packet_count'] = ProtoField.uint64("of14.bucket_counter.packet_count", "packet_count", base.DEC, nil)
 fields['of14.bucket_counter.byte_count'] = ProtoField.uint64("of14.bucket_counter.byte_count", "byte_count", base.DEC, nil)
+fields['of14.bundle_add_msg.version'] = ProtoField.uint8("of14.bundle_add_msg.version", "version", base.DEC, nil)
+fields['of14.bundle_add_msg.type'] = ProtoField.uint8("of14.bundle_add_msg.type", "type", base.DEC, nil)
+fields['of14.bundle_add_msg.length'] = ProtoField.uint16("of14.bundle_add_msg.length", "length", base.DEC, nil)
+fields['of14.bundle_add_msg.xid'] = ProtoField.uint32("of14.bundle_add_msg.xid", "xid", base.DEC, nil)
+fields['of14.bundle_add_msg.bundle_id'] = ProtoField.uint32("of14.bundle_add_msg.bundle_id", "bundle_id", base.DEC, nil)
+fields['of14.bundle_add_msg.flags'] = ProtoField.uint32("of14.bundle_add_msg.flags", "flags", base.HEX, enum_v5_ofp_bundle_flags)
+fields['of14.bundle_add_msg.data'] = ProtoField.bytes("of14.bundle_add_msg.data", "data")
+fields['of14.bundle_ctrl_msg.version'] = ProtoField.uint8("of14.bundle_ctrl_msg.version", "version", base.DEC, nil)
+fields['of14.bundle_ctrl_msg.type'] = ProtoField.uint8("of14.bundle_ctrl_msg.type", "type", base.DEC, nil)
+fields['of14.bundle_ctrl_msg.length'] = ProtoField.uint16("of14.bundle_ctrl_msg.length", "length", base.DEC, nil)
+fields['of14.bundle_ctrl_msg.xid'] = ProtoField.uint32("of14.bundle_ctrl_msg.xid", "xid", base.DEC, nil)
+fields['of14.bundle_ctrl_msg.bundle_id'] = ProtoField.uint32("of14.bundle_ctrl_msg.bundle_id", "bundle_id", base.DEC, nil)
+fields['of14.bundle_ctrl_msg.bundle_ctrl_type'] = ProtoField.uint32("of14.bundle_ctrl_msg.bundle_ctrl_type", "bundle_ctrl_type", base.DEC, enum_v5_ofp_bundle_ctrl_type)
+fields['of14.bundle_ctrl_msg.flags'] = ProtoField.uint32("of14.bundle_ctrl_msg.flags", "flags", base.HEX, enum_v5_ofp_bundle_flags)
+fields['of14.bundle_ctrl_msg.properties'] = ProtoField.bytes("of14.bundle_ctrl_msg.properties", "properties")
+fields['of14.bundle_failed_error_msg.version'] = ProtoField.uint8("of14.bundle_failed_error_msg.version", "version", base.DEC, nil)
+fields['of14.bundle_failed_error_msg.type'] = ProtoField.uint8("of14.bundle_failed_error_msg.type", "type", base.DEC, nil)
+fields['of14.bundle_failed_error_msg.length'] = ProtoField.uint16("of14.bundle_failed_error_msg.length", "length", base.DEC, nil)
+fields['of14.bundle_failed_error_msg.xid'] = ProtoField.uint32("of14.bundle_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of14.bundle_failed_error_msg.err_type'] = ProtoField.uint16("of14.bundle_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of14.bundle_failed_error_msg.code'] = ProtoField.uint32("of14.bundle_failed_error_msg.code", "code", base.DEC, enum_v5_ofp_bundle_failed_code)
+fields['of14.bundle_failed_error_msg.data'] = ProtoField.bytes("of14.bundle_failed_error_msg.data", "data")
+fields['of14.bundle_prop.type'] = ProtoField.uint16("of14.bundle_prop.type", "type", base.DEC, nil)
+fields['of14.bundle_prop.length'] = ProtoField.uint16("of14.bundle_prop.length", "length", base.DEC, nil)
+fields['of14.bundle_prop_experimenter.type'] = ProtoField.uint16("of14.bundle_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.bundle_prop_experimenter.length'] = ProtoField.uint16("of14.bundle_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.bundle_prop_experimenter.experimenter'] = ProtoField.uint32("of14.bundle_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.bundle_prop_experimenter.exp_type'] = ProtoField.uint32("of14.bundle_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
 fields['of14.desc_stats_reply.version'] = ProtoField.uint8("of14.desc_stats_reply.version", "version", base.DEC, nil)
 fields['of14.desc_stats_reply.type'] = ProtoField.uint32("of14.desc_stats_reply.type", "type", base.DEC, enum_v5_ofp_type)
 fields['of14.desc_stats_reply.length'] = ProtoField.uint16("of14.desc_stats_reply.length", "length", base.DEC, nil)
@@ -8390,6 +9495,13 @@
 fields['of14.flow_modify_strict.importance'] = ProtoField.uint16("of14.flow_modify_strict.importance", "importance", base.DEC, nil)
 fields['of14.flow_modify_strict.match'] = ProtoField.bytes("of14.flow_modify_strict.match", "match")
 fields['of14.flow_modify_strict.instructions'] = ProtoField.bytes("of14.flow_modify_strict.instructions", "instructions")
+fields['of14.flow_monitor_failed_error_msg.version'] = ProtoField.uint8("of14.flow_monitor_failed_error_msg.version", "version", base.DEC, nil)
+fields['of14.flow_monitor_failed_error_msg.type'] = ProtoField.uint8("of14.flow_monitor_failed_error_msg.type", "type", base.DEC, nil)
+fields['of14.flow_monitor_failed_error_msg.length'] = ProtoField.uint16("of14.flow_monitor_failed_error_msg.length", "length", base.DEC, nil)
+fields['of14.flow_monitor_failed_error_msg.xid'] = ProtoField.uint32("of14.flow_monitor_failed_error_msg.xid", "xid", base.DEC, nil)
+fields['of14.flow_monitor_failed_error_msg.err_type'] = ProtoField.uint16("of14.flow_monitor_failed_error_msg.err_type", "err_type", base.DEC, nil)
+fields['of14.flow_monitor_failed_error_msg.code'] = ProtoField.uint32("of14.flow_monitor_failed_error_msg.code", "code", base.DEC, enum_v5_ofp_flow_monitor_failed_code)
+fields['of14.flow_monitor_failed_error_msg.data'] = ProtoField.bytes("of14.flow_monitor_failed_error_msg.data", "data")
 fields['of14.flow_removed.version'] = ProtoField.uint8("of14.flow_removed.version", "version", base.DEC, nil)
 fields['of14.flow_removed.type'] = ProtoField.uint8("of14.flow_removed.type", "type", base.DEC, nil)
 fields['of14.flow_removed.length'] = ProtoField.uint16("of14.flow_removed.length", "length", base.DEC, nil)
@@ -8574,20 +9686,108 @@
 fields['of14.instruction_apply_actions.actions'] = ProtoField.bytes("of14.instruction_apply_actions.actions", "actions")
 fields['of14.instruction_id_apply_actions.type'] = ProtoField.uint16("of14.instruction_id_apply_actions.type", "type", base.DEC, nil)
 fields['of14.instruction_id_apply_actions.len'] = ProtoField.uint16("of14.instruction_id_apply_actions.len", "len", base.DEC, nil)
-fields['of14.instruction_clear_actions.type'] = ProtoField.uint16("of14.instruction_clear_actions.type", "type", base.DEC, nil)
-fields['of14.instruction_clear_actions.len'] = ProtoField.uint16("of14.instruction_clear_actions.len", "len", base.DEC, nil)
-fields['of14.instruction_id_clear_actions.type'] = ProtoField.uint16("of14.instruction_id_clear_actions.type", "type", base.DEC, nil)
-fields['of14.instruction_id_clear_actions.len'] = ProtoField.uint16("of14.instruction_id_clear_actions.len", "len", base.DEC, nil)
 fields['of14.instruction_experimenter.type'] = ProtoField.uint16("of14.instruction_experimenter.type", "type", base.DEC, nil)
 fields['of14.instruction_experimenter.len'] = ProtoField.uint16("of14.instruction_experimenter.len", "len", base.DEC, nil)
 fields['of14.instruction_experimenter.experimenter'] = ProtoField.uint32("of14.instruction_experimenter.experimenter", "experimenter", base.DEC, nil)
 fields['of14.instruction_experimenter.data'] = ProtoField.bytes("of14.instruction_experimenter.data", "data")
+fields['of14.instruction_bsn.type'] = ProtoField.uint16("of14.instruction_bsn.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn.len'] = ProtoField.uint16("of14.instruction_bsn.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn.experimenter'] = ProtoField.uint32("of14.instruction_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn.subtype'] = ProtoField.uint32("of14.instruction_bsn.subtype", "subtype", base.DEC, nil)
 fields['of14.instruction_id_experimenter.type'] = ProtoField.uint16("of14.instruction_id_experimenter.type", "type", base.DEC, nil)
 fields['of14.instruction_id_experimenter.len'] = ProtoField.uint16("of14.instruction_id_experimenter.len", "len", base.DEC, nil)
 fields['of14.instruction_id_experimenter.experimenter'] = ProtoField.uint32("of14.instruction_id_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn.type'] = ProtoField.uint16("of14.instruction_id_bsn.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn.len'] = ProtoField.uint16("of14.instruction_id_bsn.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn.subtype'] = ProtoField.uint32("of14.instruction_id_bsn.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_arp_offload.type'] = ProtoField.uint16("of14.instruction_bsn_arp_offload.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_arp_offload.len'] = ProtoField.uint16("of14.instruction_bsn_arp_offload.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_arp_offload.experimenter'] = ProtoField.uint32("of14.instruction_bsn_arp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_arp_offload.subtype'] = ProtoField.uint32("of14.instruction_bsn_arp_offload.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_arp_offload.type'] = ProtoField.uint16("of14.instruction_id_bsn_arp_offload.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_arp_offload.len'] = ProtoField.uint16("of14.instruction_id_bsn_arp_offload.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_arp_offload.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_arp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_arp_offload.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_arp_offload.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_deny.type'] = ProtoField.uint16("of14.instruction_bsn_deny.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_deny.len'] = ProtoField.uint16("of14.instruction_bsn_deny.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_deny.experimenter'] = ProtoField.uint32("of14.instruction_bsn_deny.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_deny.subtype'] = ProtoField.uint32("of14.instruction_bsn_deny.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_deny.type'] = ProtoField.uint16("of14.instruction_id_bsn_deny.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_deny.len'] = ProtoField.uint16("of14.instruction_id_bsn_deny.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_deny.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_deny.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_deny.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_deny.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_dhcp_offload.type'] = ProtoField.uint16("of14.instruction_bsn_dhcp_offload.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_dhcp_offload.len'] = ProtoField.uint16("of14.instruction_bsn_dhcp_offload.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_dhcp_offload.experimenter'] = ProtoField.uint32("of14.instruction_bsn_dhcp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_dhcp_offload.subtype'] = ProtoField.uint32("of14.instruction_bsn_dhcp_offload.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_dhcp_offload.type'] = ProtoField.uint16("of14.instruction_id_bsn_dhcp_offload.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_dhcp_offload.len'] = ProtoField.uint16("of14.instruction_id_bsn_dhcp_offload.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_dhcp_offload.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_dhcp_offload.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_dhcp_offload.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_dhcp_offload.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_disable_src_mac_check.type'] = ProtoField.uint16("of14.instruction_bsn_disable_src_mac_check.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_disable_src_mac_check.len'] = ProtoField.uint16("of14.instruction_bsn_disable_src_mac_check.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_disable_src_mac_check.experimenter'] = ProtoField.uint32("of14.instruction_bsn_disable_src_mac_check.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_disable_src_mac_check.subtype'] = ProtoField.uint32("of14.instruction_bsn_disable_src_mac_check.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_src_mac_check.type'] = ProtoField.uint16("of14.instruction_id_bsn_disable_src_mac_check.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_src_mac_check.len'] = ProtoField.uint16("of14.instruction_id_bsn_disable_src_mac_check.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_src_mac_check.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_disable_src_mac_check.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_src_mac_check.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_disable_src_mac_check.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_disable_vlan_counters.type'] = ProtoField.uint16("of14.instruction_bsn_disable_vlan_counters.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_disable_vlan_counters.len'] = ProtoField.uint16("of14.instruction_bsn_disable_vlan_counters.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_disable_vlan_counters.experimenter'] = ProtoField.uint32("of14.instruction_bsn_disable_vlan_counters.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_disable_vlan_counters.subtype'] = ProtoField.uint32("of14.instruction_bsn_disable_vlan_counters.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_vlan_counters.type'] = ProtoField.uint16("of14.instruction_id_bsn_disable_vlan_counters.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_vlan_counters.len'] = ProtoField.uint16("of14.instruction_id_bsn_disable_vlan_counters.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_vlan_counters.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_disable_vlan_counters.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_disable_vlan_counters.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_disable_vlan_counters.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_packet_of_death.type'] = ProtoField.uint16("of14.instruction_bsn_packet_of_death.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_packet_of_death.len'] = ProtoField.uint16("of14.instruction_bsn_packet_of_death.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_packet_of_death.experimenter'] = ProtoField.uint32("of14.instruction_bsn_packet_of_death.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_packet_of_death.subtype'] = ProtoField.uint32("of14.instruction_bsn_packet_of_death.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_packet_of_death.type'] = ProtoField.uint16("of14.instruction_id_bsn_packet_of_death.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_packet_of_death.len'] = ProtoField.uint16("of14.instruction_id_bsn_packet_of_death.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_packet_of_death.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_packet_of_death.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_packet_of_death.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_packet_of_death.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_permit.type'] = ProtoField.uint16("of14.instruction_bsn_permit.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_permit.len'] = ProtoField.uint16("of14.instruction_bsn_permit.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_permit.experimenter'] = ProtoField.uint32("of14.instruction_bsn_permit.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_permit.subtype'] = ProtoField.uint32("of14.instruction_bsn_permit.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_permit.type'] = ProtoField.uint16("of14.instruction_id_bsn_permit.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_permit.len'] = ProtoField.uint16("of14.instruction_id_bsn_permit.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_permit.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_permit.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_permit.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_permit.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_prioritize_pdus.type'] = ProtoField.uint16("of14.instruction_bsn_prioritize_pdus.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_prioritize_pdus.len'] = ProtoField.uint16("of14.instruction_bsn_prioritize_pdus.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_prioritize_pdus.experimenter'] = ProtoField.uint32("of14.instruction_bsn_prioritize_pdus.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_prioritize_pdus.subtype'] = ProtoField.uint32("of14.instruction_bsn_prioritize_pdus.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_prioritize_pdus.type'] = ProtoField.uint16("of14.instruction_id_bsn_prioritize_pdus.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_prioritize_pdus.len'] = ProtoField.uint16("of14.instruction_id_bsn_prioritize_pdus.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_prioritize_pdus.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_prioritize_pdus.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_prioritize_pdus.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_prioritize_pdus.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_require_vlan_xlate.type'] = ProtoField.uint16("of14.instruction_bsn_require_vlan_xlate.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_require_vlan_xlate.len'] = ProtoField.uint16("of14.instruction_bsn_require_vlan_xlate.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_require_vlan_xlate.experimenter'] = ProtoField.uint32("of14.instruction_bsn_require_vlan_xlate.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_require_vlan_xlate.subtype'] = ProtoField.uint32("of14.instruction_bsn_require_vlan_xlate.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_require_vlan_xlate.type'] = ProtoField.uint16("of14.instruction_id_bsn_require_vlan_xlate.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_require_vlan_xlate.len'] = ProtoField.uint16("of14.instruction_id_bsn_require_vlan_xlate.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_require_vlan_xlate.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_require_vlan_xlate.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_require_vlan_xlate.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_require_vlan_xlate.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_bsn_span_destination.type'] = ProtoField.uint16("of14.instruction_bsn_span_destination.type", "type", base.DEC, nil)
+fields['of14.instruction_bsn_span_destination.len'] = ProtoField.uint16("of14.instruction_bsn_span_destination.len", "len", base.DEC, nil)
+fields['of14.instruction_bsn_span_destination.experimenter'] = ProtoField.uint32("of14.instruction_bsn_span_destination.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_bsn_span_destination.subtype'] = ProtoField.uint32("of14.instruction_bsn_span_destination.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_id_bsn_span_destination.type'] = ProtoField.uint16("of14.instruction_id_bsn_span_destination.type", "type", base.DEC, nil)
+fields['of14.instruction_id_bsn_span_destination.len'] = ProtoField.uint16("of14.instruction_id_bsn_span_destination.len", "len", base.DEC, nil)
+fields['of14.instruction_id_bsn_span_destination.experimenter'] = ProtoField.uint32("of14.instruction_id_bsn_span_destination.experimenter", "experimenter", base.DEC, nil)
+fields['of14.instruction_id_bsn_span_destination.subtype'] = ProtoField.uint32("of14.instruction_id_bsn_span_destination.subtype", "subtype", base.DEC, nil)
+fields['of14.instruction_clear_actions.type'] = ProtoField.uint16("of14.instruction_clear_actions.type", "type", base.DEC, nil)
+fields['of14.instruction_clear_actions.len'] = ProtoField.uint16("of14.instruction_clear_actions.len", "len", base.DEC, nil)
+fields['of14.instruction_id_clear_actions.type'] = ProtoField.uint16("of14.instruction_id_clear_actions.type", "type", base.DEC, nil)
+fields['of14.instruction_id_clear_actions.len'] = ProtoField.uint16("of14.instruction_id_clear_actions.len", "len", base.DEC, nil)
 fields['of14.instruction_goto_table.type'] = ProtoField.uint16("of14.instruction_goto_table.type", "type", base.DEC, nil)
 fields['of14.instruction_goto_table.len'] = ProtoField.uint16("of14.instruction_goto_table.len", "len", base.DEC, nil)
-fields['of14.instruction_goto_table.exp_data'] = ProtoField.bytes("of14.instruction_goto_table.exp_data", "exp_data")
+fields['of14.instruction_goto_table.table_id'] = ProtoField.uint8("of14.instruction_goto_table.table_id", "table_id", base.DEC, nil)
 fields['of14.instruction_id_goto_table.type'] = ProtoField.uint16("of14.instruction_id_goto_table.type", "type", base.DEC, nil)
 fields['of14.instruction_id_goto_table.len'] = ProtoField.uint16("of14.instruction_id_goto_table.len", "len", base.DEC, nil)
 fields['of14.instruction_meter.type'] = ProtoField.uint16("of14.instruction_meter.type", "type", base.DEC, nil)
@@ -8606,9 +9806,9 @@
 fields['of14.instruction_write_metadata.metadata_mask'] = ProtoField.uint64("of14.instruction_write_metadata.metadata_mask", "metadata_mask", base.DEC, nil)
 fields['of14.instruction_id_write_metadata.type'] = ProtoField.uint16("of14.instruction_id_write_metadata.type", "type", base.DEC, nil)
 fields['of14.instruction_id_write_metadata.len'] = ProtoField.uint16("of14.instruction_id_write_metadata.len", "len", base.DEC, nil)
-fields['of14.match_v4.type'] = ProtoField.uint16("of14.match_v4.type", "type", base.DEC, nil)
-fields['of14.match_v4.length'] = ProtoField.uint16("of14.match_v4.length", "length", base.DEC, nil)
-fields['of14.match_v4.oxm_list'] = ProtoField.bytes("of14.match_v4.oxm_list", "oxm_list")
+fields['of14.match_v3.type'] = ProtoField.uint32("of14.match_v3.type", "type", base.DEC, enum_v5_ofp_match_type)
+fields['of14.match_v3.length'] = ProtoField.uint16("of14.match_v3.length", "length", base.DEC, nil)
+fields['of14.match_v3.oxm_list'] = ProtoField.bytes("of14.match_v3.oxm_list", "oxm_list")
 fields['of14.meter_band.type'] = ProtoField.uint16("of14.meter_band.type", "type", base.DEC, nil)
 fields['of14.meter_band.len'] = ProtoField.uint16("of14.meter_band.len", "len", base.DEC, nil)
 fields['of14.meter_band_drop.type'] = ProtoField.uint16("of14.meter_band_drop.type", "type", base.DEC, nil)
@@ -8731,6 +9931,86 @@
 fields['of14.oxm_arp_tpa_masked.type_len'] = ProtoField.uint32("of14.oxm_arp_tpa_masked.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_arp_tpa_masked.value'] = ProtoField.uint32("of14.oxm_arp_tpa_masked.value", "value", base.DEC, nil)
 fields['of14.oxm_arp_tpa_masked.value_mask'] = ProtoField.uint32("of14.oxm_arp_tpa_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_egr_port_group_id.type_len'] = ProtoField.uint32("of14.oxm_bsn_egr_port_group_id.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_egr_port_group_id.value'] = ProtoField.uint32("of14.oxm_bsn_egr_port_group_id.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_egr_port_group_id_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_egr_port_group_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_egr_port_group_id_masked.value'] = ProtoField.uint32("of14.oxm_bsn_egr_port_group_id_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_egr_port_group_id_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_egr_port_group_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_in_ports_128.type_len'] = ProtoField.uint32("of14.oxm_bsn_in_ports_128.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_in_ports_128.value'] = ProtoField.bytes("of14.oxm_bsn_in_ports_128.value", "value")
+fields['of14.oxm_bsn_in_ports_128_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_in_ports_128_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_in_ports_128_masked.value'] = ProtoField.bytes("of14.oxm_bsn_in_ports_128_masked.value", "value")
+fields['of14.oxm_bsn_in_ports_128_masked.value_mask'] = ProtoField.bytes("of14.oxm_bsn_in_ports_128_masked.value_mask", "value_mask")
+fields['of14.oxm_bsn_l3_interface_class_id.type_len'] = ProtoField.uint32("of14.oxm_bsn_l3_interface_class_id.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_l3_interface_class_id.value'] = ProtoField.uint32("of14.oxm_bsn_l3_interface_class_id.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_l3_interface_class_id_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_l3_interface_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_l3_interface_class_id_masked.value'] = ProtoField.uint32("of14.oxm_bsn_l3_interface_class_id_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_l3_interface_class_id_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_l3_interface_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_l3_src_class_id.type_len'] = ProtoField.uint32("of14.oxm_bsn_l3_src_class_id.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_l3_src_class_id.value'] = ProtoField.uint32("of14.oxm_bsn_l3_src_class_id.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_l3_src_class_id_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_l3_src_class_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_l3_src_class_id_masked.value'] = ProtoField.uint32("of14.oxm_bsn_l3_src_class_id_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_l3_src_class_id_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_l3_src_class_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_lag_id.type_len'] = ProtoField.uint32("of14.oxm_bsn_lag_id.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_lag_id.value'] = ProtoField.uint32("of14.oxm_bsn_lag_id.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_lag_id_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_lag_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_lag_id_masked.value'] = ProtoField.uint32("of14.oxm_bsn_lag_id_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_lag_id_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_lag_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_tcp_flags.type_len'] = ProtoField.uint32("of14.oxm_bsn_tcp_flags.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_tcp_flags.value'] = ProtoField.uint16("of14.oxm_bsn_tcp_flags.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_tcp_flags_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_tcp_flags_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_tcp_flags_masked.value'] = ProtoField.uint16("of14.oxm_bsn_tcp_flags_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_tcp_flags_masked.value_mask'] = ProtoField.uint16("of14.oxm_bsn_tcp_flags_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf0.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf0.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf0.value'] = ProtoField.uint32("of14.oxm_bsn_udf0.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf0_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf0_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf0_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf0_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf0_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf0_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf1.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf1.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf1.value'] = ProtoField.uint32("of14.oxm_bsn_udf1.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf1_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf1_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf1_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf1_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf1_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf1_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf2.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf2.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf2.value'] = ProtoField.uint32("of14.oxm_bsn_udf2.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf2_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf2_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf2_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf2_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf2_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf2_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf3.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf3.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf3.value'] = ProtoField.uint32("of14.oxm_bsn_udf3.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf3_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf3_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf3_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf3_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf3_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf3_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf4.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf4.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf4.value'] = ProtoField.uint32("of14.oxm_bsn_udf4.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf4_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf4_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf4_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf4_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf4_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf4_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf5.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf5.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf5.value'] = ProtoField.uint32("of14.oxm_bsn_udf5.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf5_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf5_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf5_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf5_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf5_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf5_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf6.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf6.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf6.value'] = ProtoField.uint32("of14.oxm_bsn_udf6.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf6_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf6_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf6_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf6_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf6_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf6_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_udf7.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf7.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf7.value'] = ProtoField.uint32("of14.oxm_bsn_udf7.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf7_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_udf7_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_udf7_masked.value'] = ProtoField.uint32("of14.oxm_bsn_udf7_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_udf7_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_udf7_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_vlan_xlate_port_group_id.type_len'] = ProtoField.uint32("of14.oxm_bsn_vlan_xlate_port_group_id.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_vlan_xlate_port_group_id.value'] = ProtoField.uint32("of14.oxm_bsn_vlan_xlate_port_group_id.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_vlan_xlate_port_group_id_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_vlan_xlate_port_group_id_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_vlan_xlate_port_group_id_masked.value'] = ProtoField.uint32("of14.oxm_bsn_vlan_xlate_port_group_id_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_bsn_vrf.type_len'] = ProtoField.uint32("of14.oxm_bsn_vrf.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_vrf.value'] = ProtoField.uint32("of14.oxm_bsn_vrf.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_vrf_masked.type_len'] = ProtoField.uint32("of14.oxm_bsn_vrf_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_bsn_vrf_masked.value'] = ProtoField.uint32("of14.oxm_bsn_vrf_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_bsn_vrf_masked.value_mask'] = ProtoField.uint32("of14.oxm_bsn_vrf_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of14.oxm_eth_dst.type_len'] = ProtoField.uint32("of14.oxm_eth_dst.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_eth_dst.value'] = ProtoField.ether("of14.oxm_eth_dst.value", "value")
 fields['of14.oxm_eth_dst_masked.type_len'] = ProtoField.uint32("of14.oxm_eth_dst_masked.type_len", "type_len", base.DEC, nil)
@@ -8806,6 +10086,11 @@
 fields['of14.oxm_ipv6_dst_masked.type_len'] = ProtoField.uint32("of14.oxm_ipv6_dst_masked.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_ipv6_dst_masked.value'] = ProtoField.ipv6("of14.oxm_ipv6_dst_masked.value", "value")
 fields['of14.oxm_ipv6_dst_masked.value_mask'] = ProtoField.ipv6("of14.oxm_ipv6_dst_masked.value_mask", "value_mask")
+fields['of14.oxm_ipv6_exthdr.type_len'] = ProtoField.uint32("of14.oxm_ipv6_exthdr.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_ipv6_exthdr.value'] = ProtoField.uint16("of14.oxm_ipv6_exthdr.value", "value", base.DEC, nil)
+fields['of14.oxm_ipv6_exthdr_masked.type_len'] = ProtoField.uint32("of14.oxm_ipv6_exthdr_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_ipv6_exthdr_masked.value'] = ProtoField.uint16("of14.oxm_ipv6_exthdr_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_ipv6_exthdr_masked.value_mask'] = ProtoField.uint16("of14.oxm_ipv6_exthdr_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of14.oxm_ipv6_flabel.type_len'] = ProtoField.uint32("of14.oxm_ipv6_flabel.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_ipv6_flabel.value'] = ProtoField.uint32("of14.oxm_ipv6_flabel.value", "value", base.DEC, nil)
 fields['of14.oxm_ipv6_flabel_masked.type_len'] = ProtoField.uint32("of14.oxm_ipv6_flabel_masked.type_len", "type_len", base.DEC, nil)
@@ -8836,6 +10121,11 @@
 fields['of14.oxm_metadata_masked.type_len'] = ProtoField.uint32("of14.oxm_metadata_masked.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_metadata_masked.value'] = ProtoField.uint64("of14.oxm_metadata_masked.value", "value", base.DEC, nil)
 fields['of14.oxm_metadata_masked.value_mask'] = ProtoField.uint64("of14.oxm_metadata_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_mpls_bos.type_len'] = ProtoField.uint32("of14.oxm_mpls_bos.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_mpls_bos.value'] = ProtoField.uint8("of14.oxm_mpls_bos.value", "value", base.DEC, nil)
+fields['of14.oxm_mpls_bos_masked.type_len'] = ProtoField.uint32("of14.oxm_mpls_bos_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_mpls_bos_masked.value'] = ProtoField.uint8("of14.oxm_mpls_bos_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_mpls_bos_masked.value_mask'] = ProtoField.uint8("of14.oxm_mpls_bos_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of14.oxm_mpls_label.type_len'] = ProtoField.uint32("of14.oxm_mpls_label.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_mpls_label.value'] = ProtoField.uint32("of14.oxm_mpls_label.value", "value", base.DEC, nil)
 fields['of14.oxm_mpls_label_masked.type_len'] = ProtoField.uint32("of14.oxm_mpls_label_masked.type_len", "type_len", base.DEC, nil)
@@ -8846,6 +10136,11 @@
 fields['of14.oxm_mpls_tc_masked.type_len'] = ProtoField.uint32("of14.oxm_mpls_tc_masked.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_mpls_tc_masked.value'] = ProtoField.uint8("of14.oxm_mpls_tc_masked.value", "value", base.DEC, nil)
 fields['of14.oxm_mpls_tc_masked.value_mask'] = ProtoField.uint8("of14.oxm_mpls_tc_masked.value_mask", "value_mask", base.DEC, nil)
+fields['of14.oxm_pbb_uca.type_len'] = ProtoField.uint32("of14.oxm_pbb_uca.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_pbb_uca.value'] = ProtoField.uint8("of14.oxm_pbb_uca.value", "value", base.DEC, nil)
+fields['of14.oxm_pbb_uca_masked.type_len'] = ProtoField.uint32("of14.oxm_pbb_uca_masked.type_len", "type_len", base.DEC, nil)
+fields['of14.oxm_pbb_uca_masked.value'] = ProtoField.uint8("of14.oxm_pbb_uca_masked.value", "value", base.DEC, nil)
+fields['of14.oxm_pbb_uca_masked.value_mask'] = ProtoField.uint8("of14.oxm_pbb_uca_masked.value_mask", "value_mask", base.DEC, nil)
 fields['of14.oxm_sctp_dst.type_len'] = ProtoField.uint32("of14.oxm_sctp_dst.type_len", "type_len", base.DEC, nil)
 fields['of14.oxm_sctp_dst.value'] = ProtoField.uint16("of14.oxm_sctp_dst.value", "value", base.DEC, nil)
 fields['of14.oxm_sctp_dst_masked.type_len'] = ProtoField.uint32("of14.oxm_sctp_dst_masked.type_len", "type_len", base.DEC, nil)
@@ -8922,6 +10217,31 @@
 fields['of14.port_desc.config'] = ProtoField.uint32("of14.port_desc.config", "config", base.HEX, enum_v5_ofp_port_config)
 fields['of14.port_desc.state'] = ProtoField.uint32("of14.port_desc.state", "state", base.HEX, enum_v5_ofp_port_state)
 fields['of14.port_desc.properties'] = ProtoField.bytes("of14.port_desc.properties", "properties")
+fields['of14.port_desc_prop.type'] = ProtoField.uint16("of14.port_desc_prop.type", "type", base.DEC, nil)
+fields['of14.port_desc_prop.length'] = ProtoField.uint16("of14.port_desc_prop.length", "length", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.type'] = ProtoField.uint16("of14.port_desc_prop_ethernet.type", "type", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.length'] = ProtoField.uint16("of14.port_desc_prop_ethernet.length", "length", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.curr'] = ProtoField.uint32("of14.port_desc_prop_ethernet.curr", "curr", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.advertised'] = ProtoField.uint32("of14.port_desc_prop_ethernet.advertised", "advertised", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.supported'] = ProtoField.uint32("of14.port_desc_prop_ethernet.supported", "supported", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.peer'] = ProtoField.uint32("of14.port_desc_prop_ethernet.peer", "peer", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.curr_speed'] = ProtoField.uint32("of14.port_desc_prop_ethernet.curr_speed", "curr_speed", base.DEC, nil)
+fields['of14.port_desc_prop_ethernet.max_speed'] = ProtoField.uint32("of14.port_desc_prop_ethernet.max_speed", "max_speed", base.DEC, nil)
+fields['of14.port_desc_prop_experimenter.type'] = ProtoField.uint16("of14.port_desc_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.port_desc_prop_experimenter.length'] = ProtoField.uint16("of14.port_desc_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.port_desc_prop_experimenter.experimenter'] = ProtoField.uint32("of14.port_desc_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.port_desc_prop_experimenter.exp_type'] = ProtoField.uint32("of14.port_desc_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
+fields['of14.port_desc_prop_optical.type'] = ProtoField.uint16("of14.port_desc_prop_optical.type", "type", base.DEC, nil)
+fields['of14.port_desc_prop_optical.length'] = ProtoField.uint16("of14.port_desc_prop_optical.length", "length", base.DEC, nil)
+fields['of14.port_desc_prop_optical.supported'] = ProtoField.uint32("of14.port_desc_prop_optical.supported", "supported", base.DEC, nil)
+fields['of14.port_desc_prop_optical.tx_min_freq_lmda'] = ProtoField.uint32("of14.port_desc_prop_optical.tx_min_freq_lmda", "tx_min_freq_lmda", base.DEC, nil)
+fields['of14.port_desc_prop_optical.tx_max_freq_lmda'] = ProtoField.uint32("of14.port_desc_prop_optical.tx_max_freq_lmda", "tx_max_freq_lmda", base.DEC, nil)
+fields['of14.port_desc_prop_optical.tx_grid_freq_lmda'] = ProtoField.uint32("of14.port_desc_prop_optical.tx_grid_freq_lmda", "tx_grid_freq_lmda", base.DEC, nil)
+fields['of14.port_desc_prop_optical.rx_min_freq_lmda'] = ProtoField.uint32("of14.port_desc_prop_optical.rx_min_freq_lmda", "rx_min_freq_lmda", base.DEC, nil)
+fields['of14.port_desc_prop_optical.rx_max_freq_lmda'] = ProtoField.uint32("of14.port_desc_prop_optical.rx_max_freq_lmda", "rx_max_freq_lmda", base.DEC, nil)
+fields['of14.port_desc_prop_optical.rx_grid_freq_lmda'] = ProtoField.uint32("of14.port_desc_prop_optical.rx_grid_freq_lmda", "rx_grid_freq_lmda", base.DEC, nil)
+fields['of14.port_desc_prop_optical.tx_pwr_min'] = ProtoField.uint32("of14.port_desc_prop_optical.tx_pwr_min", "tx_pwr_min", base.DEC, nil)
+fields['of14.port_desc_prop_optical.tx_pwr_max'] = ProtoField.uint32("of14.port_desc_prop_optical.tx_pwr_max", "tx_pwr_max", base.DEC, nil)
 fields['of14.port_desc_stats_reply.version'] = ProtoField.uint8("of14.port_desc_stats_reply.version", "version", base.DEC, nil)
 fields['of14.port_desc_stats_reply.type'] = ProtoField.uint32("of14.port_desc_stats_reply.type", "type", base.DEC, enum_v5_ofp_type)
 fields['of14.port_desc_stats_reply.length'] = ProtoField.uint16("of14.port_desc_stats_reply.length", "length", base.DEC, nil)
@@ -8951,10 +10271,26 @@
 fields['of14.port_mod_failed_error_msg.err_type'] = ProtoField.uint16("of14.port_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
 fields['of14.port_mod_failed_error_msg.code'] = ProtoField.uint32("of14.port_mod_failed_error_msg.code", "code", base.DEC, enum_v5_ofp_port_mod_failed_code)
 fields['of14.port_mod_failed_error_msg.data'] = ProtoField.bytes("of14.port_mod_failed_error_msg.data", "data")
-fields['of14.port_mod_prop_header.type'] = ProtoField.uint16("of14.port_mod_prop_header.type", "type", base.DEC, nil)
-fields['of14.port_mod_prop_header.length'] = ProtoField.uint16("of14.port_mod_prop_header.length", "length", base.DEC, nil)
+fields['of14.port_mod_prop.type'] = ProtoField.uint16("of14.port_mod_prop.type", "type", base.DEC, nil)
+fields['of14.port_mod_prop.length'] = ProtoField.uint16("of14.port_mod_prop.length", "length", base.DEC, nil)
+fields['of14.port_mod_prop_ethernet.type'] = ProtoField.uint16("of14.port_mod_prop_ethernet.type", "type", base.DEC, nil)
+fields['of14.port_mod_prop_ethernet.length'] = ProtoField.uint16("of14.port_mod_prop_ethernet.length", "length", base.DEC, nil)
+fields['of14.port_mod_prop_ethernet.advertise'] = ProtoField.uint32("of14.port_mod_prop_ethernet.advertise", "advertise", base.DEC, nil)
+fields['of14.port_mod_prop_experimenter.type'] = ProtoField.uint16("of14.port_mod_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.port_mod_prop_experimenter.length'] = ProtoField.uint16("of14.port_mod_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.port_mod_prop_experimenter.experimenter'] = ProtoField.uint32("of14.port_mod_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.port_mod_prop_experimenter.exp_type'] = ProtoField.uint32("of14.port_mod_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
+fields['of14.port_mod_prop_optical.type'] = ProtoField.uint16("of14.port_mod_prop_optical.type", "type", base.DEC, nil)
+fields['of14.port_mod_prop_optical.length'] = ProtoField.uint16("of14.port_mod_prop_optical.length", "length", base.DEC, nil)
+fields['of14.port_mod_prop_optical.configure'] = ProtoField.uint32("of14.port_mod_prop_optical.configure", "configure", base.DEC, nil)
+fields['of14.port_mod_prop_optical.freq_ldma'] = ProtoField.uint32("of14.port_mod_prop_optical.freq_ldma", "freq_ldma", base.DEC, nil)
+fields['of14.port_mod_prop_optical.fl_offset'] = ProtoField.uint32("of14.port_mod_prop_optical.fl_offset", "fl_offset", base.DEC, nil)
+fields['of14.port_mod_prop_optical.grid_span'] = ProtoField.uint32("of14.port_mod_prop_optical.grid_span", "grid_span", base.DEC, nil)
+fields['of14.port_mod_prop_optical.tx_pwr'] = ProtoField.uint32("of14.port_mod_prop_optical.tx_pwr", "tx_pwr", base.DEC, nil)
 fields['of14.port_stats_entry.length'] = ProtoField.uint16("of14.port_stats_entry.length", "length", base.DEC, nil)
 fields['of14.port_stats_entry.port_no'] = ProtoField.uint32("of14.port_stats_entry.port_no", "port_no", base.DEC, nil)
+fields['of14.port_stats_entry.duration_sec'] = ProtoField.uint32("of14.port_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
+fields['of14.port_stats_entry.duration_nsec'] = ProtoField.uint32("of14.port_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
 fields['of14.port_stats_entry.rx_packets'] = ProtoField.uint64("of14.port_stats_entry.rx_packets", "rx_packets", base.DEC, nil)
 fields['of14.port_stats_entry.tx_packets'] = ProtoField.uint64("of14.port_stats_entry.tx_packets", "tx_packets", base.DEC, nil)
 fields['of14.port_stats_entry.rx_bytes'] = ProtoField.uint64("of14.port_stats_entry.rx_bytes", "rx_bytes", base.DEC, nil)
@@ -8963,9 +10299,33 @@
 fields['of14.port_stats_entry.tx_dropped'] = ProtoField.uint64("of14.port_stats_entry.tx_dropped", "tx_dropped", base.DEC, nil)
 fields['of14.port_stats_entry.rx_errors'] = ProtoField.uint64("of14.port_stats_entry.rx_errors", "rx_errors", base.DEC, nil)
 fields['of14.port_stats_entry.tx_errors'] = ProtoField.uint64("of14.port_stats_entry.tx_errors", "tx_errors", base.DEC, nil)
-fields['of14.port_stats_entry.duration_sec'] = ProtoField.uint32("of14.port_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
-fields['of14.port_stats_entry.duration_nsec'] = ProtoField.uint32("of14.port_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
 fields['of14.port_stats_entry.properties'] = ProtoField.bytes("of14.port_stats_entry.properties", "properties")
+fields['of14.port_stats_prop.type'] = ProtoField.uint16("of14.port_stats_prop.type", "type", base.DEC, nil)
+fields['of14.port_stats_prop.length'] = ProtoField.uint16("of14.port_stats_prop.length", "length", base.DEC, nil)
+fields['of14.port_stats_prop_ethernet.type'] = ProtoField.uint16("of14.port_stats_prop_ethernet.type", "type", base.DEC, nil)
+fields['of14.port_stats_prop_ethernet.length'] = ProtoField.uint16("of14.port_stats_prop_ethernet.length", "length", base.DEC, nil)
+fields['of14.port_stats_prop_ethernet.rx_frame_err'] = ProtoField.uint64("of14.port_stats_prop_ethernet.rx_frame_err", "rx_frame_err", base.DEC, nil)
+fields['of14.port_stats_prop_ethernet.rx_over_err'] = ProtoField.uint64("of14.port_stats_prop_ethernet.rx_over_err", "rx_over_err", base.DEC, nil)
+fields['of14.port_stats_prop_ethernet.rx_crc_err'] = ProtoField.uint64("of14.port_stats_prop_ethernet.rx_crc_err", "rx_crc_err", base.DEC, nil)
+fields['of14.port_stats_prop_ethernet.collisions'] = ProtoField.uint64("of14.port_stats_prop_ethernet.collisions", "collisions", base.DEC, nil)
+fields['of14.port_stats_prop_experimenter.type'] = ProtoField.uint16("of14.port_stats_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.port_stats_prop_experimenter.length'] = ProtoField.uint16("of14.port_stats_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.port_stats_prop_experimenter.experimenter'] = ProtoField.uint32("of14.port_stats_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.port_stats_prop_experimenter.exp_type'] = ProtoField.uint32("of14.port_stats_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
+fields['of14.port_stats_prop_experimenter.experimenter_data'] = ProtoField.bytes("of14.port_stats_prop_experimenter.experimenter_data", "experimenter_data")
+fields['of14.port_stats_prop_optical.type'] = ProtoField.uint16("of14.port_stats_prop_optical.type", "type", base.DEC, nil)
+fields['of14.port_stats_prop_optical.length'] = ProtoField.uint16("of14.port_stats_prop_optical.length", "length", base.DEC, nil)
+fields['of14.port_stats_prop_optical.flags'] = ProtoField.uint32("of14.port_stats_prop_optical.flags", "flags", base.DEC, nil)
+fields['of14.port_stats_prop_optical.tx_freq_lmda'] = ProtoField.uint32("of14.port_stats_prop_optical.tx_freq_lmda", "tx_freq_lmda", base.DEC, nil)
+fields['of14.port_stats_prop_optical.tx_offset'] = ProtoField.uint32("of14.port_stats_prop_optical.tx_offset", "tx_offset", base.DEC, nil)
+fields['of14.port_stats_prop_optical.tx_grid_span'] = ProtoField.uint32("of14.port_stats_prop_optical.tx_grid_span", "tx_grid_span", base.DEC, nil)
+fields['of14.port_stats_prop_optical.rx_freq_lmda'] = ProtoField.uint32("of14.port_stats_prop_optical.rx_freq_lmda", "rx_freq_lmda", base.DEC, nil)
+fields['of14.port_stats_prop_optical.rx_offset'] = ProtoField.uint32("of14.port_stats_prop_optical.rx_offset", "rx_offset", base.DEC, nil)
+fields['of14.port_stats_prop_optical.rx_grid_span'] = ProtoField.uint32("of14.port_stats_prop_optical.rx_grid_span", "rx_grid_span", base.DEC, nil)
+fields['of14.port_stats_prop_optical.tx_pwr'] = ProtoField.uint16("of14.port_stats_prop_optical.tx_pwr", "tx_pwr", base.DEC, nil)
+fields['of14.port_stats_prop_optical.rx_pwr'] = ProtoField.uint16("of14.port_stats_prop_optical.rx_pwr", "rx_pwr", base.DEC, nil)
+fields['of14.port_stats_prop_optical.bias_current'] = ProtoField.uint16("of14.port_stats_prop_optical.bias_current", "bias_current", base.DEC, nil)
+fields['of14.port_stats_prop_optical.temperature'] = ProtoField.uint16("of14.port_stats_prop_optical.temperature", "temperature", base.DEC, nil)
 fields['of14.port_stats_reply.version'] = ProtoField.uint8("of14.port_stats_reply.version", "version", base.DEC, nil)
 fields['of14.port_stats_reply.type'] = ProtoField.uint32("of14.port_stats_reply.type", "type", base.DEC, enum_v5_ofp_type)
 fields['of14.port_stats_reply.length'] = ProtoField.uint16("of14.port_stats_reply.length", "length", base.DEC, nil)
@@ -8986,17 +10346,35 @@
 fields['of14.port_status.xid'] = ProtoField.uint32("of14.port_status.xid", "xid", base.DEC, nil)
 fields['of14.port_status.reason'] = ProtoField.uint32("of14.port_status.reason", "reason", base.DEC, enum_v5_ofp_port_reason)
 fields['of14.port_status.desc'] = ProtoField.stringz("of14.port_status.desc", "desc")
-fields['of14.queue_get_config_reply.version'] = ProtoField.uint8("of14.queue_get_config_reply.version", "version", base.DEC, nil)
-fields['of14.queue_get_config_reply.type'] = ProtoField.uint8("of14.queue_get_config_reply.type", "type", base.DEC, nil)
-fields['of14.queue_get_config_reply.length'] = ProtoField.uint16("of14.queue_get_config_reply.length", "length", base.DEC, nil)
-fields['of14.queue_get_config_reply.xid'] = ProtoField.uint32("of14.queue_get_config_reply.xid", "xid", base.DEC, nil)
-fields['of14.queue_get_config_reply.port'] = ProtoField.uint32("of14.queue_get_config_reply.port", "port", base.DEC, nil)
-fields['of14.queue_get_config_reply.queues'] = ProtoField.bytes("of14.queue_get_config_reply.queues", "queues")
-fields['of14.queue_get_config_request.version'] = ProtoField.uint8("of14.queue_get_config_request.version", "version", base.DEC, nil)
-fields['of14.queue_get_config_request.type'] = ProtoField.uint8("of14.queue_get_config_request.type", "type", base.DEC, nil)
-fields['of14.queue_get_config_request.length'] = ProtoField.uint16("of14.queue_get_config_request.length", "length", base.DEC, nil)
-fields['of14.queue_get_config_request.xid'] = ProtoField.uint32("of14.queue_get_config_request.xid", "xid", base.DEC, nil)
-fields['of14.queue_get_config_request.port'] = ProtoField.uint32("of14.queue_get_config_request.port", "port", base.DEC, nil)
+fields['of14.queue_desc.port_no'] = ProtoField.uint32("of14.queue_desc.port_no", "port_no", base.DEC, nil)
+fields['of14.queue_desc.queue_id'] = ProtoField.uint32("of14.queue_desc.queue_id", "queue_id", base.DEC, nil)
+fields['of14.queue_desc.length'] = ProtoField.uint16("of14.queue_desc.length", "length", base.DEC, nil)
+fields['of14.queue_desc.properties'] = ProtoField.bytes("of14.queue_desc.properties", "properties")
+fields['of14.queue_desc_prop.type'] = ProtoField.uint16("of14.queue_desc_prop.type", "type", base.DEC, nil)
+fields['of14.queue_desc_prop.length'] = ProtoField.uint16("of14.queue_desc_prop.length", "length", base.DEC, nil)
+fields['of14.queue_desc_prop_experimenter.type'] = ProtoField.uint16("of14.queue_desc_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.queue_desc_prop_experimenter.length'] = ProtoField.uint16("of14.queue_desc_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.queue_desc_prop_experimenter.experimenter'] = ProtoField.uint32("of14.queue_desc_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.queue_desc_prop_experimenter.exp_type'] = ProtoField.uint32("of14.queue_desc_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
+fields['of14.queue_desc_prop_max_rate.type'] = ProtoField.uint16("of14.queue_desc_prop_max_rate.type", "type", base.DEC, nil)
+fields['of14.queue_desc_prop_max_rate.length'] = ProtoField.uint16("of14.queue_desc_prop_max_rate.length", "length", base.DEC, nil)
+fields['of14.queue_desc_prop_max_rate.rate'] = ProtoField.uint16("of14.queue_desc_prop_max_rate.rate", "rate", base.DEC, nil)
+fields['of14.queue_desc_prop_min_rate.type'] = ProtoField.uint16("of14.queue_desc_prop_min_rate.type", "type", base.DEC, nil)
+fields['of14.queue_desc_prop_min_rate.length'] = ProtoField.uint16("of14.queue_desc_prop_min_rate.length", "length", base.DEC, nil)
+fields['of14.queue_desc_prop_min_rate.rate'] = ProtoField.uint16("of14.queue_desc_prop_min_rate.rate", "rate", base.DEC, nil)
+fields['of14.queue_desc_stats_reply.version'] = ProtoField.uint8("of14.queue_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of14.queue_desc_stats_reply.type'] = ProtoField.uint8("of14.queue_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of14.queue_desc_stats_reply.length'] = ProtoField.uint16("of14.queue_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of14.queue_desc_stats_reply.xid'] = ProtoField.uint32("of14.queue_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.queue_desc_stats_reply.stats_type'] = ProtoField.uint16("of14.queue_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.queue_desc_stats_reply.flags'] = ProtoField.uint32("of14.queue_desc_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.queue_desc_stats_reply.entries'] = ProtoField.bytes("of14.queue_desc_stats_reply.entries", "entries")
+fields['of14.queue_desc_stats_request.version'] = ProtoField.uint8("of14.queue_desc_stats_request.version", "version", base.DEC, nil)
+fields['of14.queue_desc_stats_request.type'] = ProtoField.uint8("of14.queue_desc_stats_request.type", "type", base.DEC, nil)
+fields['of14.queue_desc_stats_request.length'] = ProtoField.uint16("of14.queue_desc_stats_request.length", "length", base.DEC, nil)
+fields['of14.queue_desc_stats_request.xid'] = ProtoField.uint32("of14.queue_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.queue_desc_stats_request.stats_type'] = ProtoField.uint16("of14.queue_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.queue_desc_stats_request.flags'] = ProtoField.uint32("of14.queue_desc_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
 fields['of14.queue_op_failed_error_msg.version'] = ProtoField.uint8("of14.queue_op_failed_error_msg.version", "version", base.DEC, nil)
 fields['of14.queue_op_failed_error_msg.type'] = ProtoField.uint8("of14.queue_op_failed_error_msg.type", "type", base.DEC, nil)
 fields['of14.queue_op_failed_error_msg.length'] = ProtoField.uint16("of14.queue_op_failed_error_msg.length", "length", base.DEC, nil)
@@ -9025,8 +10403,12 @@
 fields['of14.queue_stats_entry.duration_sec'] = ProtoField.uint32("of14.queue_stats_entry.duration_sec", "duration_sec", base.DEC, nil)
 fields['of14.queue_stats_entry.duration_nsec'] = ProtoField.uint32("of14.queue_stats_entry.duration_nsec", "duration_nsec", base.DEC, nil)
 fields['of14.queue_stats_entry.properties'] = ProtoField.bytes("of14.queue_stats_entry.properties", "properties")
-fields['of14.queue_stats_prop_header.type'] = ProtoField.uint16("of14.queue_stats_prop_header.type", "type", base.DEC, nil)
-fields['of14.queue_stats_prop_header.length'] = ProtoField.uint16("of14.queue_stats_prop_header.length", "length", base.DEC, nil)
+fields['of14.queue_stats_prop.type'] = ProtoField.uint16("of14.queue_stats_prop.type", "type", base.DEC, nil)
+fields['of14.queue_stats_prop.length'] = ProtoField.uint16("of14.queue_stats_prop.length", "length", base.DEC, nil)
+fields['of14.queue_stats_prop_experimenter.type'] = ProtoField.uint16("of14.queue_stats_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.queue_stats_prop_experimenter.length'] = ProtoField.uint16("of14.queue_stats_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.queue_stats_prop_experimenter.experimenter'] = ProtoField.uint32("of14.queue_stats_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.queue_stats_prop_experimenter.exp_type'] = ProtoField.uint32("of14.queue_stats_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
 fields['of14.queue_stats_reply.version'] = ProtoField.uint8("of14.queue_stats_reply.version", "version", base.DEC, nil)
 fields['of14.queue_stats_reply.type'] = ProtoField.uint32("of14.queue_stats_reply.type", "type", base.DEC, enum_v5_ofp_type)
 fields['of14.queue_stats_reply.length'] = ProtoField.uint16("of14.queue_stats_reply.length", "length", base.DEC, nil)
@@ -9042,6 +10424,18 @@
 fields['of14.queue_stats_request.flags'] = ProtoField.uint32("of14.queue_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
 fields['of14.queue_stats_request.port_no'] = ProtoField.uint32("of14.queue_stats_request.port_no", "port_no", base.DEC, nil)
 fields['of14.queue_stats_request.queue_id'] = ProtoField.uint32("of14.queue_stats_request.queue_id", "queue_id", base.DEC, nil)
+fields['of14.requestforward.version'] = ProtoField.uint8("of14.requestforward.version", "version", base.DEC, nil)
+fields['of14.requestforward.type'] = ProtoField.uint8("of14.requestforward.type", "type", base.DEC, nil)
+fields['of14.requestforward.length'] = ProtoField.uint16("of14.requestforward.length", "length", base.DEC, nil)
+fields['of14.requestforward.xid'] = ProtoField.uint32("of14.requestforward.xid", "xid", base.DEC, nil)
+fields['of14.requestforward.role'] = ProtoField.uint32("of14.requestforward.role", "role", base.DEC, nil)
+fields['of14.requestforward.data'] = ProtoField.bytes("of14.requestforward.data", "data")
+fields['of14.role_prop.type'] = ProtoField.uint16("of14.role_prop.type", "type", base.DEC, nil)
+fields['of14.role_prop.length'] = ProtoField.uint16("of14.role_prop.length", "length", base.DEC, nil)
+fields['of14.role_prop_experimenter.type'] = ProtoField.uint16("of14.role_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.role_prop_experimenter.length'] = ProtoField.uint16("of14.role_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.role_prop_experimenter.experimenter'] = ProtoField.uint32("of14.role_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.role_prop_experimenter.exp_type'] = ProtoField.uint32("of14.role_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
 fields['of14.role_reply.version'] = ProtoField.uint8("of14.role_reply.version", "version", base.DEC, nil)
 fields['of14.role_reply.type'] = ProtoField.uint8("of14.role_reply.type", "type", base.DEC, nil)
 fields['of14.role_reply.length'] = ProtoField.uint16("of14.role_reply.length", "length", base.DEC, nil)
@@ -9061,6 +10455,14 @@
 fields['of14.role_request_failed_error_msg.err_type'] = ProtoField.uint16("of14.role_request_failed_error_msg.err_type", "err_type", base.DEC, nil)
 fields['of14.role_request_failed_error_msg.code'] = ProtoField.uint32("of14.role_request_failed_error_msg.code", "code", base.DEC, enum_v5_ofp_role_request_failed_code)
 fields['of14.role_request_failed_error_msg.data'] = ProtoField.bytes("of14.role_request_failed_error_msg.data", "data")
+fields['of14.role_status.version'] = ProtoField.uint8("of14.role_status.version", "version", base.DEC, nil)
+fields['of14.role_status.type'] = ProtoField.uint8("of14.role_status.type", "type", base.DEC, nil)
+fields['of14.role_status.length'] = ProtoField.uint16("of14.role_status.length", "length", base.DEC, nil)
+fields['of14.role_status.xid'] = ProtoField.uint32("of14.role_status.xid", "xid", base.DEC, nil)
+fields['of14.role_status.role'] = ProtoField.uint32("of14.role_status.role", "role", base.DEC, nil)
+fields['of14.role_status.reason'] = ProtoField.uint32("of14.role_status.reason", "reason", base.DEC, enum_v5_ofp_controller_role_reason)
+fields['of14.role_status.generation_id'] = ProtoField.uint64("of14.role_status.generation_id", "generation_id", base.DEC, nil)
+fields['of14.role_status.properties'] = ProtoField.bytes("of14.role_status.properties", "properties")
 fields['of14.set_config.version'] = ProtoField.uint8("of14.set_config.version", "version", base.DEC, nil)
 fields['of14.set_config.type'] = ProtoField.uint8("of14.set_config.type", "type", base.DEC, nil)
 fields['of14.set_config.length'] = ProtoField.uint16("of14.set_config.length", "length", base.DEC, nil)
@@ -9074,6 +10476,22 @@
 fields['of14.switch_config_failed_error_msg.err_type'] = ProtoField.uint16("of14.switch_config_failed_error_msg.err_type", "err_type", base.DEC, nil)
 fields['of14.switch_config_failed_error_msg.code'] = ProtoField.uint32("of14.switch_config_failed_error_msg.code", "code", base.DEC, enum_v5_ofp_switch_config_failed_code)
 fields['of14.switch_config_failed_error_msg.data'] = ProtoField.bytes("of14.switch_config_failed_error_msg.data", "data")
+fields['of14.table_desc.length'] = ProtoField.uint16("of14.table_desc.length", "length", base.DEC, nil)
+fields['of14.table_desc.table_id'] = ProtoField.uint8("of14.table_desc.table_id", "table_id", base.DEC, nil)
+fields['of14.table_desc.config'] = ProtoField.uint32("of14.table_desc.config", "config", base.HEX, enum_v5_ofp_table_config)
+fields['of14.table_desc_stats_reply.version'] = ProtoField.uint8("of14.table_desc_stats_reply.version", "version", base.DEC, nil)
+fields['of14.table_desc_stats_reply.type'] = ProtoField.uint8("of14.table_desc_stats_reply.type", "type", base.DEC, nil)
+fields['of14.table_desc_stats_reply.length'] = ProtoField.uint16("of14.table_desc_stats_reply.length", "length", base.DEC, nil)
+fields['of14.table_desc_stats_reply.xid'] = ProtoField.uint32("of14.table_desc_stats_reply.xid", "xid", base.DEC, nil)
+fields['of14.table_desc_stats_reply.stats_type'] = ProtoField.uint16("of14.table_desc_stats_reply.stats_type", "stats_type", base.DEC, nil)
+fields['of14.table_desc_stats_reply.flags'] = ProtoField.uint32("of14.table_desc_stats_reply.flags", "flags", base.HEX, enum_v5_ofp_stats_reply_flags)
+fields['of14.table_desc_stats_reply.entries'] = ProtoField.bytes("of14.table_desc_stats_reply.entries", "entries")
+fields['of14.table_desc_stats_request.version'] = ProtoField.uint8("of14.table_desc_stats_request.version", "version", base.DEC, nil)
+fields['of14.table_desc_stats_request.type'] = ProtoField.uint8("of14.table_desc_stats_request.type", "type", base.DEC, nil)
+fields['of14.table_desc_stats_request.length'] = ProtoField.uint16("of14.table_desc_stats_request.length", "length", base.DEC, nil)
+fields['of14.table_desc_stats_request.xid'] = ProtoField.uint32("of14.table_desc_stats_request.xid", "xid", base.DEC, nil)
+fields['of14.table_desc_stats_request.stats_type'] = ProtoField.uint16("of14.table_desc_stats_request.stats_type", "stats_type", base.DEC, nil)
+fields['of14.table_desc_stats_request.flags'] = ProtoField.uint32("of14.table_desc_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
 fields['of14.table_feature_prop.type'] = ProtoField.uint16("of14.table_feature_prop.type", "type", base.DEC, nil)
 fields['of14.table_feature_prop.length'] = ProtoField.uint16("of14.table_feature_prop.length", "length", base.DEC, nil)
 fields['of14.table_feature_prop_apply_actions.type'] = ProtoField.uint16("of14.table_feature_prop_apply_actions.type", "type", base.DEC, nil)
@@ -9113,6 +10531,9 @@
 fields['of14.table_feature_prop_next_tables_miss.type'] = ProtoField.uint16("of14.table_feature_prop_next_tables_miss.type", "type", base.DEC, nil)
 fields['of14.table_feature_prop_next_tables_miss.length'] = ProtoField.uint16("of14.table_feature_prop_next_tables_miss.length", "length", base.DEC, nil)
 fields['of14.table_feature_prop_next_tables_miss.next_table_ids'] = ProtoField.bytes("of14.table_feature_prop_next_tables_miss.next_table_ids", "next_table_ids")
+fields['of14.table_feature_prop_table_sync_from.type'] = ProtoField.uint16("of14.table_feature_prop_table_sync_from.type", "type", base.DEC, nil)
+fields['of14.table_feature_prop_table_sync_from.length'] = ProtoField.uint16("of14.table_feature_prop_table_sync_from.length", "length", base.DEC, nil)
+fields['of14.table_feature_prop_table_sync_from.table_ids'] = ProtoField.bytes("of14.table_feature_prop_table_sync_from.table_ids", "table_ids")
 fields['of14.table_feature_prop_wildcards.type'] = ProtoField.uint16("of14.table_feature_prop_wildcards.type", "type", base.DEC, nil)
 fields['of14.table_feature_prop_wildcards.length'] = ProtoField.uint16("of14.table_feature_prop_wildcards.length", "length", base.DEC, nil)
 fields['of14.table_feature_prop_wildcards.oxm_ids'] = ProtoField.bytes("of14.table_feature_prop_wildcards.oxm_ids", "oxm_ids")
@@ -9171,6 +10592,20 @@
 fields['of14.table_mod_failed_error_msg.err_type'] = ProtoField.uint16("of14.table_mod_failed_error_msg.err_type", "err_type", base.DEC, nil)
 fields['of14.table_mod_failed_error_msg.code'] = ProtoField.uint32("of14.table_mod_failed_error_msg.code", "code", base.DEC, enum_v5_ofp_table_mod_failed_code)
 fields['of14.table_mod_failed_error_msg.data'] = ProtoField.bytes("of14.table_mod_failed_error_msg.data", "data")
+fields['of14.table_mod_prop.type'] = ProtoField.uint16("of14.table_mod_prop.type", "type", base.DEC, nil)
+fields['of14.table_mod_prop.length'] = ProtoField.uint16("of14.table_mod_prop.length", "length", base.DEC, nil)
+fields['of14.table_mod_prop_eviction.type'] = ProtoField.uint16("of14.table_mod_prop_eviction.type", "type", base.DEC, nil)
+fields['of14.table_mod_prop_eviction.length'] = ProtoField.uint16("of14.table_mod_prop_eviction.length", "length", base.DEC, nil)
+fields['of14.table_mod_prop_eviction.flags'] = ProtoField.uint32("of14.table_mod_prop_eviction.flags", "flags", base.HEX, enum_v5_ofp_table_mod_prop_eviction_flag)
+fields['of14.table_mod_prop_experimenter.type'] = ProtoField.uint16("of14.table_mod_prop_experimenter.type", "type", base.DEC, nil)
+fields['of14.table_mod_prop_experimenter.length'] = ProtoField.uint16("of14.table_mod_prop_experimenter.length", "length", base.DEC, nil)
+fields['of14.table_mod_prop_experimenter.experimenter'] = ProtoField.uint32("of14.table_mod_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
+fields['of14.table_mod_prop_experimenter.exp_type'] = ProtoField.uint32("of14.table_mod_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
+fields['of14.table_mod_prop_vacancy.type'] = ProtoField.uint16("of14.table_mod_prop_vacancy.type", "type", base.DEC, nil)
+fields['of14.table_mod_prop_vacancy.length'] = ProtoField.uint16("of14.table_mod_prop_vacancy.length", "length", base.DEC, nil)
+fields['of14.table_mod_prop_vacancy.vacancy_down'] = ProtoField.uint8("of14.table_mod_prop_vacancy.vacancy_down", "vacancy_down", base.DEC, nil)
+fields['of14.table_mod_prop_vacancy.vacancy_up'] = ProtoField.uint8("of14.table_mod_prop_vacancy.vacancy_up", "vacancy_up", base.DEC, nil)
+fields['of14.table_mod_prop_vacancy.vacancy'] = ProtoField.uint8("of14.table_mod_prop_vacancy.vacancy", "vacancy", base.DEC, nil)
 fields['of14.table_stats_entry.table_id'] = ProtoField.uint8("of14.table_stats_entry.table_id", "table_id", base.DEC, nil)
 fields['of14.table_stats_entry.active_count'] = ProtoField.uint32("of14.table_stats_entry.active_count", "active_count", base.DEC, nil)
 fields['of14.table_stats_entry.lookup_count'] = ProtoField.uint64("of14.table_stats_entry.lookup_count", "lookup_count", base.DEC, nil)
@@ -9188,39 +10623,16 @@
 fields['of14.table_stats_request.xid'] = ProtoField.uint32("of14.table_stats_request.xid", "xid", base.DEC, nil)
 fields['of14.table_stats_request.stats_type'] = ProtoField.uint32("of14.table_stats_request.stats_type", "stats_type", base.DEC, enum_v5_ofp_stats_type)
 fields['of14.table_stats_request.flags'] = ProtoField.uint32("of14.table_stats_request.flags", "flags", base.HEX, enum_v5_ofp_stats_request_flags)
+fields['of14.table_status.version'] = ProtoField.uint8("of14.table_status.version", "version", base.DEC, nil)
+fields['of14.table_status.type'] = ProtoField.uint8("of14.table_status.type", "type", base.DEC, nil)
+fields['of14.table_status.length'] = ProtoField.uint16("of14.table_status.length", "length", base.DEC, nil)
+fields['of14.table_status.xid'] = ProtoField.uint32("of14.table_status.xid", "xid", base.DEC, nil)
+fields['of14.table_status.role'] = ProtoField.uint32("of14.table_status.role", "role", base.DEC, nil)
+fields['of14.table_status.reason'] = ProtoField.uint32("of14.table_status.reason", "reason", base.DEC, enum_v5_ofp_table_reason)
+fields['of14.table_status.table'] = ProtoField.bytes("of14.table_status.table", "table")
 fields['of14.uint32.value'] = ProtoField.uint32("of14.uint32.value", "value", base.DEC, nil)
 fields['of14.uint64.value'] = ProtoField.uint64("of14.uint64.value", "value", base.DEC, nil)
 fields['of14.uint8.value'] = ProtoField.uint8("of14.uint8.value", "value", base.DEC, nil)
-fields['of14._port_desc_prop_header.type'] = ProtoField.uint16("of14._port_desc_prop_header.type", "type", base.DEC, nil)
-fields['of14._port_desc_prop_header.length'] = ProtoField.uint16("of14._port_desc_prop_header.length", "length", base.DEC, nil)
-fields['of14._port_stats_prop_ethernet.type'] = ProtoField.uint16("of14._port_stats_prop_ethernet.type", "type", base.DEC, nil)
-fields['of14._port_stats_prop_ethernet.length'] = ProtoField.uint16("of14._port_stats_prop_ethernet.length", "length", base.DEC, nil)
-fields['of14._port_stats_prop_ethernet.rx_frame_err'] = ProtoField.uint64("of14._port_stats_prop_ethernet.rx_frame_err", "rx_frame_err", base.DEC, nil)
-fields['of14._port_stats_prop_ethernet.rx_over_err'] = ProtoField.uint64("of14._port_stats_prop_ethernet.rx_over_err", "rx_over_err", base.DEC, nil)
-fields['of14._port_stats_prop_ethernet.rx_crc_err'] = ProtoField.uint64("of14._port_stats_prop_ethernet.rx_crc_err", "rx_crc_err", base.DEC, nil)
-fields['of14._port_stats_prop_ethernet.collisions'] = ProtoField.uint64("of14._port_stats_prop_ethernet.collisions", "collisions", base.DEC, nil)
-fields['of14._port_stats_prop_experimenter.type'] = ProtoField.uint16("of14._port_stats_prop_experimenter.type", "type", base.DEC, nil)
-fields['of14._port_stats_prop_experimenter.length'] = ProtoField.uint16("of14._port_stats_prop_experimenter.length", "length", base.DEC, nil)
-fields['of14._port_stats_prop_experimenter.experimenter'] = ProtoField.uint32("of14._port_stats_prop_experimenter.experimenter", "experimenter", base.DEC, nil)
-fields['of14._port_stats_prop_experimenter.exp_type'] = ProtoField.uint32("of14._port_stats_prop_experimenter.exp_type", "exp_type", base.DEC, nil)
-fields['of14._port_stats_prop_experimenter.experimenter_data'] = ProtoField.bytes("of14._port_stats_prop_experimenter.experimenter_data", "experimenter_data")
-fields['of14._port_stats_prop_header.type'] = ProtoField.uint16("of14._port_stats_prop_header.type", "type", base.DEC, nil)
-fields['of14._port_stats_prop_header.length'] = ProtoField.uint16("of14._port_stats_prop_header.length", "length", base.DEC, nil)
-fields['of14._port_stats_prop_optical.type'] = ProtoField.uint16("of14._port_stats_prop_optical.type", "type", base.DEC, nil)
-fields['of14._port_stats_prop_optical.length'] = ProtoField.uint16("of14._port_stats_prop_optical.length", "length", base.DEC, nil)
-fields['of14._port_stats_prop_optical.flags'] = ProtoField.uint32("of14._port_stats_prop_optical.flags", "flags", base.DEC, nil)
-fields['of14._port_stats_prop_optical.tx_freq_lmda'] = ProtoField.uint32("of14._port_stats_prop_optical.tx_freq_lmda", "tx_freq_lmda", base.DEC, nil)
-fields['of14._port_stats_prop_optical.tx_offset'] = ProtoField.uint32("of14._port_stats_prop_optical.tx_offset", "tx_offset", base.DEC, nil)
-fields['of14._port_stats_prop_optical.tx_grid_span'] = ProtoField.uint32("of14._port_stats_prop_optical.tx_grid_span", "tx_grid_span", base.DEC, nil)
-fields['of14._port_stats_prop_optical.rx_freq_lmda'] = ProtoField.uint32("of14._port_stats_prop_optical.rx_freq_lmda", "rx_freq_lmda", base.DEC, nil)
-fields['of14._port_stats_prop_optical.rx_offset'] = ProtoField.uint32("of14._port_stats_prop_optical.rx_offset", "rx_offset", base.DEC, nil)
-fields['of14._port_stats_prop_optical.rx_grid_span'] = ProtoField.uint32("of14._port_stats_prop_optical.rx_grid_span", "rx_grid_span", base.DEC, nil)
-fields['of14._port_stats_prop_optical.tx_pwr'] = ProtoField.uint16("of14._port_stats_prop_optical.tx_pwr", "tx_pwr", base.DEC, nil)
-fields['of14._port_stats_prop_optical.rx_pwr'] = ProtoField.uint16("of14._port_stats_prop_optical.rx_pwr", "rx_pwr", base.DEC, nil)
-fields['of14._port_stats_prop_optical.bias_current'] = ProtoField.uint16("of14._port_stats_prop_optical.bias_current", "bias_current", base.DEC, nil)
-fields['of14._port_stats_prop_optical.temperature'] = ProtoField.uint16("of14._port_stats_prop_optical.temperature", "temperature", base.DEC, nil)
-fields['of14._table_mod_prop_header.type'] = ProtoField.uint16("of14._table_mod_prop_header.type", "type", base.DEC, nil)
-fields['of14._table_mod_prop_header.length'] = ProtoField.uint16("of14._table_mod_prop_header.length", "length", base.DEC, nil)
 
 p_of.fields = {
     fields['of10.action.type'],
@@ -11812,6 +13224,11 @@
     fields['of12.oxm_bsn_in_ports_128_masked.type_len'],
     fields['of12.oxm_bsn_in_ports_128_masked.value'],
     fields['of12.oxm_bsn_in_ports_128_masked.value_mask'],
+    fields['of12.oxm_bsn_l2_cache_hit.type_len'],
+    fields['of12.oxm_bsn_l2_cache_hit.value'],
+    fields['of12.oxm_bsn_l2_cache_hit_masked.type_len'],
+    fields['of12.oxm_bsn_l2_cache_hit_masked.value'],
+    fields['of12.oxm_bsn_l2_cache_hit_masked.value_mask'],
     fields['of12.oxm_bsn_l3_dst_class_id.type_len'],
     fields['of12.oxm_bsn_l3_dst_class_id.value'],
     fields['of12.oxm_bsn_l3_dst_class_id_masked.type_len'],
@@ -12277,6 +13694,16 @@
     fields['of13.action_id_bsn_checksum.len'],
     fields['of13.action_id_bsn_checksum.experimenter'],
     fields['of13.action_id_bsn_checksum.subtype'],
+    fields['of13.action_bsn_gentable.type'],
+    fields['of13.action_bsn_gentable.len'],
+    fields['of13.action_bsn_gentable.experimenter'],
+    fields['of13.action_bsn_gentable.subtype'],
+    fields['of13.action_bsn_gentable.table_id'],
+    fields['of13.action_bsn_gentable.key'],
+    fields['of13.action_id_bsn_gentable.type'],
+    fields['of13.action_id_bsn_gentable.len'],
+    fields['of13.action_id_bsn_gentable.experimenter'],
+    fields['of13.action_id_bsn_gentable.subtype'],
     fields['of13.action_bsn_mirror.type'],
     fields['of13.action_bsn_mirror.len'],
     fields['of13.action_bsn_mirror.experimenter'],
@@ -13187,15 +14614,63 @@
     fields['of13.bsn_time_request.subtype'],
     fields['of13.bsn_tlv.type'],
     fields['of13.bsn_tlv.length'],
+    fields['of13.bsn_tlv_actor_key.type'],
+    fields['of13.bsn_tlv_actor_key.length'],
+    fields['of13.bsn_tlv_actor_key.value'],
+    fields['of13.bsn_tlv_actor_port_num.type'],
+    fields['of13.bsn_tlv_actor_port_num.length'],
+    fields['of13.bsn_tlv_actor_port_num.value'],
+    fields['of13.bsn_tlv_actor_port_priority.type'],
+    fields['of13.bsn_tlv_actor_port_priority.length'],
+    fields['of13.bsn_tlv_actor_port_priority.value'],
+    fields['of13.bsn_tlv_actor_state.type'],
+    fields['of13.bsn_tlv_actor_state.length'],
+    fields['of13.bsn_tlv_actor_state.value'],
+    fields['of13.bsn_tlv_actor_system_mac.type'],
+    fields['of13.bsn_tlv_actor_system_mac.length'],
+    fields['of13.bsn_tlv_actor_system_mac.value'],
+    fields['of13.bsn_tlv_actor_system_priority.type'],
+    fields['of13.bsn_tlv_actor_system_priority.length'],
+    fields['of13.bsn_tlv_actor_system_priority.value'],
     fields['of13.bsn_tlv_broadcast_query_timeout.type'],
     fields['of13.bsn_tlv_broadcast_query_timeout.length'],
     fields['of13.bsn_tlv_broadcast_query_timeout.value'],
     fields['of13.bsn_tlv_circuit_id.type'],
     fields['of13.bsn_tlv_circuit_id.length'],
     fields['of13.bsn_tlv_circuit_id.value'],
+    fields['of13.bsn_tlv_convergence_status.type'],
+    fields['of13.bsn_tlv_convergence_status.length'],
+    fields['of13.bsn_tlv_convergence_status.value'],
     fields['of13.bsn_tlv_crc_enabled.type'],
     fields['of13.bsn_tlv_crc_enabled.length'],
     fields['of13.bsn_tlv_crc_enabled.value'],
+    fields['of13.bsn_tlv_data.type'],
+    fields['of13.bsn_tlv_data.length'],
+    fields['of13.bsn_tlv_data.value'],
+    fields['of13.bsn_tlv_eth_dst.type'],
+    fields['of13.bsn_tlv_eth_dst.length'],
+    fields['of13.bsn_tlv_eth_dst.value'],
+    fields['of13.bsn_tlv_eth_src.type'],
+    fields['of13.bsn_tlv_eth_src.length'],
+    fields['of13.bsn_tlv_eth_src.value'],
+    fields['of13.bsn_tlv_external_gateway_ip.type'],
+    fields['of13.bsn_tlv_external_gateway_ip.length'],
+    fields['of13.bsn_tlv_external_gateway_ip.value'],
+    fields['of13.bsn_tlv_external_gateway_mac.type'],
+    fields['of13.bsn_tlv_external_gateway_mac.length'],
+    fields['of13.bsn_tlv_external_gateway_mac.value'],
+    fields['of13.bsn_tlv_external_ip.type'],
+    fields['of13.bsn_tlv_external_ip.length'],
+    fields['of13.bsn_tlv_external_ip.value'],
+    fields['of13.bsn_tlv_external_mac.type'],
+    fields['of13.bsn_tlv_external_mac.length'],
+    fields['of13.bsn_tlv_external_mac.value'],
+    fields['of13.bsn_tlv_external_netmask.type'],
+    fields['of13.bsn_tlv_external_netmask.length'],
+    fields['of13.bsn_tlv_external_netmask.value'],
+    fields['of13.bsn_tlv_header_size.type'],
+    fields['of13.bsn_tlv_header_size.length'],
+    fields['of13.bsn_tlv_header_size.value'],
     fields['of13.bsn_tlv_idle_notification.type'],
     fields['of13.bsn_tlv_idle_notification.length'],
     fields['of13.bsn_tlv_idle_time.type'],
@@ -13204,18 +14679,57 @@
     fields['of13.bsn_tlv_idle_timeout.type'],
     fields['of13.bsn_tlv_idle_timeout.length'],
     fields['of13.bsn_tlv_idle_timeout.value'],
+    fields['of13.bsn_tlv_internal_gateway_mac.type'],
+    fields['of13.bsn_tlv_internal_gateway_mac.length'],
+    fields['of13.bsn_tlv_internal_gateway_mac.value'],
+    fields['of13.bsn_tlv_internal_mac.type'],
+    fields['of13.bsn_tlv_internal_mac.length'],
+    fields['of13.bsn_tlv_internal_mac.value'],
     fields['of13.bsn_tlv_ipv4.type'],
     fields['of13.bsn_tlv_ipv4.length'],
     fields['of13.bsn_tlv_ipv4.value'],
+    fields['of13.bsn_tlv_ipv4_dst.type'],
+    fields['of13.bsn_tlv_ipv4_dst.length'],
+    fields['of13.bsn_tlv_ipv4_dst.value'],
+    fields['of13.bsn_tlv_ipv4_src.type'],
+    fields['of13.bsn_tlv_ipv4_src.length'],
+    fields['of13.bsn_tlv_ipv4_src.value'],
     fields['of13.bsn_tlv_mac.type'],
     fields['of13.bsn_tlv_mac.length'],
     fields['of13.bsn_tlv_mac.value'],
+    fields['of13.bsn_tlv_mac_mask.type'],
+    fields['of13.bsn_tlv_mac_mask.length'],
+    fields['of13.bsn_tlv_mac_mask.value'],
     fields['of13.bsn_tlv_miss_packets.type'],
     fields['of13.bsn_tlv_miss_packets.length'],
     fields['of13.bsn_tlv_miss_packets.value'],
+    fields['of13.bsn_tlv_name.type'],
+    fields['of13.bsn_tlv_name.length'],
+    fields['of13.bsn_tlv_name.value'],
+    fields['of13.bsn_tlv_partner_key.type'],
+    fields['of13.bsn_tlv_partner_key.length'],
+    fields['of13.bsn_tlv_partner_key.value'],
+    fields['of13.bsn_tlv_partner_port_num.type'],
+    fields['of13.bsn_tlv_partner_port_num.length'],
+    fields['of13.bsn_tlv_partner_port_num.value'],
+    fields['of13.bsn_tlv_partner_port_priority.type'],
+    fields['of13.bsn_tlv_partner_port_priority.length'],
+    fields['of13.bsn_tlv_partner_port_priority.value'],
+    fields['of13.bsn_tlv_partner_state.type'],
+    fields['of13.bsn_tlv_partner_state.length'],
+    fields['of13.bsn_tlv_partner_state.value'],
+    fields['of13.bsn_tlv_partner_system_mac.type'],
+    fields['of13.bsn_tlv_partner_system_mac.length'],
+    fields['of13.bsn_tlv_partner_system_mac.value'],
+    fields['of13.bsn_tlv_partner_system_priority.type'],
+    fields['of13.bsn_tlv_partner_system_priority.length'],
+    fields['of13.bsn_tlv_partner_system_priority.value'],
     fields['of13.bsn_tlv_port.type'],
     fields['of13.bsn_tlv_port.length'],
     fields['of13.bsn_tlv_port.value'],
+    fields['of13.bsn_tlv_priority.type'],
+    fields['of13.bsn_tlv_priority.length'],
+    fields['of13.bsn_tlv_priority.value'],
     fields['of13.bsn_tlv_queue_id.type'],
     fields['of13.bsn_tlv_queue_id.length'],
     fields['of13.bsn_tlv_queue_id.value'],
@@ -13231,6 +14745,15 @@
     fields['of13.bsn_tlv_rx_packets.type'],
     fields['of13.bsn_tlv_rx_packets.length'],
     fields['of13.bsn_tlv_rx_packets.value'],
+    fields['of13.bsn_tlv_sampling_rate.type'],
+    fields['of13.bsn_tlv_sampling_rate.length'],
+    fields['of13.bsn_tlv_sampling_rate.value'],
+    fields['of13.bsn_tlv_sub_agent_id.type'],
+    fields['of13.bsn_tlv_sub_agent_id.length'],
+    fields['of13.bsn_tlv_sub_agent_id.value'],
+    fields['of13.bsn_tlv_tx_bytes.type'],
+    fields['of13.bsn_tlv_tx_bytes.length'],
+    fields['of13.bsn_tlv_tx_bytes.value'],
     fields['of13.bsn_tlv_tx_packets.type'],
     fields['of13.bsn_tlv_tx_packets.length'],
     fields['of13.bsn_tlv_tx_packets.value'],
@@ -13246,6 +14769,12 @@
     fields['of13.bsn_tlv_udf_offset.type'],
     fields['of13.bsn_tlv_udf_offset.length'],
     fields['of13.bsn_tlv_udf_offset.value'],
+    fields['of13.bsn_tlv_udp_dst.type'],
+    fields['of13.bsn_tlv_udp_dst.length'],
+    fields['of13.bsn_tlv_udp_dst.value'],
+    fields['of13.bsn_tlv_udp_src.type'],
+    fields['of13.bsn_tlv_udp_src.length'],
+    fields['of13.bsn_tlv_udp_src.value'],
     fields['of13.bsn_tlv_unicast_query_timeout.type'],
     fields['of13.bsn_tlv_unicast_query_timeout.length'],
     fields['of13.bsn_tlv_unicast_query_timeout.value'],
@@ -13793,6 +15322,14 @@
     fields['of13.instruction_id_bsn_require_vlan_xlate.len'],
     fields['of13.instruction_id_bsn_require_vlan_xlate.experimenter'],
     fields['of13.instruction_id_bsn_require_vlan_xlate.subtype'],
+    fields['of13.instruction_bsn_span_destination.type'],
+    fields['of13.instruction_bsn_span_destination.len'],
+    fields['of13.instruction_bsn_span_destination.experimenter'],
+    fields['of13.instruction_bsn_span_destination.subtype'],
+    fields['of13.instruction_id_bsn_span_destination.type'],
+    fields['of13.instruction_id_bsn_span_destination.len'],
+    fields['of13.instruction_id_bsn_span_destination.experimenter'],
+    fields['of13.instruction_id_bsn_span_destination.subtype'],
     fields['of13.instruction_clear_actions.type'],
     fields['of13.instruction_clear_actions.len'],
     fields['of13.instruction_id_clear_actions.type'],
@@ -13958,6 +15495,11 @@
     fields['of13.oxm_bsn_in_ports_128_masked.type_len'],
     fields['of13.oxm_bsn_in_ports_128_masked.value'],
     fields['of13.oxm_bsn_in_ports_128_masked.value_mask'],
+    fields['of13.oxm_bsn_l2_cache_hit.type_len'],
+    fields['of13.oxm_bsn_l2_cache_hit.value'],
+    fields['of13.oxm_bsn_l2_cache_hit_masked.type_len'],
+    fields['of13.oxm_bsn_l2_cache_hit_masked.value'],
+    fields['of13.oxm_bsn_l2_cache_hit_masked.value_mask'],
     fields['of13.oxm_bsn_l3_dst_class_id.type_len'],
     fields['of13.oxm_bsn_l3_dst_class_id.value'],
     fields['of13.oxm_bsn_l3_dst_class_id_masked.type_len'],
@@ -14108,6 +15650,11 @@
     fields['of13.oxm_ipv6_dst_masked.type_len'],
     fields['of13.oxm_ipv6_dst_masked.value'],
     fields['of13.oxm_ipv6_dst_masked.value_mask'],
+    fields['of13.oxm_ipv6_exthdr.type_len'],
+    fields['of13.oxm_ipv6_exthdr.value'],
+    fields['of13.oxm_ipv6_exthdr_masked.type_len'],
+    fields['of13.oxm_ipv6_exthdr_masked.value'],
+    fields['of13.oxm_ipv6_exthdr_masked.value_mask'],
     fields['of13.oxm_ipv6_flabel.type_len'],
     fields['of13.oxm_ipv6_flabel.value'],
     fields['of13.oxm_ipv6_flabel_masked.type_len'],
@@ -14138,6 +15685,11 @@
     fields['of13.oxm_metadata_masked.type_len'],
     fields['of13.oxm_metadata_masked.value'],
     fields['of13.oxm_metadata_masked.value_mask'],
+    fields['of13.oxm_mpls_bos.type_len'],
+    fields['of13.oxm_mpls_bos.value'],
+    fields['of13.oxm_mpls_bos_masked.type_len'],
+    fields['of13.oxm_mpls_bos_masked.value'],
+    fields['of13.oxm_mpls_bos_masked.value_mask'],
     fields['of13.oxm_mpls_label.type_len'],
     fields['of13.oxm_mpls_label.value'],
     fields['of13.oxm_mpls_label_masked.type_len'],
@@ -14520,6 +16072,16 @@
     fields['of14.action_id_bsn_checksum.len'],
     fields['of14.action_id_bsn_checksum.experimenter'],
     fields['of14.action_id_bsn_checksum.subtype'],
+    fields['of14.action_bsn_gentable.type'],
+    fields['of14.action_bsn_gentable.len'],
+    fields['of14.action_bsn_gentable.experimenter'],
+    fields['of14.action_bsn_gentable.subtype'],
+    fields['of14.action_bsn_gentable.table_id'],
+    fields['of14.action_bsn_gentable.key'],
+    fields['of14.action_id_bsn_gentable.type'],
+    fields['of14.action_id_bsn_gentable.len'],
+    fields['of14.action_id_bsn_gentable.experimenter'],
+    fields['of14.action_id_bsn_gentable.subtype'],
     fields['of14.action_bsn_mirror.type'],
     fields['of14.action_bsn_mirror.len'],
     fields['of14.action_bsn_mirror.experimenter'],
@@ -14669,41 +16231,75 @@
     fields['of14.aggregate_stats_request.cookie'],
     fields['of14.aggregate_stats_request.cookie_mask'],
     fields['of14.aggregate_stats_request.match'],
-    fields['of14.async_get_reply.version'],
-    fields['of14.async_get_reply.type'],
-    fields['of14.async_get_reply.length'],
-    fields['of14.async_get_reply.xid'],
-    fields['of14.async_get_reply.packet_in_mask_equal_master'],
-    fields['of14.async_get_reply.packet_in_mask_slave'],
-    fields['of14.async_get_reply.port_status_mask_equal_master'],
-    fields['of14.async_get_reply.port_status_mask_slave'],
-    fields['of14.async_get_reply.flow_removed_mask_equal_master'],
-    fields['of14.async_get_reply.flow_removed_mask_slave'],
-    fields['of14.async_get_request.version'],
-    fields['of14.async_get_request.type'],
-    fields['of14.async_get_request.length'],
-    fields['of14.async_get_request.xid'],
-    fields['of14.async_get_request.packet_in_mask_equal_master'],
-    fields['of14.async_get_request.packet_in_mask_slave'],
-    fields['of14.async_get_request.port_status_mask_equal_master'],
-    fields['of14.async_get_request.port_status_mask_slave'],
-    fields['of14.async_get_request.flow_removed_mask_equal_master'],
-    fields['of14.async_get_request.flow_removed_mask_slave'],
-    fields['of14.async_set.version'],
-    fields['of14.async_set.type'],
-    fields['of14.async_set.length'],
-    fields['of14.async_set.xid'],
-    fields['of14.async_set.packet_in_mask_equal_master'],
-    fields['of14.async_set.packet_in_mask_slave'],
-    fields['of14.async_set.port_status_mask_equal_master'],
-    fields['of14.async_set.port_status_mask_slave'],
-    fields['of14.async_set.flow_removed_mask_equal_master'],
-    fields['of14.async_set.flow_removed_mask_slave'],
     fields['of14.error_msg.version'],
     fields['of14.error_msg.type'],
     fields['of14.error_msg.length'],
     fields['of14.error_msg.xid'],
     fields['of14.error_msg.err_type'],
+    fields['of14.async_config_failed_error_msg.version'],
+    fields['of14.async_config_failed_error_msg.type'],
+    fields['of14.async_config_failed_error_msg.length'],
+    fields['of14.async_config_failed_error_msg.xid'],
+    fields['of14.async_config_failed_error_msg.err_type'],
+    fields['of14.async_config_failed_error_msg.code'],
+    fields['of14.async_config_failed_error_msg.data'],
+    fields['of14.async_config_prop.type'],
+    fields['of14.async_config_prop.length'],
+    fields['of14.async_config_prop_experimenter_master.type'],
+    fields['of14.async_config_prop_experimenter_master.length'],
+    fields['of14.async_config_prop_experimenter_slave.type'],
+    fields['of14.async_config_prop_experimenter_slave.length'],
+    fields['of14.async_config_prop_flow_removed_master.type'],
+    fields['of14.async_config_prop_flow_removed_master.length'],
+    fields['of14.async_config_prop_flow_removed_master.mask'],
+    fields['of14.async_config_prop_flow_removed_slave.type'],
+    fields['of14.async_config_prop_flow_removed_slave.length'],
+    fields['of14.async_config_prop_flow_removed_slave.mask'],
+    fields['of14.async_config_prop_packet_in_master.type'],
+    fields['of14.async_config_prop_packet_in_master.length'],
+    fields['of14.async_config_prop_packet_in_master.mask'],
+    fields['of14.async_config_prop_packet_in_slave.type'],
+    fields['of14.async_config_prop_packet_in_slave.length'],
+    fields['of14.async_config_prop_packet_in_slave.mask'],
+    fields['of14.async_config_prop_port_status_master.type'],
+    fields['of14.async_config_prop_port_status_master.length'],
+    fields['of14.async_config_prop_port_status_master.mask'],
+    fields['of14.async_config_prop_port_status_slave.type'],
+    fields['of14.async_config_prop_port_status_slave.length'],
+    fields['of14.async_config_prop_port_status_slave.mask'],
+    fields['of14.async_config_prop_requestforward_master.type'],
+    fields['of14.async_config_prop_requestforward_master.length'],
+    fields['of14.async_config_prop_requestforward_master.mask'],
+    fields['of14.async_config_prop_requestforward_slave.type'],
+    fields['of14.async_config_prop_requestforward_slave.length'],
+    fields['of14.async_config_prop_requestforward_slave.mask'],
+    fields['of14.async_config_prop_role_status_master.type'],
+    fields['of14.async_config_prop_role_status_master.length'],
+    fields['of14.async_config_prop_role_status_master.mask'],
+    fields['of14.async_config_prop_role_status_slave.type'],
+    fields['of14.async_config_prop_role_status_slave.length'],
+    fields['of14.async_config_prop_role_status_slave.mask'],
+    fields['of14.async_config_prop_table_status_master.type'],
+    fields['of14.async_config_prop_table_status_master.length'],
+    fields['of14.async_config_prop_table_status_master.mask'],
+    fields['of14.async_config_prop_table_status_slave.type'],
+    fields['of14.async_config_prop_table_status_slave.length'],
+    fields['of14.async_config_prop_table_status_slave.mask'],
+    fields['of14.async_get_reply.version'],
+    fields['of14.async_get_reply.type'],
+    fields['of14.async_get_reply.length'],
+    fields['of14.async_get_reply.xid'],
+    fields['of14.async_get_reply.properties'],
+    fields['of14.async_get_request.version'],
+    fields['of14.async_get_request.type'],
+    fields['of14.async_get_request.length'],
+    fields['of14.async_get_request.xid'],
+    fields['of14.async_get_request.properties'],
+    fields['of14.async_set.version'],
+    fields['of14.async_set.type'],
+    fields['of14.async_set.length'],
+    fields['of14.async_set.xid'],
+    fields['of14.async_set.properties'],
     fields['of14.bad_action_error_msg.version'],
     fields['of14.bad_action_error_msg.type'],
     fields['of14.bad_action_error_msg.length'],
@@ -14725,6 +16321,13 @@
     fields['of14.bad_match_error_msg.err_type'],
     fields['of14.bad_match_error_msg.code'],
     fields['of14.bad_match_error_msg.data'],
+    fields['of14.bad_property_error_msg.version'],
+    fields['of14.bad_property_error_msg.type'],
+    fields['of14.bad_property_error_msg.length'],
+    fields['of14.bad_property_error_msg.xid'],
+    fields['of14.bad_property_error_msg.err_type'],
+    fields['of14.bad_property_error_msg.code'],
+    fields['of14.bad_property_error_msg.data'],
     fields['of14.bad_request_error_msg.version'],
     fields['of14.bad_request_error_msg.type'],
     fields['of14.bad_request_error_msg.length'],
@@ -14753,6 +16356,14 @@
     fields['of14.bsn_header.xid'],
     fields['of14.bsn_header.experimenter'],
     fields['of14.bsn_header.subtype'],
+    fields['of14.bsn_arp_idle.version'],
+    fields['of14.bsn_arp_idle.type'],
+    fields['of14.bsn_arp_idle.length'],
+    fields['of14.bsn_arp_idle.xid'],
+    fields['of14.bsn_arp_idle.experimenter'],
+    fields['of14.bsn_arp_idle.subtype'],
+    fields['of14.bsn_arp_idle.vlan_vid'],
+    fields['of14.bsn_arp_idle.ipv4_addr'],
     fields['of14.bsn_bw_clear_data_reply.version'],
     fields['of14.bsn_bw_clear_data_reply.type'],
     fields['of14.bsn_bw_clear_data_reply.length'],
@@ -14794,6 +16405,306 @@
     fields['of14.bsn_bw_enable_set_request.experimenter'],
     fields['of14.bsn_bw_enable_set_request.subtype'],
     fields['of14.bsn_bw_enable_set_request.enable'],
+    fields['of14.bsn_controller_connection.state'],
+    fields['of14.bsn_controller_connection.auxiliary_id'],
+    fields['of14.bsn_controller_connection.role'],
+    fields['of14.bsn_controller_connection.uri'],
+    fields['of14.bsn_controller_connections_reply.version'],
+    fields['of14.bsn_controller_connections_reply.type'],
+    fields['of14.bsn_controller_connections_reply.length'],
+    fields['of14.bsn_controller_connections_reply.xid'],
+    fields['of14.bsn_controller_connections_reply.experimenter'],
+    fields['of14.bsn_controller_connections_reply.subtype'],
+    fields['of14.bsn_controller_connections_reply.connections'],
+    fields['of14.bsn_controller_connections_request.version'],
+    fields['of14.bsn_controller_connections_request.type'],
+    fields['of14.bsn_controller_connections_request.length'],
+    fields['of14.bsn_controller_connections_request.xid'],
+    fields['of14.bsn_controller_connections_request.experimenter'],
+    fields['of14.bsn_controller_connections_request.subtype'],
+    fields['of14.bsn_debug_counter_desc_stats_entry.counter_id'],
+    fields['of14.bsn_debug_counter_desc_stats_entry.name'],
+    fields['of14.bsn_debug_counter_desc_stats_entry.description'],
+    fields['of14.experimenter_stats_reply.version'],
+    fields['of14.experimenter_stats_reply.type'],
+    fields['of14.experimenter_stats_reply.length'],
+    fields['of14.experimenter_stats_reply.xid'],
+    fields['of14.experimenter_stats_reply.stats_type'],
+    fields['of14.experimenter_stats_reply.flags'],
+    fields['of14.experimenter_stats_reply.experimenter'],
+    fields['of14.experimenter_stats_reply.subtype'],
+    fields['of14.bsn_stats_reply.version'],
+    fields['of14.bsn_stats_reply.type'],
+    fields['of14.bsn_stats_reply.length'],
+    fields['of14.bsn_stats_reply.xid'],
+    fields['of14.bsn_stats_reply.stats_type'],
+    fields['of14.bsn_stats_reply.flags'],
+    fields['of14.bsn_stats_reply.experimenter'],
+    fields['of14.bsn_stats_reply.subtype'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.version'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.type'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.length'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.xid'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.stats_type'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.flags'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.experimenter'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.subtype'],
+    fields['of14.bsn_debug_counter_desc_stats_reply.entries'],
+    fields['of14.experimenter_stats_request.version'],
+    fields['of14.experimenter_stats_request.type'],
+    fields['of14.experimenter_stats_request.length'],
+    fields['of14.experimenter_stats_request.xid'],
+    fields['of14.experimenter_stats_request.stats_type'],
+    fields['of14.experimenter_stats_request.flags'],
+    fields['of14.experimenter_stats_request.experimenter'],
+    fields['of14.experimenter_stats_request.subtype'],
+    fields['of14.bsn_stats_request.version'],
+    fields['of14.bsn_stats_request.type'],
+    fields['of14.bsn_stats_request.length'],
+    fields['of14.bsn_stats_request.xid'],
+    fields['of14.bsn_stats_request.stats_type'],
+    fields['of14.bsn_stats_request.flags'],
+    fields['of14.bsn_stats_request.experimenter'],
+    fields['of14.bsn_stats_request.subtype'],
+    fields['of14.bsn_debug_counter_desc_stats_request.version'],
+    fields['of14.bsn_debug_counter_desc_stats_request.type'],
+    fields['of14.bsn_debug_counter_desc_stats_request.length'],
+    fields['of14.bsn_debug_counter_desc_stats_request.xid'],
+    fields['of14.bsn_debug_counter_desc_stats_request.stats_type'],
+    fields['of14.bsn_debug_counter_desc_stats_request.flags'],
+    fields['of14.bsn_debug_counter_desc_stats_request.experimenter'],
+    fields['of14.bsn_debug_counter_desc_stats_request.subtype'],
+    fields['of14.bsn_debug_counter_stats_entry.counter_id'],
+    fields['of14.bsn_debug_counter_stats_entry.value'],
+    fields['of14.bsn_debug_counter_stats_reply.version'],
+    fields['of14.bsn_debug_counter_stats_reply.type'],
+    fields['of14.bsn_debug_counter_stats_reply.length'],
+    fields['of14.bsn_debug_counter_stats_reply.xid'],
+    fields['of14.bsn_debug_counter_stats_reply.stats_type'],
+    fields['of14.bsn_debug_counter_stats_reply.flags'],
+    fields['of14.bsn_debug_counter_stats_reply.experimenter'],
+    fields['of14.bsn_debug_counter_stats_reply.subtype'],
+    fields['of14.bsn_debug_counter_stats_reply.entries'],
+    fields['of14.bsn_debug_counter_stats_request.version'],
+    fields['of14.bsn_debug_counter_stats_request.type'],
+    fields['of14.bsn_debug_counter_stats_request.length'],
+    fields['of14.bsn_debug_counter_stats_request.xid'],
+    fields['of14.bsn_debug_counter_stats_request.stats_type'],
+    fields['of14.bsn_debug_counter_stats_request.flags'],
+    fields['of14.bsn_debug_counter_stats_request.experimenter'],
+    fields['of14.bsn_debug_counter_stats_request.subtype'],
+    fields['of14.bsn_flow_checksum_bucket_stats_entry.checksum'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.version'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.type'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.length'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.xid'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.stats_type'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.flags'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.experimenter'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.subtype'],
+    fields['of14.bsn_flow_checksum_bucket_stats_reply.entries'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.version'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.type'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.length'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.xid'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.stats_type'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.flags'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.experimenter'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.subtype'],
+    fields['of14.bsn_flow_checksum_bucket_stats_request.table_id'],
+    fields['of14.bsn_flow_idle.version'],
+    fields['of14.bsn_flow_idle.type'],
+    fields['of14.bsn_flow_idle.length'],
+    fields['of14.bsn_flow_idle.xid'],
+    fields['of14.bsn_flow_idle.experimenter'],
+    fields['of14.bsn_flow_idle.subtype'],
+    fields['of14.bsn_flow_idle.cookie'],
+    fields['of14.bsn_flow_idle.priority'],
+    fields['of14.bsn_flow_idle.table_id'],
+    fields['of14.bsn_flow_idle.match'],
+    fields['of14.bsn_flow_idle_enable_get_reply.version'],
+    fields['of14.bsn_flow_idle_enable_get_reply.type'],
+    fields['of14.bsn_flow_idle_enable_get_reply.length'],
+    fields['of14.bsn_flow_idle_enable_get_reply.xid'],
+    fields['of14.bsn_flow_idle_enable_get_reply.experimenter'],
+    fields['of14.bsn_flow_idle_enable_get_reply.subtype'],
+    fields['of14.bsn_flow_idle_enable_get_reply.enabled'],
+    fields['of14.bsn_flow_idle_enable_get_request.version'],
+    fields['of14.bsn_flow_idle_enable_get_request.type'],
+    fields['of14.bsn_flow_idle_enable_get_request.length'],
+    fields['of14.bsn_flow_idle_enable_get_request.xid'],
+    fields['of14.bsn_flow_idle_enable_get_request.experimenter'],
+    fields['of14.bsn_flow_idle_enable_get_request.subtype'],
+    fields['of14.bsn_flow_idle_enable_set_reply.version'],
+    fields['of14.bsn_flow_idle_enable_set_reply.type'],
+    fields['of14.bsn_flow_idle_enable_set_reply.length'],
+    fields['of14.bsn_flow_idle_enable_set_reply.xid'],
+    fields['of14.bsn_flow_idle_enable_set_reply.experimenter'],
+    fields['of14.bsn_flow_idle_enable_set_reply.subtype'],
+    fields['of14.bsn_flow_idle_enable_set_reply.enable'],
+    fields['of14.bsn_flow_idle_enable_set_reply.status'],
+    fields['of14.bsn_flow_idle_enable_set_request.version'],
+    fields['of14.bsn_flow_idle_enable_set_request.type'],
+    fields['of14.bsn_flow_idle_enable_set_request.length'],
+    fields['of14.bsn_flow_idle_enable_set_request.xid'],
+    fields['of14.bsn_flow_idle_enable_set_request.experimenter'],
+    fields['of14.bsn_flow_idle_enable_set_request.subtype'],
+    fields['of14.bsn_flow_idle_enable_set_request.enable'],
+    fields['of14.bsn_gentable_bucket_stats_entry.checksum'],
+    fields['of14.bsn_gentable_bucket_stats_reply.version'],
+    fields['of14.bsn_gentable_bucket_stats_reply.type'],
+    fields['of14.bsn_gentable_bucket_stats_reply.length'],
+    fields['of14.bsn_gentable_bucket_stats_reply.xid'],
+    fields['of14.bsn_gentable_bucket_stats_reply.stats_type'],
+    fields['of14.bsn_gentable_bucket_stats_reply.flags'],
+    fields['of14.bsn_gentable_bucket_stats_reply.experimenter'],
+    fields['of14.bsn_gentable_bucket_stats_reply.subtype'],
+    fields['of14.bsn_gentable_bucket_stats_reply.entries'],
+    fields['of14.bsn_gentable_bucket_stats_request.version'],
+    fields['of14.bsn_gentable_bucket_stats_request.type'],
+    fields['of14.bsn_gentable_bucket_stats_request.length'],
+    fields['of14.bsn_gentable_bucket_stats_request.xid'],
+    fields['of14.bsn_gentable_bucket_stats_request.stats_type'],
+    fields['of14.bsn_gentable_bucket_stats_request.flags'],
+    fields['of14.bsn_gentable_bucket_stats_request.experimenter'],
+    fields['of14.bsn_gentable_bucket_stats_request.subtype'],
+    fields['of14.bsn_gentable_bucket_stats_request.table_id'],
+    fields['of14.bsn_gentable_clear_reply.version'],
+    fields['of14.bsn_gentable_clear_reply.type'],
+    fields['of14.bsn_gentable_clear_reply.length'],
+    fields['of14.bsn_gentable_clear_reply.xid'],
+    fields['of14.bsn_gentable_clear_reply.experimenter'],
+    fields['of14.bsn_gentable_clear_reply.subtype'],
+    fields['of14.bsn_gentable_clear_reply.table_id'],
+    fields['of14.bsn_gentable_clear_reply.deleted_count'],
+    fields['of14.bsn_gentable_clear_reply.error_count'],
+    fields['of14.bsn_gentable_clear_request.version'],
+    fields['of14.bsn_gentable_clear_request.type'],
+    fields['of14.bsn_gentable_clear_request.length'],
+    fields['of14.bsn_gentable_clear_request.xid'],
+    fields['of14.bsn_gentable_clear_request.experimenter'],
+    fields['of14.bsn_gentable_clear_request.subtype'],
+    fields['of14.bsn_gentable_clear_request.table_id'],
+    fields['of14.bsn_gentable_clear_request.checksum'],
+    fields['of14.bsn_gentable_clear_request.checksum_mask'],
+    fields['of14.bsn_gentable_desc_stats_entry.length'],
+    fields['of14.bsn_gentable_desc_stats_entry.table_id'],
+    fields['of14.bsn_gentable_desc_stats_entry.name'],
+    fields['of14.bsn_gentable_desc_stats_entry.buckets_size'],
+    fields['of14.bsn_gentable_desc_stats_entry.max_entries'],
+    fields['of14.bsn_gentable_desc_stats_reply.version'],
+    fields['of14.bsn_gentable_desc_stats_reply.type'],
+    fields['of14.bsn_gentable_desc_stats_reply.length'],
+    fields['of14.bsn_gentable_desc_stats_reply.xid'],
+    fields['of14.bsn_gentable_desc_stats_reply.stats_type'],
+    fields['of14.bsn_gentable_desc_stats_reply.flags'],
+    fields['of14.bsn_gentable_desc_stats_reply.experimenter'],
+    fields['of14.bsn_gentable_desc_stats_reply.subtype'],
+    fields['of14.bsn_gentable_desc_stats_reply.entries'],
+    fields['of14.bsn_gentable_desc_stats_request.version'],
+    fields['of14.bsn_gentable_desc_stats_request.type'],
+    fields['of14.bsn_gentable_desc_stats_request.length'],
+    fields['of14.bsn_gentable_desc_stats_request.xid'],
+    fields['of14.bsn_gentable_desc_stats_request.stats_type'],
+    fields['of14.bsn_gentable_desc_stats_request.flags'],
+    fields['of14.bsn_gentable_desc_stats_request.experimenter'],
+    fields['of14.bsn_gentable_desc_stats_request.subtype'],
+    fields['of14.bsn_gentable_entry_add.version'],
+    fields['of14.bsn_gentable_entry_add.type'],
+    fields['of14.bsn_gentable_entry_add.length'],
+    fields['of14.bsn_gentable_entry_add.xid'],
+    fields['of14.bsn_gentable_entry_add.experimenter'],
+    fields['of14.bsn_gentable_entry_add.subtype'],
+    fields['of14.bsn_gentable_entry_add.table_id'],
+    fields['of14.bsn_gentable_entry_add.key_length'],
+    fields['of14.bsn_gentable_entry_add.checksum'],
+    fields['of14.bsn_gentable_entry_add.key'],
+    fields['of14.bsn_gentable_entry_add.value'],
+    fields['of14.bsn_gentable_entry_delete.version'],
+    fields['of14.bsn_gentable_entry_delete.type'],
+    fields['of14.bsn_gentable_entry_delete.length'],
+    fields['of14.bsn_gentable_entry_delete.xid'],
+    fields['of14.bsn_gentable_entry_delete.experimenter'],
+    fields['of14.bsn_gentable_entry_delete.subtype'],
+    fields['of14.bsn_gentable_entry_delete.table_id'],
+    fields['of14.bsn_gentable_entry_delete.key'],
+    fields['of14.bsn_gentable_entry_desc_stats_entry.length'],
+    fields['of14.bsn_gentable_entry_desc_stats_entry.key_length'],
+    fields['of14.bsn_gentable_entry_desc_stats_entry.checksum'],
+    fields['of14.bsn_gentable_entry_desc_stats_entry.key'],
+    fields['of14.bsn_gentable_entry_desc_stats_entry.value'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.version'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.type'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.length'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.xid'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.stats_type'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.flags'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.experimenter'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.subtype'],
+    fields['of14.bsn_gentable_entry_desc_stats_reply.entries'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.version'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.type'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.length'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.xid'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.stats_type'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.flags'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.experimenter'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.subtype'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.table_id'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.checksum'],
+    fields['of14.bsn_gentable_entry_desc_stats_request.checksum_mask'],
+    fields['of14.bsn_gentable_entry_stats_entry.length'],
+    fields['of14.bsn_gentable_entry_stats_entry.key_length'],
+    fields['of14.bsn_gentable_entry_stats_entry.key'],
+    fields['of14.bsn_gentable_entry_stats_entry.stats'],
+    fields['of14.bsn_gentable_entry_stats_reply.version'],
+    fields['of14.bsn_gentable_entry_stats_reply.type'],
+    fields['of14.bsn_gentable_entry_stats_reply.length'],
+    fields['of14.bsn_gentable_entry_stats_reply.xid'],
+    fields['of14.bsn_gentable_entry_stats_reply.stats_type'],
+    fields['of14.bsn_gentable_entry_stats_reply.flags'],
+    fields['of14.bsn_gentable_entry_stats_reply.experimenter'],
+    fields['of14.bsn_gentable_entry_stats_reply.subtype'],
+    fields['of14.bsn_gentable_entry_stats_reply.entries'],
+    fields['of14.bsn_gentable_entry_stats_request.version'],
+    fields['of14.bsn_gentable_entry_stats_request.type'],
+    fields['of14.bsn_gentable_entry_stats_request.length'],
+    fields['of14.bsn_gentable_entry_stats_request.xid'],
+    fields['of14.bsn_gentable_entry_stats_request.stats_type'],
+    fields['of14.bsn_gentable_entry_stats_request.flags'],
+    fields['of14.bsn_gentable_entry_stats_request.experimenter'],
+    fields['of14.bsn_gentable_entry_stats_request.subtype'],
+    fields['of14.bsn_gentable_entry_stats_request.table_id'],
+    fields['of14.bsn_gentable_entry_stats_request.checksum'],
+    fields['of14.bsn_gentable_entry_stats_request.checksum_mask'],
+    fields['of14.bsn_gentable_set_buckets_size.version'],
+    fields['of14.bsn_gentable_set_buckets_size.type'],
+    fields['of14.bsn_gentable_set_buckets_size.length'],
+    fields['of14.bsn_gentable_set_buckets_size.xid'],
+    fields['of14.bsn_gentable_set_buckets_size.experimenter'],
+    fields['of14.bsn_gentable_set_buckets_size.subtype'],
+    fields['of14.bsn_gentable_set_buckets_size.table_id'],
+    fields['of14.bsn_gentable_set_buckets_size.buckets_size'],
+    fields['of14.bsn_gentable_stats_entry.table_id'],
+    fields['of14.bsn_gentable_stats_entry.entry_count'],
+    fields['of14.bsn_gentable_stats_entry.checksum'],
+    fields['of14.bsn_gentable_stats_reply.version'],
+    fields['of14.bsn_gentable_stats_reply.type'],
+    fields['of14.bsn_gentable_stats_reply.length'],
+    fields['of14.bsn_gentable_stats_reply.xid'],
+    fields['of14.bsn_gentable_stats_reply.stats_type'],
+    fields['of14.bsn_gentable_stats_reply.flags'],
+    fields['of14.bsn_gentable_stats_reply.experimenter'],
+    fields['of14.bsn_gentable_stats_reply.subtype'],
+    fields['of14.bsn_gentable_stats_reply.entries'],
+    fields['of14.bsn_gentable_stats_request.version'],
+    fields['of14.bsn_gentable_stats_request.type'],
+    fields['of14.bsn_gentable_stats_request.length'],
+    fields['of14.bsn_gentable_stats_request.xid'],
+    fields['of14.bsn_gentable_stats_request.stats_type'],
+    fields['of14.bsn_gentable_stats_request.flags'],
+    fields['of14.bsn_gentable_stats_request.experimenter'],
+    fields['of14.bsn_gentable_stats_request.subtype'],
     fields['of14.bsn_get_interfaces_reply.version'],
     fields['of14.bsn_get_interfaces_reply.type'],
     fields['of14.bsn_get_interfaces_reply.length'],
@@ -14821,10 +16732,96 @@
     fields['of14.bsn_get_mirroring_request.experimenter'],
     fields['of14.bsn_get_mirroring_request.subtype'],
     fields['of14.bsn_get_mirroring_request.report_mirror_ports'],
+    fields['of14.bsn_get_switch_pipeline_reply.version'],
+    fields['of14.bsn_get_switch_pipeline_reply.type'],
+    fields['of14.bsn_get_switch_pipeline_reply.length'],
+    fields['of14.bsn_get_switch_pipeline_reply.xid'],
+    fields['of14.bsn_get_switch_pipeline_reply.experimenter'],
+    fields['of14.bsn_get_switch_pipeline_reply.subtype'],
+    fields['of14.bsn_get_switch_pipeline_reply.pipeline'],
+    fields['of14.bsn_get_switch_pipeline_request.version'],
+    fields['of14.bsn_get_switch_pipeline_request.type'],
+    fields['of14.bsn_get_switch_pipeline_request.length'],
+    fields['of14.bsn_get_switch_pipeline_request.xid'],
+    fields['of14.bsn_get_switch_pipeline_request.experimenter'],
+    fields['of14.bsn_get_switch_pipeline_request.subtype'],
+    fields['of14.bsn_image_desc_stats_reply.version'],
+    fields['of14.bsn_image_desc_stats_reply.type'],
+    fields['of14.bsn_image_desc_stats_reply.length'],
+    fields['of14.bsn_image_desc_stats_reply.xid'],
+    fields['of14.bsn_image_desc_stats_reply.stats_type'],
+    fields['of14.bsn_image_desc_stats_reply.flags'],
+    fields['of14.bsn_image_desc_stats_reply.experimenter'],
+    fields['of14.bsn_image_desc_stats_reply.subtype'],
+    fields['of14.bsn_image_desc_stats_reply.image_checksum'],
+    fields['of14.bsn_image_desc_stats_reply.startup_config_checksum'],
+    fields['of14.bsn_image_desc_stats_request.version'],
+    fields['of14.bsn_image_desc_stats_request.type'],
+    fields['of14.bsn_image_desc_stats_request.length'],
+    fields['of14.bsn_image_desc_stats_request.xid'],
+    fields['of14.bsn_image_desc_stats_request.stats_type'],
+    fields['of14.bsn_image_desc_stats_request.flags'],
+    fields['of14.bsn_image_desc_stats_request.experimenter'],
+    fields['of14.bsn_image_desc_stats_request.subtype'],
     fields['of14.bsn_interface.hw_addr'],
     fields['of14.bsn_interface.name'],
     fields['of14.bsn_interface.ipv4_addr'],
     fields['of14.bsn_interface.ipv4_netmask'],
+    fields['of14.bsn_lacp_convergence_notif.version'],
+    fields['of14.bsn_lacp_convergence_notif.type'],
+    fields['of14.bsn_lacp_convergence_notif.length'],
+    fields['of14.bsn_lacp_convergence_notif.xid'],
+    fields['of14.bsn_lacp_convergence_notif.experimenter'],
+    fields['of14.bsn_lacp_convergence_notif.subtype'],
+    fields['of14.bsn_lacp_convergence_notif.convergence_status'],
+    fields['of14.bsn_lacp_convergence_notif.port_no'],
+    fields['of14.bsn_lacp_convergence_notif.actor_sys_priority'],
+    fields['of14.bsn_lacp_convergence_notif.actor_sys_mac'],
+    fields['of14.bsn_lacp_convergence_notif.actor_port_priority'],
+    fields['of14.bsn_lacp_convergence_notif.actor_port_num'],
+    fields['of14.bsn_lacp_convergence_notif.actor_key'],
+    fields['of14.bsn_lacp_convergence_notif.partner_sys_priority'],
+    fields['of14.bsn_lacp_convergence_notif.partner_sys_mac'],
+    fields['of14.bsn_lacp_convergence_notif.partner_port_priority'],
+    fields['of14.bsn_lacp_convergence_notif.partner_port_num'],
+    fields['of14.bsn_lacp_convergence_notif.partner_key'],
+    fields['of14.bsn_lacp_stats_entry.port_no'],
+    fields['of14.bsn_lacp_stats_entry.actor_sys_priority'],
+    fields['of14.bsn_lacp_stats_entry.actor_sys_mac'],
+    fields['of14.bsn_lacp_stats_entry.actor_port_priority'],
+    fields['of14.bsn_lacp_stats_entry.actor_port_num'],
+    fields['of14.bsn_lacp_stats_entry.actor_key'],
+    fields['of14.bsn_lacp_stats_entry.convergence_status'],
+    fields['of14.bsn_lacp_stats_entry.partner_sys_priority'],
+    fields['of14.bsn_lacp_stats_entry.partner_sys_mac'],
+    fields['of14.bsn_lacp_stats_entry.partner_port_priority'],
+    fields['of14.bsn_lacp_stats_entry.partner_port_num'],
+    fields['of14.bsn_lacp_stats_entry.partner_key'],
+    fields['of14.bsn_lacp_stats_reply.version'],
+    fields['of14.bsn_lacp_stats_reply.type'],
+    fields['of14.bsn_lacp_stats_reply.length'],
+    fields['of14.bsn_lacp_stats_reply.xid'],
+    fields['of14.bsn_lacp_stats_reply.stats_type'],
+    fields['of14.bsn_lacp_stats_reply.flags'],
+    fields['of14.bsn_lacp_stats_reply.experimenter'],
+    fields['of14.bsn_lacp_stats_reply.subtype'],
+    fields['of14.bsn_lacp_stats_reply.entries'],
+    fields['of14.bsn_lacp_stats_request.version'],
+    fields['of14.bsn_lacp_stats_request.type'],
+    fields['of14.bsn_lacp_stats_request.length'],
+    fields['of14.bsn_lacp_stats_request.xid'],
+    fields['of14.bsn_lacp_stats_request.stats_type'],
+    fields['of14.bsn_lacp_stats_request.flags'],
+    fields['of14.bsn_lacp_stats_request.experimenter'],
+    fields['of14.bsn_lacp_stats_request.subtype'],
+    fields['of14.bsn_log.version'],
+    fields['of14.bsn_log.type'],
+    fields['of14.bsn_log.length'],
+    fields['of14.bsn_log.xid'],
+    fields['of14.bsn_log.experimenter'],
+    fields['of14.bsn_log.subtype'],
+    fields['of14.bsn_log.loglevel'],
+    fields['of14.bsn_log.data'],
     fields['of14.bsn_pdu_rx_reply.version'],
     fields['of14.bsn_pdu_rx_reply.type'],
     fields['of14.bsn_pdu_rx_reply.length'],
@@ -14871,6 +16868,63 @@
     fields['of14.bsn_pdu_tx_request.port_no'],
     fields['of14.bsn_pdu_tx_request.slot_num'],
     fields['of14.bsn_pdu_tx_request.data'],
+    fields['of14.bsn_port_counter_stats_entry.length'],
+    fields['of14.bsn_port_counter_stats_entry.port_no'],
+    fields['of14.bsn_port_counter_stats_entry.values'],
+    fields['of14.bsn_port_counter_stats_reply.version'],
+    fields['of14.bsn_port_counter_stats_reply.type'],
+    fields['of14.bsn_port_counter_stats_reply.length'],
+    fields['of14.bsn_port_counter_stats_reply.xid'],
+    fields['of14.bsn_port_counter_stats_reply.stats_type'],
+    fields['of14.bsn_port_counter_stats_reply.flags'],
+    fields['of14.bsn_port_counter_stats_reply.experimenter'],
+    fields['of14.bsn_port_counter_stats_reply.subtype'],
+    fields['of14.bsn_port_counter_stats_reply.entries'],
+    fields['of14.bsn_port_counter_stats_request.version'],
+    fields['of14.bsn_port_counter_stats_request.type'],
+    fields['of14.bsn_port_counter_stats_request.length'],
+    fields['of14.bsn_port_counter_stats_request.xid'],
+    fields['of14.bsn_port_counter_stats_request.stats_type'],
+    fields['of14.bsn_port_counter_stats_request.flags'],
+    fields['of14.bsn_port_counter_stats_request.experimenter'],
+    fields['of14.bsn_port_counter_stats_request.subtype'],
+    fields['of14.bsn_port_counter_stats_request.port_no'],
+    fields['of14.bsn_set_aux_cxns_reply.version'],
+    fields['of14.bsn_set_aux_cxns_reply.type'],
+    fields['of14.bsn_set_aux_cxns_reply.length'],
+    fields['of14.bsn_set_aux_cxns_reply.xid'],
+    fields['of14.bsn_set_aux_cxns_reply.experimenter'],
+    fields['of14.bsn_set_aux_cxns_reply.subtype'],
+    fields['of14.bsn_set_aux_cxns_reply.num_aux'],
+    fields['of14.bsn_set_aux_cxns_reply.status'],
+    fields['of14.bsn_set_aux_cxns_request.version'],
+    fields['of14.bsn_set_aux_cxns_request.type'],
+    fields['of14.bsn_set_aux_cxns_request.length'],
+    fields['of14.bsn_set_aux_cxns_request.xid'],
+    fields['of14.bsn_set_aux_cxns_request.experimenter'],
+    fields['of14.bsn_set_aux_cxns_request.subtype'],
+    fields['of14.bsn_set_aux_cxns_request.num_aux'],
+    fields['of14.bsn_set_lacp_reply.version'],
+    fields['of14.bsn_set_lacp_reply.type'],
+    fields['of14.bsn_set_lacp_reply.length'],
+    fields['of14.bsn_set_lacp_reply.xid'],
+    fields['of14.bsn_set_lacp_reply.experimenter'],
+    fields['of14.bsn_set_lacp_reply.subtype'],
+    fields['of14.bsn_set_lacp_reply.status'],
+    fields['of14.bsn_set_lacp_reply.port_no'],
+    fields['of14.bsn_set_lacp_request.version'],
+    fields['of14.bsn_set_lacp_request.type'],
+    fields['of14.bsn_set_lacp_request.length'],
+    fields['of14.bsn_set_lacp_request.xid'],
+    fields['of14.bsn_set_lacp_request.experimenter'],
+    fields['of14.bsn_set_lacp_request.subtype'],
+    fields['of14.bsn_set_lacp_request.enabled'],
+    fields['of14.bsn_set_lacp_request.port_no'],
+    fields['of14.bsn_set_lacp_request.actor_sys_priority'],
+    fields['of14.bsn_set_lacp_request.actor_sys_mac'],
+    fields['of14.bsn_set_lacp_request.actor_port_priority'],
+    fields['of14.bsn_set_lacp_request.actor_port_num'],
+    fields['of14.bsn_set_lacp_request.actor_key'],
     fields['of14.bsn_set_mirroring.version'],
     fields['of14.bsn_set_mirroring.type'],
     fields['of14.bsn_set_mirroring.length'],
@@ -14896,38 +16950,250 @@
     fields['of14.bsn_set_pktin_suppression_request.hard_timeout'],
     fields['of14.bsn_set_pktin_suppression_request.priority'],
     fields['of14.bsn_set_pktin_suppression_request.cookie'],
-    fields['of14.experimenter_stats_reply.version'],
-    fields['of14.experimenter_stats_reply.type'],
-    fields['of14.experimenter_stats_reply.length'],
-    fields['of14.experimenter_stats_reply.xid'],
-    fields['of14.experimenter_stats_reply.stats_type'],
-    fields['of14.experimenter_stats_reply.flags'],
-    fields['of14.experimenter_stats_reply.experimenter'],
-    fields['of14.experimenter_stats_reply.subtype'],
-    fields['of14.bsn_stats_reply.version'],
-    fields['of14.bsn_stats_reply.type'],
-    fields['of14.bsn_stats_reply.length'],
-    fields['of14.bsn_stats_reply.xid'],
-    fields['of14.bsn_stats_reply.stats_type'],
-    fields['of14.bsn_stats_reply.flags'],
-    fields['of14.bsn_stats_reply.experimenter'],
-    fields['of14.bsn_stats_reply.subtype'],
-    fields['of14.experimenter_stats_request.version'],
-    fields['of14.experimenter_stats_request.type'],
-    fields['of14.experimenter_stats_request.length'],
-    fields['of14.experimenter_stats_request.xid'],
-    fields['of14.experimenter_stats_request.stats_type'],
-    fields['of14.experimenter_stats_request.flags'],
-    fields['of14.experimenter_stats_request.experimenter'],
-    fields['of14.experimenter_stats_request.subtype'],
-    fields['of14.bsn_stats_request.version'],
-    fields['of14.bsn_stats_request.type'],
-    fields['of14.bsn_stats_request.length'],
-    fields['of14.bsn_stats_request.xid'],
-    fields['of14.bsn_stats_request.stats_type'],
-    fields['of14.bsn_stats_request.flags'],
-    fields['of14.bsn_stats_request.experimenter'],
-    fields['of14.bsn_stats_request.subtype'],
+    fields['of14.bsn_set_switch_pipeline_reply.version'],
+    fields['of14.bsn_set_switch_pipeline_reply.type'],
+    fields['of14.bsn_set_switch_pipeline_reply.length'],
+    fields['of14.bsn_set_switch_pipeline_reply.xid'],
+    fields['of14.bsn_set_switch_pipeline_reply.experimenter'],
+    fields['of14.bsn_set_switch_pipeline_reply.subtype'],
+    fields['of14.bsn_set_switch_pipeline_reply.status'],
+    fields['of14.bsn_set_switch_pipeline_request.version'],
+    fields['of14.bsn_set_switch_pipeline_request.type'],
+    fields['of14.bsn_set_switch_pipeline_request.length'],
+    fields['of14.bsn_set_switch_pipeline_request.xid'],
+    fields['of14.bsn_set_switch_pipeline_request.experimenter'],
+    fields['of14.bsn_set_switch_pipeline_request.subtype'],
+    fields['of14.bsn_set_switch_pipeline_request.pipeline'],
+    fields['of14.bsn_switch_pipeline_stats_entry.pipeline'],
+    fields['of14.bsn_switch_pipeline_stats_reply.version'],
+    fields['of14.bsn_switch_pipeline_stats_reply.type'],
+    fields['of14.bsn_switch_pipeline_stats_reply.length'],
+    fields['of14.bsn_switch_pipeline_stats_reply.xid'],
+    fields['of14.bsn_switch_pipeline_stats_reply.stats_type'],
+    fields['of14.bsn_switch_pipeline_stats_reply.flags'],
+    fields['of14.bsn_switch_pipeline_stats_reply.experimenter'],
+    fields['of14.bsn_switch_pipeline_stats_reply.subtype'],
+    fields['of14.bsn_switch_pipeline_stats_reply.entries'],
+    fields['of14.bsn_switch_pipeline_stats_request.version'],
+    fields['of14.bsn_switch_pipeline_stats_request.type'],
+    fields['of14.bsn_switch_pipeline_stats_request.length'],
+    fields['of14.bsn_switch_pipeline_stats_request.xid'],
+    fields['of14.bsn_switch_pipeline_stats_request.stats_type'],
+    fields['of14.bsn_switch_pipeline_stats_request.flags'],
+    fields['of14.bsn_switch_pipeline_stats_request.experimenter'],
+    fields['of14.bsn_switch_pipeline_stats_request.subtype'],
+    fields['of14.bsn_table_checksum_stats_entry.table_id'],
+    fields['of14.bsn_table_checksum_stats_entry.checksum'],
+    fields['of14.bsn_table_checksum_stats_reply.version'],
+    fields['of14.bsn_table_checksum_stats_reply.type'],
+    fields['of14.bsn_table_checksum_stats_reply.length'],
+    fields['of14.bsn_table_checksum_stats_reply.xid'],
+    fields['of14.bsn_table_checksum_stats_reply.stats_type'],
+    fields['of14.bsn_table_checksum_stats_reply.flags'],
+    fields['of14.bsn_table_checksum_stats_reply.experimenter'],
+    fields['of14.bsn_table_checksum_stats_reply.subtype'],
+    fields['of14.bsn_table_checksum_stats_reply.entries'],
+    fields['of14.bsn_table_checksum_stats_request.version'],
+    fields['of14.bsn_table_checksum_stats_request.type'],
+    fields['of14.bsn_table_checksum_stats_request.length'],
+    fields['of14.bsn_table_checksum_stats_request.xid'],
+    fields['of14.bsn_table_checksum_stats_request.stats_type'],
+    fields['of14.bsn_table_checksum_stats_request.flags'],
+    fields['of14.bsn_table_checksum_stats_request.experimenter'],
+    fields['of14.bsn_table_checksum_stats_request.subtype'],
+    fields['of14.bsn_table_set_buckets_size.version'],
+    fields['of14.bsn_table_set_buckets_size.type'],
+    fields['of14.bsn_table_set_buckets_size.length'],
+    fields['of14.bsn_table_set_buckets_size.xid'],
+    fields['of14.bsn_table_set_buckets_size.experimenter'],
+    fields['of14.bsn_table_set_buckets_size.subtype'],
+    fields['of14.bsn_table_set_buckets_size.table_id'],
+    fields['of14.bsn_table_set_buckets_size.buckets_size'],
+    fields['of14.bsn_time_reply.version'],
+    fields['of14.bsn_time_reply.type'],
+    fields['of14.bsn_time_reply.length'],
+    fields['of14.bsn_time_reply.xid'],
+    fields['of14.bsn_time_reply.experimenter'],
+    fields['of14.bsn_time_reply.subtype'],
+    fields['of14.bsn_time_reply.time_ms'],
+    fields['of14.bsn_time_request.version'],
+    fields['of14.bsn_time_request.type'],
+    fields['of14.bsn_time_request.length'],
+    fields['of14.bsn_time_request.xid'],
+    fields['of14.bsn_time_request.experimenter'],
+    fields['of14.bsn_time_request.subtype'],
+    fields['of14.bsn_tlv.type'],
+    fields['of14.bsn_tlv.length'],
+    fields['of14.bsn_tlv_actor_key.type'],
+    fields['of14.bsn_tlv_actor_key.length'],
+    fields['of14.bsn_tlv_actor_key.value'],
+    fields['of14.bsn_tlv_actor_port_num.type'],
+    fields['of14.bsn_tlv_actor_port_num.length'],
+    fields['of14.bsn_tlv_actor_port_num.value'],
+    fields['of14.bsn_tlv_actor_port_priority.type'],
+    fields['of14.bsn_tlv_actor_port_priority.length'],
+    fields['of14.bsn_tlv_actor_port_priority.value'],
+    fields['of14.bsn_tlv_actor_state.type'],
+    fields['of14.bsn_tlv_actor_state.length'],
+    fields['of14.bsn_tlv_actor_state.value'],
+    fields['of14.bsn_tlv_actor_system_mac.type'],
+    fields['of14.bsn_tlv_actor_system_mac.length'],
+    fields['of14.bsn_tlv_actor_system_mac.value'],
+    fields['of14.bsn_tlv_actor_system_priority.type'],
+    fields['of14.bsn_tlv_actor_system_priority.length'],
+    fields['of14.bsn_tlv_actor_system_priority.value'],
+    fields['of14.bsn_tlv_broadcast_query_timeout.type'],
+    fields['of14.bsn_tlv_broadcast_query_timeout.length'],
+    fields['of14.bsn_tlv_broadcast_query_timeout.value'],
+    fields['of14.bsn_tlv_circuit_id.type'],
+    fields['of14.bsn_tlv_circuit_id.length'],
+    fields['of14.bsn_tlv_circuit_id.value'],
+    fields['of14.bsn_tlv_convergence_status.type'],
+    fields['of14.bsn_tlv_convergence_status.length'],
+    fields['of14.bsn_tlv_convergence_status.value'],
+    fields['of14.bsn_tlv_crc_enabled.type'],
+    fields['of14.bsn_tlv_crc_enabled.length'],
+    fields['of14.bsn_tlv_crc_enabled.value'],
+    fields['of14.bsn_tlv_data.type'],
+    fields['of14.bsn_tlv_data.length'],
+    fields['of14.bsn_tlv_data.value'],
+    fields['of14.bsn_tlv_eth_dst.type'],
+    fields['of14.bsn_tlv_eth_dst.length'],
+    fields['of14.bsn_tlv_eth_dst.value'],
+    fields['of14.bsn_tlv_eth_src.type'],
+    fields['of14.bsn_tlv_eth_src.length'],
+    fields['of14.bsn_tlv_eth_src.value'],
+    fields['of14.bsn_tlv_external_gateway_ip.type'],
+    fields['of14.bsn_tlv_external_gateway_ip.length'],
+    fields['of14.bsn_tlv_external_gateway_ip.value'],
+    fields['of14.bsn_tlv_external_gateway_mac.type'],
+    fields['of14.bsn_tlv_external_gateway_mac.length'],
+    fields['of14.bsn_tlv_external_gateway_mac.value'],
+    fields['of14.bsn_tlv_external_ip.type'],
+    fields['of14.bsn_tlv_external_ip.length'],
+    fields['of14.bsn_tlv_external_ip.value'],
+    fields['of14.bsn_tlv_external_mac.type'],
+    fields['of14.bsn_tlv_external_mac.length'],
+    fields['of14.bsn_tlv_external_mac.value'],
+    fields['of14.bsn_tlv_external_netmask.type'],
+    fields['of14.bsn_tlv_external_netmask.length'],
+    fields['of14.bsn_tlv_external_netmask.value'],
+    fields['of14.bsn_tlv_header_size.type'],
+    fields['of14.bsn_tlv_header_size.length'],
+    fields['of14.bsn_tlv_header_size.value'],
+    fields['of14.bsn_tlv_idle_notification.type'],
+    fields['of14.bsn_tlv_idle_notification.length'],
+    fields['of14.bsn_tlv_idle_time.type'],
+    fields['of14.bsn_tlv_idle_time.length'],
+    fields['of14.bsn_tlv_idle_time.value'],
+    fields['of14.bsn_tlv_idle_timeout.type'],
+    fields['of14.bsn_tlv_idle_timeout.length'],
+    fields['of14.bsn_tlv_idle_timeout.value'],
+    fields['of14.bsn_tlv_internal_gateway_mac.type'],
+    fields['of14.bsn_tlv_internal_gateway_mac.length'],
+    fields['of14.bsn_tlv_internal_gateway_mac.value'],
+    fields['of14.bsn_tlv_internal_mac.type'],
+    fields['of14.bsn_tlv_internal_mac.length'],
+    fields['of14.bsn_tlv_internal_mac.value'],
+    fields['of14.bsn_tlv_ipv4.type'],
+    fields['of14.bsn_tlv_ipv4.length'],
+    fields['of14.bsn_tlv_ipv4.value'],
+    fields['of14.bsn_tlv_ipv4_dst.type'],
+    fields['of14.bsn_tlv_ipv4_dst.length'],
+    fields['of14.bsn_tlv_ipv4_dst.value'],
+    fields['of14.bsn_tlv_ipv4_src.type'],
+    fields['of14.bsn_tlv_ipv4_src.length'],
+    fields['of14.bsn_tlv_ipv4_src.value'],
+    fields['of14.bsn_tlv_mac.type'],
+    fields['of14.bsn_tlv_mac.length'],
+    fields['of14.bsn_tlv_mac.value'],
+    fields['of14.bsn_tlv_mac_mask.type'],
+    fields['of14.bsn_tlv_mac_mask.length'],
+    fields['of14.bsn_tlv_mac_mask.value'],
+    fields['of14.bsn_tlv_miss_packets.type'],
+    fields['of14.bsn_tlv_miss_packets.length'],
+    fields['of14.bsn_tlv_miss_packets.value'],
+    fields['of14.bsn_tlv_name.type'],
+    fields['of14.bsn_tlv_name.length'],
+    fields['of14.bsn_tlv_name.value'],
+    fields['of14.bsn_tlv_partner_key.type'],
+    fields['of14.bsn_tlv_partner_key.length'],
+    fields['of14.bsn_tlv_partner_key.value'],
+    fields['of14.bsn_tlv_partner_port_num.type'],
+    fields['of14.bsn_tlv_partner_port_num.length'],
+    fields['of14.bsn_tlv_partner_port_num.value'],
+    fields['of14.bsn_tlv_partner_port_priority.type'],
+    fields['of14.bsn_tlv_partner_port_priority.length'],
+    fields['of14.bsn_tlv_partner_port_priority.value'],
+    fields['of14.bsn_tlv_partner_state.type'],
+    fields['of14.bsn_tlv_partner_state.length'],
+    fields['of14.bsn_tlv_partner_state.value'],
+    fields['of14.bsn_tlv_partner_system_mac.type'],
+    fields['of14.bsn_tlv_partner_system_mac.length'],
+    fields['of14.bsn_tlv_partner_system_mac.value'],
+    fields['of14.bsn_tlv_partner_system_priority.type'],
+    fields['of14.bsn_tlv_partner_system_priority.length'],
+    fields['of14.bsn_tlv_partner_system_priority.value'],
+    fields['of14.bsn_tlv_port.type'],
+    fields['of14.bsn_tlv_port.length'],
+    fields['of14.bsn_tlv_port.value'],
+    fields['of14.bsn_tlv_priority.type'],
+    fields['of14.bsn_tlv_priority.length'],
+    fields['of14.bsn_tlv_priority.value'],
+    fields['of14.bsn_tlv_queue_id.type'],
+    fields['of14.bsn_tlv_queue_id.length'],
+    fields['of14.bsn_tlv_queue_id.value'],
+    fields['of14.bsn_tlv_queue_weight.type'],
+    fields['of14.bsn_tlv_queue_weight.length'],
+    fields['of14.bsn_tlv_queue_weight.value'],
+    fields['of14.bsn_tlv_reply_packets.type'],
+    fields['of14.bsn_tlv_reply_packets.length'],
+    fields['of14.bsn_tlv_reply_packets.value'],
+    fields['of14.bsn_tlv_request_packets.type'],
+    fields['of14.bsn_tlv_request_packets.length'],
+    fields['of14.bsn_tlv_request_packets.value'],
+    fields['of14.bsn_tlv_rx_packets.type'],
+    fields['of14.bsn_tlv_rx_packets.length'],
+    fields['of14.bsn_tlv_rx_packets.value'],
+    fields['of14.bsn_tlv_sampling_rate.type'],
+    fields['of14.bsn_tlv_sampling_rate.length'],
+    fields['of14.bsn_tlv_sampling_rate.value'],
+    fields['of14.bsn_tlv_sub_agent_id.type'],
+    fields['of14.bsn_tlv_sub_agent_id.length'],
+    fields['of14.bsn_tlv_sub_agent_id.value'],
+    fields['of14.bsn_tlv_tx_bytes.type'],
+    fields['of14.bsn_tlv_tx_bytes.length'],
+    fields['of14.bsn_tlv_tx_bytes.value'],
+    fields['of14.bsn_tlv_tx_packets.type'],
+    fields['of14.bsn_tlv_tx_packets.length'],
+    fields['of14.bsn_tlv_tx_packets.value'],
+    fields['of14.bsn_tlv_udf_anchor.type'],
+    fields['of14.bsn_tlv_udf_anchor.length'],
+    fields['of14.bsn_tlv_udf_anchor.value'],
+    fields['of14.bsn_tlv_udf_id.type'],
+    fields['of14.bsn_tlv_udf_id.length'],
+    fields['of14.bsn_tlv_udf_id.value'],
+    fields['of14.bsn_tlv_udf_length.type'],
+    fields['of14.bsn_tlv_udf_length.length'],
+    fields['of14.bsn_tlv_udf_length.value'],
+    fields['of14.bsn_tlv_udf_offset.type'],
+    fields['of14.bsn_tlv_udf_offset.length'],
+    fields['of14.bsn_tlv_udf_offset.value'],
+    fields['of14.bsn_tlv_udp_dst.type'],
+    fields['of14.bsn_tlv_udp_dst.length'],
+    fields['of14.bsn_tlv_udp_dst.value'],
+    fields['of14.bsn_tlv_udp_src.type'],
+    fields['of14.bsn_tlv_udp_src.length'],
+    fields['of14.bsn_tlv_udp_src.value'],
+    fields['of14.bsn_tlv_unicast_query_timeout.type'],
+    fields['of14.bsn_tlv_unicast_query_timeout.length'],
+    fields['of14.bsn_tlv_unicast_query_timeout.value'],
+    fields['of14.bsn_tlv_vlan_vid.type'],
+    fields['of14.bsn_tlv_vlan_vid.length'],
+    fields['of14.bsn_tlv_vlan_vid.value'],
+    fields['of14.bsn_tlv_vrf.type'],
+    fields['of14.bsn_tlv_vrf.length'],
+    fields['of14.bsn_tlv_vrf.value'],
     fields['of14.bsn_virtual_port_create_reply.version'],
     fields['of14.bsn_virtual_port_create_reply.type'],
     fields['of14.bsn_virtual_port_create_reply.length'],
@@ -14959,6 +17225,27 @@
     fields['of14.bsn_virtual_port_remove_request.experimenter'],
     fields['of14.bsn_virtual_port_remove_request.subtype'],
     fields['of14.bsn_virtual_port_remove_request.vport_no'],
+    fields['of14.bsn_vlan_counter_stats_entry.length'],
+    fields['of14.bsn_vlan_counter_stats_entry.vlan_vid'],
+    fields['of14.bsn_vlan_counter_stats_entry.values'],
+    fields['of14.bsn_vlan_counter_stats_reply.version'],
+    fields['of14.bsn_vlan_counter_stats_reply.type'],
+    fields['of14.bsn_vlan_counter_stats_reply.length'],
+    fields['of14.bsn_vlan_counter_stats_reply.xid'],
+    fields['of14.bsn_vlan_counter_stats_reply.stats_type'],
+    fields['of14.bsn_vlan_counter_stats_reply.flags'],
+    fields['of14.bsn_vlan_counter_stats_reply.experimenter'],
+    fields['of14.bsn_vlan_counter_stats_reply.subtype'],
+    fields['of14.bsn_vlan_counter_stats_reply.entries'],
+    fields['of14.bsn_vlan_counter_stats_request.version'],
+    fields['of14.bsn_vlan_counter_stats_request.type'],
+    fields['of14.bsn_vlan_counter_stats_request.length'],
+    fields['of14.bsn_vlan_counter_stats_request.xid'],
+    fields['of14.bsn_vlan_counter_stats_request.stats_type'],
+    fields['of14.bsn_vlan_counter_stats_request.flags'],
+    fields['of14.bsn_vlan_counter_stats_request.experimenter'],
+    fields['of14.bsn_vlan_counter_stats_request.subtype'],
+    fields['of14.bsn_vlan_counter_stats_request.vlan_vid'],
     fields['of14.bsn_vport_l2gre.type'],
     fields['of14.bsn_vport_l2gre.length'],
     fields['of14.bsn_vport_l2gre.flags'],
@@ -14981,6 +17268,27 @@
     fields['of14.bsn_vport_q_in_q.egress_tpid'],
     fields['of14.bsn_vport_q_in_q.egress_vlan_id'],
     fields['of14.bsn_vport_q_in_q.if_name'],
+    fields['of14.bsn_vrf_counter_stats_entry.length'],
+    fields['of14.bsn_vrf_counter_stats_entry.vrf'],
+    fields['of14.bsn_vrf_counter_stats_entry.values'],
+    fields['of14.bsn_vrf_counter_stats_reply.version'],
+    fields['of14.bsn_vrf_counter_stats_reply.type'],
+    fields['of14.bsn_vrf_counter_stats_reply.length'],
+    fields['of14.bsn_vrf_counter_stats_reply.xid'],
+    fields['of14.bsn_vrf_counter_stats_reply.stats_type'],
+    fields['of14.bsn_vrf_counter_stats_reply.flags'],
+    fields['of14.bsn_vrf_counter_stats_reply.experimenter'],
+    fields['of14.bsn_vrf_counter_stats_reply.subtype'],
+    fields['of14.bsn_vrf_counter_stats_reply.entries'],
+    fields['of14.bsn_vrf_counter_stats_request.version'],
+    fields['of14.bsn_vrf_counter_stats_request.type'],
+    fields['of14.bsn_vrf_counter_stats_request.length'],
+    fields['of14.bsn_vrf_counter_stats_request.xid'],
+    fields['of14.bsn_vrf_counter_stats_request.stats_type'],
+    fields['of14.bsn_vrf_counter_stats_request.flags'],
+    fields['of14.bsn_vrf_counter_stats_request.experimenter'],
+    fields['of14.bsn_vrf_counter_stats_request.subtype'],
+    fields['of14.bsn_vrf_counter_stats_request.vrf'],
     fields['of14.bucket.len'],
     fields['of14.bucket.weight'],
     fields['of14.bucket.watch_port'],
@@ -14988,6 +17296,34 @@
     fields['of14.bucket.actions'],
     fields['of14.bucket_counter.packet_count'],
     fields['of14.bucket_counter.byte_count'],
+    fields['of14.bundle_add_msg.version'],
+    fields['of14.bundle_add_msg.type'],
+    fields['of14.bundle_add_msg.length'],
+    fields['of14.bundle_add_msg.xid'],
+    fields['of14.bundle_add_msg.bundle_id'],
+    fields['of14.bundle_add_msg.flags'],
+    fields['of14.bundle_add_msg.data'],
+    fields['of14.bundle_ctrl_msg.version'],
+    fields['of14.bundle_ctrl_msg.type'],
+    fields['of14.bundle_ctrl_msg.length'],
+    fields['of14.bundle_ctrl_msg.xid'],
+    fields['of14.bundle_ctrl_msg.bundle_id'],
+    fields['of14.bundle_ctrl_msg.bundle_ctrl_type'],
+    fields['of14.bundle_ctrl_msg.flags'],
+    fields['of14.bundle_ctrl_msg.properties'],
+    fields['of14.bundle_failed_error_msg.version'],
+    fields['of14.bundle_failed_error_msg.type'],
+    fields['of14.bundle_failed_error_msg.length'],
+    fields['of14.bundle_failed_error_msg.xid'],
+    fields['of14.bundle_failed_error_msg.err_type'],
+    fields['of14.bundle_failed_error_msg.code'],
+    fields['of14.bundle_failed_error_msg.data'],
+    fields['of14.bundle_prop.type'],
+    fields['of14.bundle_prop.length'],
+    fields['of14.bundle_prop_experimenter.type'],
+    fields['of14.bundle_prop_experimenter.length'],
+    fields['of14.bundle_prop_experimenter.experimenter'],
+    fields['of14.bundle_prop_experimenter.exp_type'],
     fields['of14.desc_stats_reply.version'],
     fields['of14.desc_stats_reply.type'],
     fields['of14.desc_stats_reply.length'],
@@ -15151,6 +17487,13 @@
     fields['of14.flow_modify_strict.importance'],
     fields['of14.flow_modify_strict.match'],
     fields['of14.flow_modify_strict.instructions'],
+    fields['of14.flow_monitor_failed_error_msg.version'],
+    fields['of14.flow_monitor_failed_error_msg.type'],
+    fields['of14.flow_monitor_failed_error_msg.length'],
+    fields['of14.flow_monitor_failed_error_msg.xid'],
+    fields['of14.flow_monitor_failed_error_msg.err_type'],
+    fields['of14.flow_monitor_failed_error_msg.code'],
+    fields['of14.flow_monitor_failed_error_msg.data'],
     fields['of14.flow_removed.version'],
     fields['of14.flow_removed.type'],
     fields['of14.flow_removed.length'],
@@ -15335,20 +17678,108 @@
     fields['of14.instruction_apply_actions.actions'],
     fields['of14.instruction_id_apply_actions.type'],
     fields['of14.instruction_id_apply_actions.len'],
-    fields['of14.instruction_clear_actions.type'],
-    fields['of14.instruction_clear_actions.len'],
-    fields['of14.instruction_id_clear_actions.type'],
-    fields['of14.instruction_id_clear_actions.len'],
     fields['of14.instruction_experimenter.type'],
     fields['of14.instruction_experimenter.len'],
     fields['of14.instruction_experimenter.experimenter'],
     fields['of14.instruction_experimenter.data'],
+    fields['of14.instruction_bsn.type'],
+    fields['of14.instruction_bsn.len'],
+    fields['of14.instruction_bsn.experimenter'],
+    fields['of14.instruction_bsn.subtype'],
     fields['of14.instruction_id_experimenter.type'],
     fields['of14.instruction_id_experimenter.len'],
     fields['of14.instruction_id_experimenter.experimenter'],
+    fields['of14.instruction_id_bsn.type'],
+    fields['of14.instruction_id_bsn.len'],
+    fields['of14.instruction_id_bsn.experimenter'],
+    fields['of14.instruction_id_bsn.subtype'],
+    fields['of14.instruction_bsn_arp_offload.type'],
+    fields['of14.instruction_bsn_arp_offload.len'],
+    fields['of14.instruction_bsn_arp_offload.experimenter'],
+    fields['of14.instruction_bsn_arp_offload.subtype'],
+    fields['of14.instruction_id_bsn_arp_offload.type'],
+    fields['of14.instruction_id_bsn_arp_offload.len'],
+    fields['of14.instruction_id_bsn_arp_offload.experimenter'],
+    fields['of14.instruction_id_bsn_arp_offload.subtype'],
+    fields['of14.instruction_bsn_deny.type'],
+    fields['of14.instruction_bsn_deny.len'],
+    fields['of14.instruction_bsn_deny.experimenter'],
+    fields['of14.instruction_bsn_deny.subtype'],
+    fields['of14.instruction_id_bsn_deny.type'],
+    fields['of14.instruction_id_bsn_deny.len'],
+    fields['of14.instruction_id_bsn_deny.experimenter'],
+    fields['of14.instruction_id_bsn_deny.subtype'],
+    fields['of14.instruction_bsn_dhcp_offload.type'],
+    fields['of14.instruction_bsn_dhcp_offload.len'],
+    fields['of14.instruction_bsn_dhcp_offload.experimenter'],
+    fields['of14.instruction_bsn_dhcp_offload.subtype'],
+    fields['of14.instruction_id_bsn_dhcp_offload.type'],
+    fields['of14.instruction_id_bsn_dhcp_offload.len'],
+    fields['of14.instruction_id_bsn_dhcp_offload.experimenter'],
+    fields['of14.instruction_id_bsn_dhcp_offload.subtype'],
+    fields['of14.instruction_bsn_disable_src_mac_check.type'],
+    fields['of14.instruction_bsn_disable_src_mac_check.len'],
+    fields['of14.instruction_bsn_disable_src_mac_check.experimenter'],
+    fields['of14.instruction_bsn_disable_src_mac_check.subtype'],
+    fields['of14.instruction_id_bsn_disable_src_mac_check.type'],
+    fields['of14.instruction_id_bsn_disable_src_mac_check.len'],
+    fields['of14.instruction_id_bsn_disable_src_mac_check.experimenter'],
+    fields['of14.instruction_id_bsn_disable_src_mac_check.subtype'],
+    fields['of14.instruction_bsn_disable_vlan_counters.type'],
+    fields['of14.instruction_bsn_disable_vlan_counters.len'],
+    fields['of14.instruction_bsn_disable_vlan_counters.experimenter'],
+    fields['of14.instruction_bsn_disable_vlan_counters.subtype'],
+    fields['of14.instruction_id_bsn_disable_vlan_counters.type'],
+    fields['of14.instruction_id_bsn_disable_vlan_counters.len'],
+    fields['of14.instruction_id_bsn_disable_vlan_counters.experimenter'],
+    fields['of14.instruction_id_bsn_disable_vlan_counters.subtype'],
+    fields['of14.instruction_bsn_packet_of_death.type'],
+    fields['of14.instruction_bsn_packet_of_death.len'],
+    fields['of14.instruction_bsn_packet_of_death.experimenter'],
+    fields['of14.instruction_bsn_packet_of_death.subtype'],
+    fields['of14.instruction_id_bsn_packet_of_death.type'],
+    fields['of14.instruction_id_bsn_packet_of_death.len'],
+    fields['of14.instruction_id_bsn_packet_of_death.experimenter'],
+    fields['of14.instruction_id_bsn_packet_of_death.subtype'],
+    fields['of14.instruction_bsn_permit.type'],
+    fields['of14.instruction_bsn_permit.len'],
+    fields['of14.instruction_bsn_permit.experimenter'],
+    fields['of14.instruction_bsn_permit.subtype'],
+    fields['of14.instruction_id_bsn_permit.type'],
+    fields['of14.instruction_id_bsn_permit.len'],
+    fields['of14.instruction_id_bsn_permit.experimenter'],
+    fields['of14.instruction_id_bsn_permit.subtype'],
+    fields['of14.instruction_bsn_prioritize_pdus.type'],
+    fields['of14.instruction_bsn_prioritize_pdus.len'],
+    fields['of14.instruction_bsn_prioritize_pdus.experimenter'],
+    fields['of14.instruction_bsn_prioritize_pdus.subtype'],
+    fields['of14.instruction_id_bsn_prioritize_pdus.type'],
+    fields['of14.instruction_id_bsn_prioritize_pdus.len'],
+    fields['of14.instruction_id_bsn_prioritize_pdus.experimenter'],
+    fields['of14.instruction_id_bsn_prioritize_pdus.subtype'],
+    fields['of14.instruction_bsn_require_vlan_xlate.type'],
+    fields['of14.instruction_bsn_require_vlan_xlate.len'],
+    fields['of14.instruction_bsn_require_vlan_xlate.experimenter'],
+    fields['of14.instruction_bsn_require_vlan_xlate.subtype'],
+    fields['of14.instruction_id_bsn_require_vlan_xlate.type'],
+    fields['of14.instruction_id_bsn_require_vlan_xlate.len'],
+    fields['of14.instruction_id_bsn_require_vlan_xlate.experimenter'],
+    fields['of14.instruction_id_bsn_require_vlan_xlate.subtype'],
+    fields['of14.instruction_bsn_span_destination.type'],
+    fields['of14.instruction_bsn_span_destination.len'],
+    fields['of14.instruction_bsn_span_destination.experimenter'],
+    fields['of14.instruction_bsn_span_destination.subtype'],
+    fields['of14.instruction_id_bsn_span_destination.type'],
+    fields['of14.instruction_id_bsn_span_destination.len'],
+    fields['of14.instruction_id_bsn_span_destination.experimenter'],
+    fields['of14.instruction_id_bsn_span_destination.subtype'],
+    fields['of14.instruction_clear_actions.type'],
+    fields['of14.instruction_clear_actions.len'],
+    fields['of14.instruction_id_clear_actions.type'],
+    fields['of14.instruction_id_clear_actions.len'],
     fields['of14.instruction_goto_table.type'],
     fields['of14.instruction_goto_table.len'],
-    fields['of14.instruction_goto_table.exp_data'],
+    fields['of14.instruction_goto_table.table_id'],
     fields['of14.instruction_id_goto_table.type'],
     fields['of14.instruction_id_goto_table.len'],
     fields['of14.instruction_meter.type'],
@@ -15367,9 +17798,9 @@
     fields['of14.instruction_write_metadata.metadata_mask'],
     fields['of14.instruction_id_write_metadata.type'],
     fields['of14.instruction_id_write_metadata.len'],
-    fields['of14.match_v4.type'],
-    fields['of14.match_v4.length'],
-    fields['of14.match_v4.oxm_list'],
+    fields['of14.match_v3.type'],
+    fields['of14.match_v3.length'],
+    fields['of14.match_v3.oxm_list'],
     fields['of14.meter_band.type'],
     fields['of14.meter_band.len'],
     fields['of14.meter_band_drop.type'],
@@ -15492,6 +17923,86 @@
     fields['of14.oxm_arp_tpa_masked.type_len'],
     fields['of14.oxm_arp_tpa_masked.value'],
     fields['of14.oxm_arp_tpa_masked.value_mask'],
+    fields['of14.oxm_bsn_egr_port_group_id.type_len'],
+    fields['of14.oxm_bsn_egr_port_group_id.value'],
+    fields['of14.oxm_bsn_egr_port_group_id_masked.type_len'],
+    fields['of14.oxm_bsn_egr_port_group_id_masked.value'],
+    fields['of14.oxm_bsn_egr_port_group_id_masked.value_mask'],
+    fields['of14.oxm_bsn_in_ports_128.type_len'],
+    fields['of14.oxm_bsn_in_ports_128.value'],
+    fields['of14.oxm_bsn_in_ports_128_masked.type_len'],
+    fields['of14.oxm_bsn_in_ports_128_masked.value'],
+    fields['of14.oxm_bsn_in_ports_128_masked.value_mask'],
+    fields['of14.oxm_bsn_l3_interface_class_id.type_len'],
+    fields['of14.oxm_bsn_l3_interface_class_id.value'],
+    fields['of14.oxm_bsn_l3_interface_class_id_masked.type_len'],
+    fields['of14.oxm_bsn_l3_interface_class_id_masked.value'],
+    fields['of14.oxm_bsn_l3_interface_class_id_masked.value_mask'],
+    fields['of14.oxm_bsn_l3_src_class_id.type_len'],
+    fields['of14.oxm_bsn_l3_src_class_id.value'],
+    fields['of14.oxm_bsn_l3_src_class_id_masked.type_len'],
+    fields['of14.oxm_bsn_l3_src_class_id_masked.value'],
+    fields['of14.oxm_bsn_l3_src_class_id_masked.value_mask'],
+    fields['of14.oxm_bsn_lag_id.type_len'],
+    fields['of14.oxm_bsn_lag_id.value'],
+    fields['of14.oxm_bsn_lag_id_masked.type_len'],
+    fields['of14.oxm_bsn_lag_id_masked.value'],
+    fields['of14.oxm_bsn_lag_id_masked.value_mask'],
+    fields['of14.oxm_bsn_tcp_flags.type_len'],
+    fields['of14.oxm_bsn_tcp_flags.value'],
+    fields['of14.oxm_bsn_tcp_flags_masked.type_len'],
+    fields['of14.oxm_bsn_tcp_flags_masked.value'],
+    fields['of14.oxm_bsn_tcp_flags_masked.value_mask'],
+    fields['of14.oxm_bsn_udf0.type_len'],
+    fields['of14.oxm_bsn_udf0.value'],
+    fields['of14.oxm_bsn_udf0_masked.type_len'],
+    fields['of14.oxm_bsn_udf0_masked.value'],
+    fields['of14.oxm_bsn_udf0_masked.value_mask'],
+    fields['of14.oxm_bsn_udf1.type_len'],
+    fields['of14.oxm_bsn_udf1.value'],
+    fields['of14.oxm_bsn_udf1_masked.type_len'],
+    fields['of14.oxm_bsn_udf1_masked.value'],
+    fields['of14.oxm_bsn_udf1_masked.value_mask'],
+    fields['of14.oxm_bsn_udf2.type_len'],
+    fields['of14.oxm_bsn_udf2.value'],
+    fields['of14.oxm_bsn_udf2_masked.type_len'],
+    fields['of14.oxm_bsn_udf2_masked.value'],
+    fields['of14.oxm_bsn_udf2_masked.value_mask'],
+    fields['of14.oxm_bsn_udf3.type_len'],
+    fields['of14.oxm_bsn_udf3.value'],
+    fields['of14.oxm_bsn_udf3_masked.type_len'],
+    fields['of14.oxm_bsn_udf3_masked.value'],
+    fields['of14.oxm_bsn_udf3_masked.value_mask'],
+    fields['of14.oxm_bsn_udf4.type_len'],
+    fields['of14.oxm_bsn_udf4.value'],
+    fields['of14.oxm_bsn_udf4_masked.type_len'],
+    fields['of14.oxm_bsn_udf4_masked.value'],
+    fields['of14.oxm_bsn_udf4_masked.value_mask'],
+    fields['of14.oxm_bsn_udf5.type_len'],
+    fields['of14.oxm_bsn_udf5.value'],
+    fields['of14.oxm_bsn_udf5_masked.type_len'],
+    fields['of14.oxm_bsn_udf5_masked.value'],
+    fields['of14.oxm_bsn_udf5_masked.value_mask'],
+    fields['of14.oxm_bsn_udf6.type_len'],
+    fields['of14.oxm_bsn_udf6.value'],
+    fields['of14.oxm_bsn_udf6_masked.type_len'],
+    fields['of14.oxm_bsn_udf6_masked.value'],
+    fields['of14.oxm_bsn_udf6_masked.value_mask'],
+    fields['of14.oxm_bsn_udf7.type_len'],
+    fields['of14.oxm_bsn_udf7.value'],
+    fields['of14.oxm_bsn_udf7_masked.type_len'],
+    fields['of14.oxm_bsn_udf7_masked.value'],
+    fields['of14.oxm_bsn_udf7_masked.value_mask'],
+    fields['of14.oxm_bsn_vlan_xlate_port_group_id.type_len'],
+    fields['of14.oxm_bsn_vlan_xlate_port_group_id.value'],
+    fields['of14.oxm_bsn_vlan_xlate_port_group_id_masked.type_len'],
+    fields['of14.oxm_bsn_vlan_xlate_port_group_id_masked.value'],
+    fields['of14.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask'],
+    fields['of14.oxm_bsn_vrf.type_len'],
+    fields['of14.oxm_bsn_vrf.value'],
+    fields['of14.oxm_bsn_vrf_masked.type_len'],
+    fields['of14.oxm_bsn_vrf_masked.value'],
+    fields['of14.oxm_bsn_vrf_masked.value_mask'],
     fields['of14.oxm_eth_dst.type_len'],
     fields['of14.oxm_eth_dst.value'],
     fields['of14.oxm_eth_dst_masked.type_len'],
@@ -15567,6 +18078,11 @@
     fields['of14.oxm_ipv6_dst_masked.type_len'],
     fields['of14.oxm_ipv6_dst_masked.value'],
     fields['of14.oxm_ipv6_dst_masked.value_mask'],
+    fields['of14.oxm_ipv6_exthdr.type_len'],
+    fields['of14.oxm_ipv6_exthdr.value'],
+    fields['of14.oxm_ipv6_exthdr_masked.type_len'],
+    fields['of14.oxm_ipv6_exthdr_masked.value'],
+    fields['of14.oxm_ipv6_exthdr_masked.value_mask'],
     fields['of14.oxm_ipv6_flabel.type_len'],
     fields['of14.oxm_ipv6_flabel.value'],
     fields['of14.oxm_ipv6_flabel_masked.type_len'],
@@ -15597,6 +18113,11 @@
     fields['of14.oxm_metadata_masked.type_len'],
     fields['of14.oxm_metadata_masked.value'],
     fields['of14.oxm_metadata_masked.value_mask'],
+    fields['of14.oxm_mpls_bos.type_len'],
+    fields['of14.oxm_mpls_bos.value'],
+    fields['of14.oxm_mpls_bos_masked.type_len'],
+    fields['of14.oxm_mpls_bos_masked.value'],
+    fields['of14.oxm_mpls_bos_masked.value_mask'],
     fields['of14.oxm_mpls_label.type_len'],
     fields['of14.oxm_mpls_label.value'],
     fields['of14.oxm_mpls_label_masked.type_len'],
@@ -15607,6 +18128,11 @@
     fields['of14.oxm_mpls_tc_masked.type_len'],
     fields['of14.oxm_mpls_tc_masked.value'],
     fields['of14.oxm_mpls_tc_masked.value_mask'],
+    fields['of14.oxm_pbb_uca.type_len'],
+    fields['of14.oxm_pbb_uca.value'],
+    fields['of14.oxm_pbb_uca_masked.type_len'],
+    fields['of14.oxm_pbb_uca_masked.value'],
+    fields['of14.oxm_pbb_uca_masked.value_mask'],
     fields['of14.oxm_sctp_dst.type_len'],
     fields['of14.oxm_sctp_dst.value'],
     fields['of14.oxm_sctp_dst_masked.type_len'],
@@ -15683,6 +18209,31 @@
     fields['of14.port_desc.config'],
     fields['of14.port_desc.state'],
     fields['of14.port_desc.properties'],
+    fields['of14.port_desc_prop.type'],
+    fields['of14.port_desc_prop.length'],
+    fields['of14.port_desc_prop_ethernet.type'],
+    fields['of14.port_desc_prop_ethernet.length'],
+    fields['of14.port_desc_prop_ethernet.curr'],
+    fields['of14.port_desc_prop_ethernet.advertised'],
+    fields['of14.port_desc_prop_ethernet.supported'],
+    fields['of14.port_desc_prop_ethernet.peer'],
+    fields['of14.port_desc_prop_ethernet.curr_speed'],
+    fields['of14.port_desc_prop_ethernet.max_speed'],
+    fields['of14.port_desc_prop_experimenter.type'],
+    fields['of14.port_desc_prop_experimenter.length'],
+    fields['of14.port_desc_prop_experimenter.experimenter'],
+    fields['of14.port_desc_prop_experimenter.exp_type'],
+    fields['of14.port_desc_prop_optical.type'],
+    fields['of14.port_desc_prop_optical.length'],
+    fields['of14.port_desc_prop_optical.supported'],
+    fields['of14.port_desc_prop_optical.tx_min_freq_lmda'],
+    fields['of14.port_desc_prop_optical.tx_max_freq_lmda'],
+    fields['of14.port_desc_prop_optical.tx_grid_freq_lmda'],
+    fields['of14.port_desc_prop_optical.rx_min_freq_lmda'],
+    fields['of14.port_desc_prop_optical.rx_max_freq_lmda'],
+    fields['of14.port_desc_prop_optical.rx_grid_freq_lmda'],
+    fields['of14.port_desc_prop_optical.tx_pwr_min'],
+    fields['of14.port_desc_prop_optical.tx_pwr_max'],
     fields['of14.port_desc_stats_reply.version'],
     fields['of14.port_desc_stats_reply.type'],
     fields['of14.port_desc_stats_reply.length'],
@@ -15712,10 +18263,26 @@
     fields['of14.port_mod_failed_error_msg.err_type'],
     fields['of14.port_mod_failed_error_msg.code'],
     fields['of14.port_mod_failed_error_msg.data'],
-    fields['of14.port_mod_prop_header.type'],
-    fields['of14.port_mod_prop_header.length'],
+    fields['of14.port_mod_prop.type'],
+    fields['of14.port_mod_prop.length'],
+    fields['of14.port_mod_prop_ethernet.type'],
+    fields['of14.port_mod_prop_ethernet.length'],
+    fields['of14.port_mod_prop_ethernet.advertise'],
+    fields['of14.port_mod_prop_experimenter.type'],
+    fields['of14.port_mod_prop_experimenter.length'],
+    fields['of14.port_mod_prop_experimenter.experimenter'],
+    fields['of14.port_mod_prop_experimenter.exp_type'],
+    fields['of14.port_mod_prop_optical.type'],
+    fields['of14.port_mod_prop_optical.length'],
+    fields['of14.port_mod_prop_optical.configure'],
+    fields['of14.port_mod_prop_optical.freq_ldma'],
+    fields['of14.port_mod_prop_optical.fl_offset'],
+    fields['of14.port_mod_prop_optical.grid_span'],
+    fields['of14.port_mod_prop_optical.tx_pwr'],
     fields['of14.port_stats_entry.length'],
     fields['of14.port_stats_entry.port_no'],
+    fields['of14.port_stats_entry.duration_sec'],
+    fields['of14.port_stats_entry.duration_nsec'],
     fields['of14.port_stats_entry.rx_packets'],
     fields['of14.port_stats_entry.tx_packets'],
     fields['of14.port_stats_entry.rx_bytes'],
@@ -15724,9 +18291,33 @@
     fields['of14.port_stats_entry.tx_dropped'],
     fields['of14.port_stats_entry.rx_errors'],
     fields['of14.port_stats_entry.tx_errors'],
-    fields['of14.port_stats_entry.duration_sec'],
-    fields['of14.port_stats_entry.duration_nsec'],
     fields['of14.port_stats_entry.properties'],
+    fields['of14.port_stats_prop.type'],
+    fields['of14.port_stats_prop.length'],
+    fields['of14.port_stats_prop_ethernet.type'],
+    fields['of14.port_stats_prop_ethernet.length'],
+    fields['of14.port_stats_prop_ethernet.rx_frame_err'],
+    fields['of14.port_stats_prop_ethernet.rx_over_err'],
+    fields['of14.port_stats_prop_ethernet.rx_crc_err'],
+    fields['of14.port_stats_prop_ethernet.collisions'],
+    fields['of14.port_stats_prop_experimenter.type'],
+    fields['of14.port_stats_prop_experimenter.length'],
+    fields['of14.port_stats_prop_experimenter.experimenter'],
+    fields['of14.port_stats_prop_experimenter.exp_type'],
+    fields['of14.port_stats_prop_experimenter.experimenter_data'],
+    fields['of14.port_stats_prop_optical.type'],
+    fields['of14.port_stats_prop_optical.length'],
+    fields['of14.port_stats_prop_optical.flags'],
+    fields['of14.port_stats_prop_optical.tx_freq_lmda'],
+    fields['of14.port_stats_prop_optical.tx_offset'],
+    fields['of14.port_stats_prop_optical.tx_grid_span'],
+    fields['of14.port_stats_prop_optical.rx_freq_lmda'],
+    fields['of14.port_stats_prop_optical.rx_offset'],
+    fields['of14.port_stats_prop_optical.rx_grid_span'],
+    fields['of14.port_stats_prop_optical.tx_pwr'],
+    fields['of14.port_stats_prop_optical.rx_pwr'],
+    fields['of14.port_stats_prop_optical.bias_current'],
+    fields['of14.port_stats_prop_optical.temperature'],
     fields['of14.port_stats_reply.version'],
     fields['of14.port_stats_reply.type'],
     fields['of14.port_stats_reply.length'],
@@ -15747,17 +18338,35 @@
     fields['of14.port_status.xid'],
     fields['of14.port_status.reason'],
     fields['of14.port_status.desc'],
-    fields['of14.queue_get_config_reply.version'],
-    fields['of14.queue_get_config_reply.type'],
-    fields['of14.queue_get_config_reply.length'],
-    fields['of14.queue_get_config_reply.xid'],
-    fields['of14.queue_get_config_reply.port'],
-    fields['of14.queue_get_config_reply.queues'],
-    fields['of14.queue_get_config_request.version'],
-    fields['of14.queue_get_config_request.type'],
-    fields['of14.queue_get_config_request.length'],
-    fields['of14.queue_get_config_request.xid'],
-    fields['of14.queue_get_config_request.port'],
+    fields['of14.queue_desc.port_no'],
+    fields['of14.queue_desc.queue_id'],
+    fields['of14.queue_desc.length'],
+    fields['of14.queue_desc.properties'],
+    fields['of14.queue_desc_prop.type'],
+    fields['of14.queue_desc_prop.length'],
+    fields['of14.queue_desc_prop_experimenter.type'],
+    fields['of14.queue_desc_prop_experimenter.length'],
+    fields['of14.queue_desc_prop_experimenter.experimenter'],
+    fields['of14.queue_desc_prop_experimenter.exp_type'],
+    fields['of14.queue_desc_prop_max_rate.type'],
+    fields['of14.queue_desc_prop_max_rate.length'],
+    fields['of14.queue_desc_prop_max_rate.rate'],
+    fields['of14.queue_desc_prop_min_rate.type'],
+    fields['of14.queue_desc_prop_min_rate.length'],
+    fields['of14.queue_desc_prop_min_rate.rate'],
+    fields['of14.queue_desc_stats_reply.version'],
+    fields['of14.queue_desc_stats_reply.type'],
+    fields['of14.queue_desc_stats_reply.length'],
+    fields['of14.queue_desc_stats_reply.xid'],
+    fields['of14.queue_desc_stats_reply.stats_type'],
+    fields['of14.queue_desc_stats_reply.flags'],
+    fields['of14.queue_desc_stats_reply.entries'],
+    fields['of14.queue_desc_stats_request.version'],
+    fields['of14.queue_desc_stats_request.type'],
+    fields['of14.queue_desc_stats_request.length'],
+    fields['of14.queue_desc_stats_request.xid'],
+    fields['of14.queue_desc_stats_request.stats_type'],
+    fields['of14.queue_desc_stats_request.flags'],
     fields['of14.queue_op_failed_error_msg.version'],
     fields['of14.queue_op_failed_error_msg.type'],
     fields['of14.queue_op_failed_error_msg.length'],
@@ -15786,8 +18395,12 @@
     fields['of14.queue_stats_entry.duration_sec'],
     fields['of14.queue_stats_entry.duration_nsec'],
     fields['of14.queue_stats_entry.properties'],
-    fields['of14.queue_stats_prop_header.type'],
-    fields['of14.queue_stats_prop_header.length'],
+    fields['of14.queue_stats_prop.type'],
+    fields['of14.queue_stats_prop.length'],
+    fields['of14.queue_stats_prop_experimenter.type'],
+    fields['of14.queue_stats_prop_experimenter.length'],
+    fields['of14.queue_stats_prop_experimenter.experimenter'],
+    fields['of14.queue_stats_prop_experimenter.exp_type'],
     fields['of14.queue_stats_reply.version'],
     fields['of14.queue_stats_reply.type'],
     fields['of14.queue_stats_reply.length'],
@@ -15803,6 +18416,18 @@
     fields['of14.queue_stats_request.flags'],
     fields['of14.queue_stats_request.port_no'],
     fields['of14.queue_stats_request.queue_id'],
+    fields['of14.requestforward.version'],
+    fields['of14.requestforward.type'],
+    fields['of14.requestforward.length'],
+    fields['of14.requestforward.xid'],
+    fields['of14.requestforward.role'],
+    fields['of14.requestforward.data'],
+    fields['of14.role_prop.type'],
+    fields['of14.role_prop.length'],
+    fields['of14.role_prop_experimenter.type'],
+    fields['of14.role_prop_experimenter.length'],
+    fields['of14.role_prop_experimenter.experimenter'],
+    fields['of14.role_prop_experimenter.exp_type'],
     fields['of14.role_reply.version'],
     fields['of14.role_reply.type'],
     fields['of14.role_reply.length'],
@@ -15822,6 +18447,14 @@
     fields['of14.role_request_failed_error_msg.err_type'],
     fields['of14.role_request_failed_error_msg.code'],
     fields['of14.role_request_failed_error_msg.data'],
+    fields['of14.role_status.version'],
+    fields['of14.role_status.type'],
+    fields['of14.role_status.length'],
+    fields['of14.role_status.xid'],
+    fields['of14.role_status.role'],
+    fields['of14.role_status.reason'],
+    fields['of14.role_status.generation_id'],
+    fields['of14.role_status.properties'],
     fields['of14.set_config.version'],
     fields['of14.set_config.type'],
     fields['of14.set_config.length'],
@@ -15835,6 +18468,22 @@
     fields['of14.switch_config_failed_error_msg.err_type'],
     fields['of14.switch_config_failed_error_msg.code'],
     fields['of14.switch_config_failed_error_msg.data'],
+    fields['of14.table_desc.length'],
+    fields['of14.table_desc.table_id'],
+    fields['of14.table_desc.config'],
+    fields['of14.table_desc_stats_reply.version'],
+    fields['of14.table_desc_stats_reply.type'],
+    fields['of14.table_desc_stats_reply.length'],
+    fields['of14.table_desc_stats_reply.xid'],
+    fields['of14.table_desc_stats_reply.stats_type'],
+    fields['of14.table_desc_stats_reply.flags'],
+    fields['of14.table_desc_stats_reply.entries'],
+    fields['of14.table_desc_stats_request.version'],
+    fields['of14.table_desc_stats_request.type'],
+    fields['of14.table_desc_stats_request.length'],
+    fields['of14.table_desc_stats_request.xid'],
+    fields['of14.table_desc_stats_request.stats_type'],
+    fields['of14.table_desc_stats_request.flags'],
     fields['of14.table_feature_prop.type'],
     fields['of14.table_feature_prop.length'],
     fields['of14.table_feature_prop_apply_actions.type'],
@@ -15874,6 +18523,9 @@
     fields['of14.table_feature_prop_next_tables_miss.type'],
     fields['of14.table_feature_prop_next_tables_miss.length'],
     fields['of14.table_feature_prop_next_tables_miss.next_table_ids'],
+    fields['of14.table_feature_prop_table_sync_from.type'],
+    fields['of14.table_feature_prop_table_sync_from.length'],
+    fields['of14.table_feature_prop_table_sync_from.table_ids'],
     fields['of14.table_feature_prop_wildcards.type'],
     fields['of14.table_feature_prop_wildcards.length'],
     fields['of14.table_feature_prop_wildcards.oxm_ids'],
@@ -15932,6 +18584,20 @@
     fields['of14.table_mod_failed_error_msg.err_type'],
     fields['of14.table_mod_failed_error_msg.code'],
     fields['of14.table_mod_failed_error_msg.data'],
+    fields['of14.table_mod_prop.type'],
+    fields['of14.table_mod_prop.length'],
+    fields['of14.table_mod_prop_eviction.type'],
+    fields['of14.table_mod_prop_eviction.length'],
+    fields['of14.table_mod_prop_eviction.flags'],
+    fields['of14.table_mod_prop_experimenter.type'],
+    fields['of14.table_mod_prop_experimenter.length'],
+    fields['of14.table_mod_prop_experimenter.experimenter'],
+    fields['of14.table_mod_prop_experimenter.exp_type'],
+    fields['of14.table_mod_prop_vacancy.type'],
+    fields['of14.table_mod_prop_vacancy.length'],
+    fields['of14.table_mod_prop_vacancy.vacancy_down'],
+    fields['of14.table_mod_prop_vacancy.vacancy_up'],
+    fields['of14.table_mod_prop_vacancy.vacancy'],
     fields['of14.table_stats_entry.table_id'],
     fields['of14.table_stats_entry.active_count'],
     fields['of14.table_stats_entry.lookup_count'],
@@ -15949,39 +18615,16 @@
     fields['of14.table_stats_request.xid'],
     fields['of14.table_stats_request.stats_type'],
     fields['of14.table_stats_request.flags'],
+    fields['of14.table_status.version'],
+    fields['of14.table_status.type'],
+    fields['of14.table_status.length'],
+    fields['of14.table_status.xid'],
+    fields['of14.table_status.role'],
+    fields['of14.table_status.reason'],
+    fields['of14.table_status.table'],
     fields['of14.uint32.value'],
     fields['of14.uint64.value'],
     fields['of14.uint8.value'],
-    fields['of14._port_desc_prop_header.type'],
-    fields['of14._port_desc_prop_header.length'],
-    fields['of14._port_stats_prop_ethernet.type'],
-    fields['of14._port_stats_prop_ethernet.length'],
-    fields['of14._port_stats_prop_ethernet.rx_frame_err'],
-    fields['of14._port_stats_prop_ethernet.rx_over_err'],
-    fields['of14._port_stats_prop_ethernet.rx_crc_err'],
-    fields['of14._port_stats_prop_ethernet.collisions'],
-    fields['of14._port_stats_prop_experimenter.type'],
-    fields['of14._port_stats_prop_experimenter.length'],
-    fields['of14._port_stats_prop_experimenter.experimenter'],
-    fields['of14._port_stats_prop_experimenter.exp_type'],
-    fields['of14._port_stats_prop_experimenter.experimenter_data'],
-    fields['of14._port_stats_prop_header.type'],
-    fields['of14._port_stats_prop_header.length'],
-    fields['of14._port_stats_prop_optical.type'],
-    fields['of14._port_stats_prop_optical.length'],
-    fields['of14._port_stats_prop_optical.flags'],
-    fields['of14._port_stats_prop_optical.tx_freq_lmda'],
-    fields['of14._port_stats_prop_optical.tx_offset'],
-    fields['of14._port_stats_prop_optical.tx_grid_span'],
-    fields['of14._port_stats_prop_optical.rx_freq_lmda'],
-    fields['of14._port_stats_prop_optical.rx_offset'],
-    fields['of14._port_stats_prop_optical.rx_grid_span'],
-    fields['of14._port_stats_prop_optical.tx_pwr'],
-    fields['of14._port_stats_prop_optical.rx_pwr'],
-    fields['of14._port_stats_prop_optical.bias_current'],
-    fields['of14._port_stats_prop_optical.temperature'],
-    fields['of14._table_mod_prop_header.type'],
-    fields['of14._table_mod_prop_header.length'],
 }
 
 -- Subclass maps for virtual classes
@@ -16082,6 +18725,8 @@
 of_queue_prop_v4_dissectors = {}
 of_queue_prop_experimenter_v4_dissectors = {}
 of_table_feature_prop_v4_dissectors = {}
+of_table_feature_prop_experimenter_v4_dissectors = {}
+of_table_feature_prop_experimenter_miss_v4_dissectors = {}
 of_action_v5_dissectors = {}
 of_action_id_v5_dissectors = {}
 of_action_experimenter_v5_dissectors = {}
@@ -16095,25 +18740,47 @@
 of_stats_reply_v5_dissectors = {}
 of_stats_request_v5_dissectors = {}
 of_error_msg_v5_dissectors = {}
+of_async_config_prop_v5_dissectors = {}
 of_experimenter_v5_dissectors = {}
 of_bsn_header_v5_dissectors = {}
 of_experimenter_stats_reply_v5_dissectors = {}
 of_bsn_stats_reply_v5_dissectors = {}
 of_experimenter_stats_request_v5_dissectors = {}
 of_bsn_stats_request_v5_dissectors = {}
+of_bsn_tlv_v5_dissectors = {}
 of_bsn_vport_v5_dissectors = {}
+of_bundle_prop_v5_dissectors = {}
+of_bundle_prop_experimenter_v5_dissectors = {}
 of_flow_mod_v5_dissectors = {}
 of_group_mod_v5_dissectors = {}
 of_hello_elem_v5_dissectors = {}
 of_instruction_v5_dissectors = {}
 of_instruction_id_v5_dissectors = {}
 of_instruction_experimenter_v5_dissectors = {}
+of_instruction_bsn_v5_dissectors = {}
 of_instruction_id_experimenter_v5_dissectors = {}
+of_instruction_id_bsn_v5_dissectors = {}
 of_meter_band_v5_dissectors = {}
 of_nicira_header_v5_dissectors = {}
+of_port_desc_prop_v5_dissectors = {}
+of_port_desc_prop_experimenter_v5_dissectors = {}
+of_port_mod_prop_v5_dissectors = {}
+of_port_mod_prop_experimenter_v5_dissectors = {}
+of_port_stats_prop_v5_dissectors = {}
+of_port_stats_prop_experimenter_v5_dissectors = {}
+of_queue_desc_prop_v5_dissectors = {}
+of_queue_desc_prop_experimenter_v5_dissectors = {}
 of_queue_prop_v5_dissectors = {}
 of_queue_prop_experimenter_v5_dissectors = {}
+of_queue_stats_prop_v5_dissectors = {}
+of_queue_stats_prop_experimenter_v5_dissectors = {}
+of_role_prop_v5_dissectors = {}
+of_role_prop_experimenter_v5_dissectors = {}
 of_table_feature_prop_v5_dissectors = {}
+of_table_feature_prop_experimenter_v5_dissectors = {}
+of_table_feature_prop_experimenter_miss_v5_dissectors = {}
+of_table_mod_prop_v5_dissectors = {}
+of_table_mod_prop_experimenter_v5_dissectors = {}
 
 --- Dissectors for each class
 -- virtual top-level class of_action
@@ -21602,6 +24269,25 @@
 end
 of_oxm_v3_dissectors[196896] = dissect_of_oxm_bsn_in_ports_128_masked_v3
 
+-- child class of_oxm_bsn_l2_cache_hit
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l2_cache_hit_v3(reader, subtree)
+    read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l2_cache_hit.type_len')
+    read_uint8_t(reader, 3, subtree, 'of12.oxm_bsn_l2_cache_hit.value')
+    return 'of_oxm_bsn_l2_cache_hit'
+end
+of_oxm_v3_dissectors[205825] = dissect_of_oxm_bsn_l2_cache_hit_v3
+
+-- child class of_oxm_bsn_l2_cache_hit_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l2_cache_hit_masked_v3(reader, subtree)
+    read_uint32_t(reader, 3, subtree, 'of12.oxm_bsn_l2_cache_hit_masked.type_len')
+    read_uint8_t(reader, 3, subtree, 'of12.oxm_bsn_l2_cache_hit_masked.value')
+    read_uint8_t(reader, 3, subtree, 'of12.oxm_bsn_l2_cache_hit_masked.value_mask')
+    return 'of_oxm_bsn_l2_cache_hit_masked'
+end
+of_oxm_v3_dissectors[206082] = dissect_of_oxm_bsn_l2_cache_hit_masked_v3
+
 -- child class of_oxm_bsn_l3_dst_class_id
 -- Child of of_oxm
 function dissect_of_oxm_bsn_l3_dst_class_id_v3(reader, subtree)
@@ -23000,6 +25686,33 @@
 end
 of_action_id_bsn_v4_dissectors[4] = dissect_of_action_id_bsn_checksum_v4
 
+-- child class of_action_bsn_gentable
+-- Child of of_action_bsn
+function dissect_of_action_bsn_gentable_v4(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 4, subtree, 'of13.action_bsn_gentable.type')
+    read_uint16_t(reader, 4, subtree, 'of13.action_bsn_gentable.len')
+    read_uint32_t(reader, 4, subtree, 'of13.action_bsn_gentable.experimenter')
+    read_uint32_t(reader, 4, subtree, 'of13.action_bsn_gentable.subtype')
+    read_uint32_t(reader, 4, subtree, 'of13.action_bsn_gentable.table_id')
+    read_list(reader, dissect_of_bsn_tlv_v4, subtree, 'of_bsn_tlv')
+    return 'of_action_bsn_gentable'
+end
+of_action_bsn_v4_dissectors[5] = dissect_of_action_bsn_gentable_v4
+
+-- child class of_action_id_bsn_gentable
+-- Child of of_action_id_bsn
+function dissect_of_action_id_bsn_gentable_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_gentable.type')
+    read_uint16_t(reader, 4, subtree, 'of13.action_id_bsn_gentable.len')
+    read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_gentable.experimenter')
+    read_uint32_t(reader, 4, subtree, 'of13.action_id_bsn_gentable.subtype')
+    return 'of_action_id_bsn_gentable'
+end
+of_action_id_bsn_v4_dissectors[5] = dissect_of_action_id_bsn_gentable_v4
+
 -- child class of_action_bsn_mirror
 -- Child of of_action_bsn
 function dissect_of_action_bsn_mirror_v4(reader, subtree)
@@ -24994,6 +27707,66 @@
 function dissect_of_bsn_tlv_v4(reader, subtree)
     return of_bsn_tlv_v4_dissectors[reader.peek(0,2):uint()](reader, subtree)
 end
+-- child class of_bsn_tlv_actor_key
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_key_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_key.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_key.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_key.value')
+    return 'of_bsn_tlv_actor_key'
+end
+of_bsn_tlv_v4_dissectors[44] = dissect_of_bsn_tlv_actor_key_v4
+
+-- child class of_bsn_tlv_actor_port_num
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_port_num_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_port_num.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_port_num.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_port_num.value')
+    return 'of_bsn_tlv_actor_port_num'
+end
+of_bsn_tlv_v4_dissectors[43] = dissect_of_bsn_tlv_actor_port_num_v4
+
+-- child class of_bsn_tlv_actor_port_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_port_priority_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_port_priority.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_port_priority.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_port_priority.value')
+    return 'of_bsn_tlv_actor_port_priority'
+end
+of_bsn_tlv_v4_dissectors[42] = dissect_of_bsn_tlv_actor_port_priority_v4
+
+-- child class of_bsn_tlv_actor_state
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_state_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_state.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_state.length')
+    read_uint8_t(reader, 4, subtree, 'of13.bsn_tlv_actor_state.value')
+    return 'of_bsn_tlv_actor_state'
+end
+of_bsn_tlv_v4_dissectors[53] = dissect_of_bsn_tlv_actor_state_v4
+
+-- child class of_bsn_tlv_actor_system_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_system_mac_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_system_mac.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_system_mac.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_actor_system_mac.value')
+    return 'of_bsn_tlv_actor_system_mac'
+end
+of_bsn_tlv_v4_dissectors[41] = dissect_of_bsn_tlv_actor_system_mac_v4
+
+-- child class of_bsn_tlv_actor_system_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_system_priority_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_system_priority.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_system_priority.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_actor_system_priority.value')
+    return 'of_bsn_tlv_actor_system_priority'
+end
+of_bsn_tlv_v4_dissectors[40] = dissect_of_bsn_tlv_actor_system_priority_v4
+
 -- child class of_bsn_tlv_broadcast_query_timeout
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_broadcast_query_timeout_v4(reader, subtree)
@@ -25017,6 +27790,16 @@
 end
 of_bsn_tlv_v4_dissectors[14] = dissect_of_bsn_tlv_circuit_id_v4
 
+-- child class of_bsn_tlv_convergence_status
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_convergence_status_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_convergence_status.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_convergence_status.length')
+    read_uint8_t(reader, 4, subtree, 'of13.bsn_tlv_convergence_status.value')
+    return 'of_bsn_tlv_convergence_status'
+end
+of_bsn_tlv_v4_dissectors[45] = dissect_of_bsn_tlv_convergence_status_v4
+
 -- child class of_bsn_tlv_crc_enabled
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_crc_enabled_v4(reader, subtree)
@@ -25027,6 +27810,99 @@
 end
 of_bsn_tlv_v4_dissectors[22] = dissect_of_bsn_tlv_crc_enabled_v4
 
+-- child class of_bsn_tlv_data
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_data_v4(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_data.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_data.length')
+    read_of_octets_t(reader, 4, subtree, 'of13.bsn_tlv_data.value')
+    return 'of_bsn_tlv_data'
+end
+of_bsn_tlv_v4_dissectors[55] = dissect_of_bsn_tlv_data_v4
+
+-- child class of_bsn_tlv_eth_dst
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_eth_dst_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_eth_dst.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_eth_dst.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_eth_dst.value')
+    return 'of_bsn_tlv_eth_dst'
+end
+of_bsn_tlv_v4_dissectors[33] = dissect_of_bsn_tlv_eth_dst_v4
+
+-- child class of_bsn_tlv_eth_src
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_eth_src_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_eth_src.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_eth_src.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_eth_src.value')
+    return 'of_bsn_tlv_eth_src'
+end
+of_bsn_tlv_v4_dissectors[32] = dissect_of_bsn_tlv_eth_src_v4
+
+-- child class of_bsn_tlv_external_gateway_ip
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_gateway_ip_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_gateway_ip.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_gateway_ip.length')
+    read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_tlv_external_gateway_ip.value')
+    return 'of_bsn_tlv_external_gateway_ip'
+end
+of_bsn_tlv_v4_dissectors[26] = dissect_of_bsn_tlv_external_gateway_ip_v4
+
+-- child class of_bsn_tlv_external_gateway_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_gateway_mac_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_gateway_mac.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_gateway_mac.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_external_gateway_mac.value')
+    return 'of_bsn_tlv_external_gateway_mac'
+end
+of_bsn_tlv_v4_dissectors[29] = dissect_of_bsn_tlv_external_gateway_mac_v4
+
+-- child class of_bsn_tlv_external_ip
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_ip_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_ip.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_ip.length')
+    read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_tlv_external_ip.value')
+    return 'of_bsn_tlv_external_ip'
+end
+of_bsn_tlv_v4_dissectors[23] = dissect_of_bsn_tlv_external_ip_v4
+
+-- child class of_bsn_tlv_external_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_mac_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_mac.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_mac.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_external_mac.value')
+    return 'of_bsn_tlv_external_mac'
+end
+of_bsn_tlv_v4_dissectors[24] = dissect_of_bsn_tlv_external_mac_v4
+
+-- child class of_bsn_tlv_external_netmask
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_netmask_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_netmask.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_external_netmask.length')
+    read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_tlv_external_netmask.value')
+    return 'of_bsn_tlv_external_netmask'
+end
+of_bsn_tlv_v4_dissectors[25] = dissect_of_bsn_tlv_external_netmask_v4
+
+-- child class of_bsn_tlv_header_size
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_header_size_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_header_size.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_header_size.length')
+    read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_header_size.value')
+    return 'of_bsn_tlv_header_size'
+end
+of_bsn_tlv_v4_dissectors[31] = dissect_of_bsn_tlv_header_size_v4
+
 -- child class of_bsn_tlv_idle_notification
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_idle_notification_v4(reader, subtree)
@@ -25056,6 +27932,26 @@
 end
 of_bsn_tlv_v4_dissectors[8] = dissect_of_bsn_tlv_idle_timeout_v4
 
+-- child class of_bsn_tlv_internal_gateway_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_internal_gateway_mac_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_internal_gateway_mac.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_internal_gateway_mac.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_internal_gateway_mac.value')
+    return 'of_bsn_tlv_internal_gateway_mac'
+end
+of_bsn_tlv_v4_dissectors[28] = dissect_of_bsn_tlv_internal_gateway_mac_v4
+
+-- child class of_bsn_tlv_internal_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_internal_mac_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_internal_mac.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_internal_mac.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_internal_mac.value')
+    return 'of_bsn_tlv_internal_mac'
+end
+of_bsn_tlv_v4_dissectors[27] = dissect_of_bsn_tlv_internal_mac_v4
+
 -- child class of_bsn_tlv_ipv4
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_ipv4_v4(reader, subtree)
@@ -25066,6 +27962,26 @@
 end
 of_bsn_tlv_v4_dissectors[4] = dissect_of_bsn_tlv_ipv4_v4
 
+-- child class of_bsn_tlv_ipv4_dst
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_ipv4_dst_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4_dst.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4_dst.length')
+    read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4_dst.value')
+    return 'of_bsn_tlv_ipv4_dst'
+end
+of_bsn_tlv_v4_dissectors[35] = dissect_of_bsn_tlv_ipv4_dst_v4
+
+-- child class of_bsn_tlv_ipv4_src
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_ipv4_src_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4_src.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4_src.length')
+    read_of_ipv4_t(reader, 4, subtree, 'of13.bsn_tlv_ipv4_src.value')
+    return 'of_bsn_tlv_ipv4_src'
+end
+of_bsn_tlv_v4_dissectors[34] = dissect_of_bsn_tlv_ipv4_src_v4
+
 -- child class of_bsn_tlv_mac
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_mac_v4(reader, subtree)
@@ -25076,6 +27992,16 @@
 end
 of_bsn_tlv_v4_dissectors[1] = dissect_of_bsn_tlv_mac_v4
 
+-- child class of_bsn_tlv_mac_mask
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_mac_mask_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_mac_mask.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_mac_mask.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_mac_mask.value')
+    return 'of_bsn_tlv_mac_mask'
+end
+of_bsn_tlv_v4_dissectors[56] = dissect_of_bsn_tlv_mac_mask_v4
+
 -- child class of_bsn_tlv_miss_packets
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_miss_packets_v4(reader, subtree)
@@ -25086,6 +28012,79 @@
 end
 of_bsn_tlv_v4_dissectors[13] = dissect_of_bsn_tlv_miss_packets_v4
 
+-- child class of_bsn_tlv_name
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_name_v4(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_name.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_name.length')
+    read_of_octets_t(reader, 4, subtree, 'of13.bsn_tlv_name.value')
+    return 'of_bsn_tlv_name'
+end
+of_bsn_tlv_v4_dissectors[52] = dissect_of_bsn_tlv_name_v4
+
+-- child class of_bsn_tlv_partner_key
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_key_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_key.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_key.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_key.value')
+    return 'of_bsn_tlv_partner_key'
+end
+of_bsn_tlv_v4_dissectors[51] = dissect_of_bsn_tlv_partner_key_v4
+
+-- child class of_bsn_tlv_partner_port_num
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_port_num_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_port_num.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_port_num.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_port_num.value')
+    return 'of_bsn_tlv_partner_port_num'
+end
+of_bsn_tlv_v4_dissectors[50] = dissect_of_bsn_tlv_partner_port_num_v4
+
+-- child class of_bsn_tlv_partner_port_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_port_priority_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_port_priority.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_port_priority.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_port_priority.value')
+    return 'of_bsn_tlv_partner_port_priority'
+end
+of_bsn_tlv_v4_dissectors[49] = dissect_of_bsn_tlv_partner_port_priority_v4
+
+-- child class of_bsn_tlv_partner_state
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_state_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_state.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_state.length')
+    read_uint8_t(reader, 4, subtree, 'of13.bsn_tlv_partner_state.value')
+    return 'of_bsn_tlv_partner_state'
+end
+of_bsn_tlv_v4_dissectors[54] = dissect_of_bsn_tlv_partner_state_v4
+
+-- child class of_bsn_tlv_partner_system_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_system_mac_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_system_mac.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_system_mac.length')
+    read_of_mac_addr_t(reader, 4, subtree, 'of13.bsn_tlv_partner_system_mac.value')
+    return 'of_bsn_tlv_partner_system_mac'
+end
+of_bsn_tlv_v4_dissectors[48] = dissect_of_bsn_tlv_partner_system_mac_v4
+
+-- child class of_bsn_tlv_partner_system_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_system_priority_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_system_priority.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_system_priority.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_partner_system_priority.value')
+    return 'of_bsn_tlv_partner_system_priority'
+end
+of_bsn_tlv_v4_dissectors[47] = dissect_of_bsn_tlv_partner_system_priority_v4
+
 -- child class of_bsn_tlv_port
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_port_v4(reader, subtree)
@@ -25096,6 +28095,16 @@
 end
 of_bsn_tlv_v4_dissectors[0] = dissect_of_bsn_tlv_port_v4
 
+-- child class of_bsn_tlv_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_priority_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_priority.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_priority.length')
+    read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_priority.value')
+    return 'of_bsn_tlv_priority'
+end
+of_bsn_tlv_v4_dissectors[57] = dissect_of_bsn_tlv_priority_v4
+
 -- child class of_bsn_tlv_queue_id
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_queue_id_v4(reader, subtree)
@@ -25146,6 +28155,36 @@
 end
 of_bsn_tlv_v4_dissectors[2] = dissect_of_bsn_tlv_rx_packets_v4
 
+-- child class of_bsn_tlv_sampling_rate
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_sampling_rate_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_sampling_rate.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_sampling_rate.length')
+    read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_sampling_rate.value')
+    return 'of_bsn_tlv_sampling_rate'
+end
+of_bsn_tlv_v4_dissectors[30] = dissect_of_bsn_tlv_sampling_rate_v4
+
+-- child class of_bsn_tlv_sub_agent_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_sub_agent_id_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_sub_agent_id.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_sub_agent_id.length')
+    read_uint32_t(reader, 4, subtree, 'of13.bsn_tlv_sub_agent_id.value')
+    return 'of_bsn_tlv_sub_agent_id'
+end
+of_bsn_tlv_v4_dissectors[38] = dissect_of_bsn_tlv_sub_agent_id_v4
+
+-- child class of_bsn_tlv_tx_bytes
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_tx_bytes_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_tx_bytes.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_tx_bytes.length')
+    read_uint64_t(reader, 4, subtree, 'of13.bsn_tlv_tx_bytes.value')
+    return 'of_bsn_tlv_tx_bytes'
+end
+of_bsn_tlv_v4_dissectors[39] = dissect_of_bsn_tlv_tx_bytes_v4
+
 -- child class of_bsn_tlv_tx_packets
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_tx_packets_v4(reader, subtree)
@@ -25196,6 +28235,26 @@
 end
 of_bsn_tlv_v4_dissectors[17] = dissect_of_bsn_tlv_udf_offset_v4
 
+-- child class of_bsn_tlv_udp_dst
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udp_dst_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udp_dst.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udp_dst.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udp_dst.value')
+    return 'of_bsn_tlv_udp_dst'
+end
+of_bsn_tlv_v4_dissectors[37] = dissect_of_bsn_tlv_udp_dst_v4
+
+-- child class of_bsn_tlv_udp_src
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udp_src_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udp_src.type')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udp_src.length')
+    read_uint16_t(reader, 4, subtree, 'of13.bsn_tlv_udp_src.value')
+    return 'of_bsn_tlv_udp_src'
+end
+of_bsn_tlv_v4_dissectors[36] = dissect_of_bsn_tlv_udp_src_v4
+
 -- child class of_bsn_tlv_unicast_query_timeout
 -- Child of of_bsn_tlv
 function dissect_of_bsn_tlv_unicast_query_timeout_v4(reader, subtree)
@@ -26392,6 +29451,29 @@
 end
 of_instruction_id_bsn_v4_dissectors[8] = dissect_of_instruction_id_bsn_require_vlan_xlate_v4
 
+-- child class of_instruction_bsn_span_destination
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_span_destination_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_span_destination.type')
+    read_uint16_t(reader, 4, subtree, 'of13.instruction_bsn_span_destination.len')
+    read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_span_destination.experimenter')
+    read_uint32_t(reader, 4, subtree, 'of13.instruction_bsn_span_destination.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_span_destination'
+end
+of_instruction_bsn_v4_dissectors[10] = dissect_of_instruction_bsn_span_destination_v4
+
+-- child class of_instruction_id_bsn_span_destination
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_span_destination_v4(reader, subtree)
+    read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_span_destination.type')
+    read_uint16_t(reader, 4, subtree, 'of13.instruction_id_bsn_span_destination.len')
+    read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_span_destination.experimenter')
+    read_uint32_t(reader, 4, subtree, 'of13.instruction_id_bsn_span_destination.subtype')
+    return 'of_instruction_id_bsn_span_destination'
+end
+of_instruction_id_bsn_v4_dissectors[10] = dissect_of_instruction_id_bsn_span_destination_v4
+
 -- child class of_instruction_clear_actions
 -- Child of of_instruction
 function dissect_of_instruction_clear_actions_v4(reader, subtree)
@@ -26882,6 +29964,25 @@
 end
 of_oxm_v4_dissectors[196896] = dissect_of_oxm_bsn_in_ports_128_masked_v4
 
+-- child class of_oxm_bsn_l2_cache_hit
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l2_cache_hit_v4(reader, subtree)
+    read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l2_cache_hit.type_len')
+    read_uint8_t(reader, 4, subtree, 'of13.oxm_bsn_l2_cache_hit.value')
+    return 'of_oxm_bsn_l2_cache_hit'
+end
+of_oxm_v4_dissectors[205825] = dissect_of_oxm_bsn_l2_cache_hit_v4
+
+-- child class of_oxm_bsn_l2_cache_hit_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l2_cache_hit_masked_v4(reader, subtree)
+    read_uint32_t(reader, 4, subtree, 'of13.oxm_bsn_l2_cache_hit_masked.type_len')
+    read_uint8_t(reader, 4, subtree, 'of13.oxm_bsn_l2_cache_hit_masked.value')
+    read_uint8_t(reader, 4, subtree, 'of13.oxm_bsn_l2_cache_hit_masked.value_mask')
+    return 'of_oxm_bsn_l2_cache_hit_masked'
+end
+of_oxm_v4_dissectors[206082] = dissect_of_oxm_bsn_l2_cache_hit_masked_v4
+
 -- child class of_oxm_bsn_l3_dst_class_id
 -- Child of of_oxm
 function dissect_of_oxm_bsn_l3_dst_class_id_v4(reader, subtree)
@@ -27452,6 +30553,25 @@
 end
 of_oxm_v4_dissectors[2147497760] = dissect_of_oxm_ipv6_dst_masked_v4
 
+-- child class of_oxm_ipv6_exthdr
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_exthdr_v4(reader, subtree)
+    read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_exthdr.type_len')
+    read_uint16_t(reader, 4, subtree, 'of13.oxm_ipv6_exthdr.value')
+    return 'of_oxm_ipv6_exthdr'
+end
+of_oxm_v4_dissectors[2147503618] = dissect_of_oxm_ipv6_exthdr_v4
+
+-- child class of_oxm_ipv6_exthdr_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_exthdr_masked_v4(reader, subtree)
+    read_uint32_t(reader, 4, subtree, 'of13.oxm_ipv6_exthdr_masked.type_len')
+    read_uint16_t(reader, 4, subtree, 'of13.oxm_ipv6_exthdr_masked.value')
+    read_uint16_t(reader, 4, subtree, 'of13.oxm_ipv6_exthdr_masked.value_mask')
+    return 'of_oxm_ipv6_exthdr_masked'
+end
+of_oxm_v4_dissectors[2147503876] = dissect_of_oxm_ipv6_exthdr_masked_v4
+
 -- child class of_oxm_ipv6_flabel
 -- Child of of_oxm
 function dissect_of_oxm_ipv6_flabel_v4(reader, subtree)
@@ -27566,6 +30686,25 @@
 end
 of_oxm_v4_dissectors[2147484944] = dissect_of_oxm_metadata_masked_v4
 
+-- child class of_oxm_mpls_bos
+-- Child of of_oxm
+function dissect_of_oxm_mpls_bos_v4(reader, subtree)
+    read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_bos.type_len')
+    read_uint8_t(reader, 4, subtree, 'of13.oxm_mpls_bos.value')
+    return 'of_oxm_mpls_bos'
+end
+of_oxm_v4_dissectors[2147502081] = dissect_of_oxm_mpls_bos_v4
+
+-- child class of_oxm_mpls_bos_masked
+-- Child of of_oxm
+function dissect_of_oxm_mpls_bos_masked_v4(reader, subtree)
+    read_uint32_t(reader, 4, subtree, 'of13.oxm_mpls_bos_masked.type_len')
+    read_uint8_t(reader, 4, subtree, 'of13.oxm_mpls_bos_masked.value')
+    read_uint8_t(reader, 4, subtree, 'of13.oxm_mpls_bos_masked.value_mask')
+    return 'of_oxm_mpls_bos_masked'
+end
+of_oxm_v4_dissectors[2147502338] = dissect_of_oxm_mpls_bos_masked_v4
+
 -- child class of_oxm_mpls_label
 -- Child of of_oxm
 function dissect_of_oxm_mpls_label_v4(reader, subtree)
@@ -28244,33 +31383,19 @@
 end
 of_table_feature_prop_v4_dissectors[15] = dissect_of_table_feature_prop_apply_setfield_miss_v4
 
--- child class of_table_feature_prop_experimenter
+-- virtual child class of_table_feature_prop_experimenter
 -- Child of of_table_feature_prop
+-- Discriminator is experimenter
 function dissect_of_table_feature_prop_experimenter_v4(reader, subtree)
-    local _length = reader.peek(2, 2):uint()
-    local orig_reader = reader
-    reader = orig_reader.slice(_length)
-    read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.type')
-    read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.length')
-    read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.experimenter')
-    read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.subtype')
-    read_of_octets_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter.experimenter_data')
-    return 'of_table_feature_prop_experimenter'
+    return of_table_feature_prop_experimenter_v4_dissectors[reader.peek(4,4):uint()](reader, subtree)
 end
 of_table_feature_prop_v4_dissectors[65534] = dissect_of_table_feature_prop_experimenter_v4
 
--- child class of_table_feature_prop_experimenter_miss
+-- virtual child class of_table_feature_prop_experimenter_miss
 -- Child of of_table_feature_prop
+-- Discriminator is experimenter
 function dissect_of_table_feature_prop_experimenter_miss_v4(reader, subtree)
-    local _length = reader.peek(2, 2):uint()
-    local orig_reader = reader
-    reader = orig_reader.slice(_length)
-    read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.type')
-    read_uint16_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.length')
-    read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.experimenter')
-    read_uint32_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.subtype')
-    read_of_octets_t(reader, 4, subtree, 'of13.table_feature_prop_experimenter_miss.experimenter_data')
-    return 'of_table_feature_prop_experimenter_miss'
+    return of_table_feature_prop_experimenter_miss_v4_dissectors[reader.peek(4,4):uint()](reader, subtree)
 end
 of_table_feature_prop_v4_dissectors[65535] = dissect_of_table_feature_prop_experimenter_miss_v4
 
@@ -28625,6 +31750,33 @@
 end
 of_action_id_bsn_v5_dissectors[4] = dissect_of_action_id_bsn_checksum_v5
 
+-- child class of_action_bsn_gentable
+-- Child of of_action_bsn
+function dissect_of_action_bsn_gentable_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.action_bsn_gentable.type')
+    read_uint16_t(reader, 5, subtree, 'of14.action_bsn_gentable.len')
+    read_uint32_t(reader, 5, subtree, 'of14.action_bsn_gentable.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.action_bsn_gentable.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.action_bsn_gentable.table_id')
+    read_list(reader, dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    return 'of_action_bsn_gentable'
+end
+of_action_bsn_v5_dissectors[5] = dissect_of_action_bsn_gentable_v5
+
+-- child class of_action_id_bsn_gentable
+-- Child of of_action_id_bsn
+function dissect_of_action_id_bsn_gentable_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.action_id_bsn_gentable.type')
+    read_uint16_t(reader, 5, subtree, 'of14.action_id_bsn_gentable.len')
+    read_uint32_t(reader, 5, subtree, 'of14.action_id_bsn_gentable.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.action_id_bsn_gentable.subtype')
+    return 'of_action_id_bsn_gentable'
+end
+of_action_id_bsn_v5_dissectors[5] = dissect_of_action_id_bsn_gentable_v5
+
 -- child class of_action_bsn_mirror
 -- Child of of_action_bsn
 function dissect_of_action_bsn_mirror_v5(reader, subtree)
@@ -29098,57 +32250,6 @@
 end
 of_stats_request_v5_dissectors[2] = dissect_of_aggregate_stats_request_v5
 
--- child class of_async_get_reply
--- Child of of_header
-function dissect_of_async_get_reply_v5(reader, subtree)
-    read_uint8_t(reader, 5, subtree, 'of14.async_get_reply.version')
-    read_uint8_t(reader, 5, subtree, 'of14.async_get_reply.type')
-    read_uint16_t(reader, 5, subtree, 'of14.async_get_reply.length')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.xid')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.packet_in_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.packet_in_mask_slave')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.port_status_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.port_status_mask_slave')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.flow_removed_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.flow_removed_mask_slave')
-    return 'of_async_get_reply'
-end
-of_header_v5_dissectors[27] = dissect_of_async_get_reply_v5
-
--- child class of_async_get_request
--- Child of of_header
-function dissect_of_async_get_request_v5(reader, subtree)
-    read_uint8_t(reader, 5, subtree, 'of14.async_get_request.version')
-    read_uint8_t(reader, 5, subtree, 'of14.async_get_request.type')
-    read_uint16_t(reader, 5, subtree, 'of14.async_get_request.length')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.xid')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.packet_in_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.packet_in_mask_slave')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.port_status_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.port_status_mask_slave')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.flow_removed_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.flow_removed_mask_slave')
-    return 'of_async_get_request'
-end
-of_header_v5_dissectors[26] = dissect_of_async_get_request_v5
-
--- child class of_async_set
--- Child of of_header
-function dissect_of_async_set_v5(reader, subtree)
-    read_uint8_t(reader, 5, subtree, 'of14.async_set.version')
-    read_uint8_t(reader, 5, subtree, 'of14.async_set.type')
-    read_uint16_t(reader, 5, subtree, 'of14.async_set.length')
-    read_uint32_t(reader, 5, subtree, 'of14.async_set.xid')
-    read_uint32_t(reader, 5, subtree, 'of14.async_set.packet_in_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_set.packet_in_mask_slave')
-    read_uint32_t(reader, 5, subtree, 'of14.async_set.port_status_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_set.port_status_mask_slave')
-    read_uint32_t(reader, 5, subtree, 'of14.async_set.flow_removed_mask_equal_master')
-    read_uint32_t(reader, 5, subtree, 'of14.async_set.flow_removed_mask_slave')
-    return 'of_async_set'
-end
-of_header_v5_dissectors[28] = dissect_of_async_set_v5
-
 -- virtual child class of_error_msg
 -- Child of of_header
 -- Discriminator is err_type
@@ -29157,6 +32258,211 @@
 end
 of_header_v5_dissectors[1] = dissect_of_error_msg_v5
 
+-- child class of_async_config_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_async_config_failed_error_msg_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.async_config_failed_error_msg.version')
+    read_uint8_t(reader, 5, subtree, 'of14.async_config_failed_error_msg.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_failed_error_msg.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_failed_error_msg.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_failed_error_msg.err_type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_failed_error_msg.code')
+    read_of_octets_t(reader, 5, subtree, 'of14.async_config_failed_error_msg.data')
+    return 'of_async_config_failed_error_msg'
+end
+of_error_msg_v5_dissectors[15] = dissect_of_async_config_failed_error_msg_v5
+
+-- virtual top-level class of_async_config_prop
+-- Discriminator is type
+function dissect_of_async_config_prop_v5(reader, subtree)
+    return of_async_config_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_async_config_prop_experimenter_master
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_experimenter_master_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_experimenter_master.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_experimenter_master.length')
+    return 'of_async_config_prop_experimenter_master'
+end
+of_async_config_prop_v5_dissectors[65535] = dissect_of_async_config_prop_experimenter_master_v5
+
+-- child class of_async_config_prop_experimenter_slave
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_experimenter_slave_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_experimenter_slave.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_experimenter_slave.length')
+    return 'of_async_config_prop_experimenter_slave'
+end
+of_async_config_prop_v5_dissectors[65534] = dissect_of_async_config_prop_experimenter_slave_v5
+
+-- child class of_async_config_prop_flow_removed_master
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_flow_removed_master_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_flow_removed_master.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_flow_removed_master.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_flow_removed_master.mask')
+    return 'of_async_config_prop_flow_removed_master'
+end
+of_async_config_prop_v5_dissectors[5] = dissect_of_async_config_prop_flow_removed_master_v5
+
+-- child class of_async_config_prop_flow_removed_slave
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_flow_removed_slave_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_flow_removed_slave.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_flow_removed_slave.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_flow_removed_slave.mask')
+    return 'of_async_config_prop_flow_removed_slave'
+end
+of_async_config_prop_v5_dissectors[4] = dissect_of_async_config_prop_flow_removed_slave_v5
+
+-- child class of_async_config_prop_packet_in_master
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_packet_in_master_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_packet_in_master.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_packet_in_master.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_packet_in_master.mask')
+    return 'of_async_config_prop_packet_in_master'
+end
+of_async_config_prop_v5_dissectors[1] = dissect_of_async_config_prop_packet_in_master_v5
+
+-- child class of_async_config_prop_packet_in_slave
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_packet_in_slave_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_packet_in_slave.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_packet_in_slave.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_packet_in_slave.mask')
+    return 'of_async_config_prop_packet_in_slave'
+end
+of_async_config_prop_v5_dissectors[0] = dissect_of_async_config_prop_packet_in_slave_v5
+
+-- child class of_async_config_prop_port_status_master
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_port_status_master_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_port_status_master.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_port_status_master.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_port_status_master.mask')
+    return 'of_async_config_prop_port_status_master'
+end
+of_async_config_prop_v5_dissectors[3] = dissect_of_async_config_prop_port_status_master_v5
+
+-- child class of_async_config_prop_port_status_slave
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_port_status_slave_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_port_status_slave.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_port_status_slave.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_port_status_slave.mask')
+    return 'of_async_config_prop_port_status_slave'
+end
+of_async_config_prop_v5_dissectors[2] = dissect_of_async_config_prop_port_status_slave_v5
+
+-- child class of_async_config_prop_requestforward_master
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_requestforward_master_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_requestforward_master.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_requestforward_master.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_requestforward_master.mask')
+    return 'of_async_config_prop_requestforward_master'
+end
+of_async_config_prop_v5_dissectors[11] = dissect_of_async_config_prop_requestforward_master_v5
+
+-- child class of_async_config_prop_requestforward_slave
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_requestforward_slave_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_requestforward_slave.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_requestforward_slave.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_requestforward_slave.mask')
+    return 'of_async_config_prop_requestforward_slave'
+end
+of_async_config_prop_v5_dissectors[10] = dissect_of_async_config_prop_requestforward_slave_v5
+
+-- child class of_async_config_prop_role_status_master
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_role_status_master_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_role_status_master.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_role_status_master.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_role_status_master.mask')
+    return 'of_async_config_prop_role_status_master'
+end
+of_async_config_prop_v5_dissectors[7] = dissect_of_async_config_prop_role_status_master_v5
+
+-- child class of_async_config_prop_role_status_slave
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_role_status_slave_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_role_status_slave.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_role_status_slave.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_role_status_slave.mask')
+    return 'of_async_config_prop_role_status_slave'
+end
+of_async_config_prop_v5_dissectors[6] = dissect_of_async_config_prop_role_status_slave_v5
+
+-- child class of_async_config_prop_table_status_master
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_table_status_master_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_table_status_master.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_table_status_master.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_table_status_master.mask')
+    return 'of_async_config_prop_table_status_master'
+end
+of_async_config_prop_v5_dissectors[9] = dissect_of_async_config_prop_table_status_master_v5
+
+-- child class of_async_config_prop_table_status_slave
+-- Child of of_async_config_prop
+function dissect_of_async_config_prop_table_status_slave_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_table_status_slave.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_config_prop_table_status_slave.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_config_prop_table_status_slave.mask')
+    return 'of_async_config_prop_table_status_slave'
+end
+of_async_config_prop_v5_dissectors[8] = dissect_of_async_config_prop_table_status_slave_v5
+
+-- child class of_async_get_reply
+-- Child of of_header
+function dissect_of_async_get_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.async_get_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.async_get_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_get_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_get_reply.xid')
+    read_list(reader, dissect_of_async_config_prop_v5, subtree, 'of_async_config_prop')
+    return 'of_async_get_reply'
+end
+of_header_v5_dissectors[27] = dissect_of_async_get_reply_v5
+
+-- child class of_async_get_request
+-- Child of of_header
+function dissect_of_async_get_request_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.async_get_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.async_get_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_get_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_get_request.xid')
+    read_list(reader, dissect_of_async_config_prop_v5, subtree, 'of_async_config_prop')
+    return 'of_async_get_request'
+end
+of_header_v5_dissectors[26] = dissect_of_async_get_request_v5
+
+-- child class of_async_set
+-- Child of of_header
+function dissect_of_async_set_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.async_set.version')
+    read_uint8_t(reader, 5, subtree, 'of14.async_set.type')
+    read_uint16_t(reader, 5, subtree, 'of14.async_set.length')
+    read_uint32_t(reader, 5, subtree, 'of14.async_set.xid')
+    read_list(reader, dissect_of_async_config_prop_v5, subtree, 'of_async_config_prop')
+    return 'of_async_set'
+end
+of_header_v5_dissectors[28] = dissect_of_async_set_v5
+
 -- child class of_bad_action_error_msg
 -- Child of of_error_msg
 function dissect_of_bad_action_error_msg_v5(reader, subtree)
@@ -29208,6 +32514,23 @@
 end
 of_error_msg_v5_dissectors[4] = dissect_of_bad_match_error_msg_v5
 
+-- child class of_bad_property_error_msg
+-- Child of of_error_msg
+function dissect_of_bad_property_error_msg_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bad_property_error_msg.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bad_property_error_msg.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bad_property_error_msg.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bad_property_error_msg.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bad_property_error_msg.err_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bad_property_error_msg.code')
+    read_of_octets_t(reader, 5, subtree, 'of14.bad_property_error_msg.data')
+    return 'of_bad_property_error_msg'
+end
+of_error_msg_v5_dissectors[14] = dissect_of_bad_property_error_msg_v5
+
 -- child class of_bad_request_error_msg
 -- Child of of_error_msg
 function dissect_of_bad_request_error_msg_v5(reader, subtree)
@@ -29263,6 +32586,22 @@
 end
 of_experimenter_v5_dissectors[6035143] = dissect_of_bsn_header_v5
 
+-- child class of_bsn_arp_idle
+-- Child of of_bsn_header
+function dissect_of_bsn_arp_idle_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_arp_idle.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_arp_idle.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_arp_idle.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_arp_idle.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_arp_idle.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_arp_idle.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_arp_idle.vlan_vid')
+    reader.skip(2)
+    read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_arp_idle.ipv4_addr')
+    return 'of_bsn_arp_idle'
+end
+of_bsn_header_v5_dissectors[60] = dissect_of_bsn_arp_idle_v5
+
 -- child class of_bsn_bw_clear_data_reply
 -- Child of of_bsn_header
 function dissect_of_bsn_bw_clear_data_reply_v5(reader, subtree)
@@ -29346,6 +32685,608 @@
 end
 of_bsn_header_v5_dissectors[18] = dissect_of_bsn_bw_enable_set_request_v5
 
+-- top-level class of_bsn_controller_connection
+function dissect_of_bsn_controller_connection_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_controller_connection.state')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_controller_connection.auxiliary_id')
+    reader.skip(2)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_controller_connection.role')
+    read_of_desc_str_t(reader, 5, subtree, 'of14.bsn_controller_connection.uri')
+    return 'of_bsn_controller_connection'
+end
+-- child class of_bsn_controller_connections_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_controller_connections_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_controller_connections_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_controller_connections_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_controller_connections_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_controller_connections_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_controller_connections_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_controller_connections_reply.subtype')
+    read_list(reader, dissect_of_bsn_controller_connection_v5, subtree, 'of_bsn_controller_connection')
+    return 'of_bsn_controller_connections_reply'
+end
+of_bsn_header_v5_dissectors[57] = dissect_of_bsn_controller_connections_reply_v5
+
+-- child class of_bsn_controller_connections_request
+-- Child of of_bsn_header
+function dissect_of_bsn_controller_connections_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_controller_connections_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_controller_connections_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_controller_connections_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_controller_connections_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_controller_connections_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_controller_connections_request.subtype')
+    return 'of_bsn_controller_connections_request'
+end
+of_bsn_header_v5_dissectors[56] = dissect_of_bsn_controller_connections_request_v5
+
+-- top-level class of_bsn_debug_counter_desc_stats_entry
+function dissect_of_bsn_debug_counter_desc_stats_entry_v5(reader, subtree)
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_entry.counter_id')
+    read_of_str64_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_entry.name')
+    read_of_desc_str_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_entry.description')
+    return 'of_bsn_debug_counter_desc_stats_entry'
+end
+-- virtual child class of_experimenter_stats_reply
+-- Child of of_stats_reply
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_reply_v5(reader, subtree)
+    return of_experimenter_stats_reply_v5_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_reply_v5_dissectors[65535] = dissect_of_experimenter_stats_reply_v5
+
+-- virtual child class of_bsn_stats_reply
+-- Child of of_experimenter_stats_reply
+-- Discriminator is subtype
+function dissect_of_bsn_stats_reply_v5(reader, subtree)
+    return of_bsn_stats_reply_v5_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_reply_v5_dissectors[6035143] = dissect_of_bsn_stats_reply_v5
+
+-- child class of_bsn_debug_counter_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_debug_counter_desc_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_debug_counter_desc_stats_entry_v5, subtree, 'of_bsn_debug_counter_desc_stats_entry')
+    return 'of_bsn_debug_counter_desc_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[13] = dissect_of_bsn_debug_counter_desc_stats_reply_v5
+
+-- virtual child class of_experimenter_stats_request
+-- Child of of_stats_request
+-- Discriminator is experimenter
+function dissect_of_experimenter_stats_request_v5(reader, subtree)
+    return of_experimenter_stats_request_v5_dissectors[reader.peek(16,4):uint()](reader, subtree)
+end
+of_stats_request_v5_dissectors[65535] = dissect_of_experimenter_stats_request_v5
+
+-- virtual child class of_bsn_stats_request
+-- Child of of_experimenter_stats_request
+-- Discriminator is subtype
+function dissect_of_bsn_stats_request_v5(reader, subtree)
+    return of_bsn_stats_request_v5_dissectors[reader.peek(20,4):uint()](reader, subtree)
+end
+of_experimenter_stats_request_v5_dissectors[6035143] = dissect_of_bsn_stats_request_v5
+
+-- child class of_bsn_debug_counter_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_debug_counter_desc_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_desc_stats_request.subtype')
+    return 'of_bsn_debug_counter_desc_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[13] = dissect_of_bsn_debug_counter_desc_stats_request_v5
+
+-- top-level class of_bsn_debug_counter_stats_entry
+function dissect_of_bsn_debug_counter_stats_entry_v5(reader, subtree)
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_entry.counter_id')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_entry.value')
+    return 'of_bsn_debug_counter_stats_entry'
+end
+-- child class of_bsn_debug_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_debug_counter_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_debug_counter_stats_entry_v5, subtree, 'of_bsn_debug_counter_stats_entry')
+    return 'of_bsn_debug_counter_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[12] = dissect_of_bsn_debug_counter_stats_reply_v5
+
+-- child class of_bsn_debug_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_debug_counter_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_debug_counter_stats_request.subtype')
+    return 'of_bsn_debug_counter_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[12] = dissect_of_bsn_debug_counter_stats_request_v5
+
+-- top-level class of_bsn_flow_checksum_bucket_stats_entry
+function dissect_of_bsn_flow_checksum_bucket_stats_entry_v5(reader, subtree)
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_entry.checksum')
+    return 'of_bsn_flow_checksum_bucket_stats_entry'
+end
+-- child class of_bsn_flow_checksum_bucket_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_flow_checksum_bucket_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_flow_checksum_bucket_stats_entry_v5, subtree, 'of_bsn_flow_checksum_bucket_stats_entry')
+    return 'of_bsn_flow_checksum_bucket_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[10] = dissect_of_bsn_flow_checksum_bucket_stats_reply_v5
+
+-- child class of_bsn_flow_checksum_bucket_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_flow_checksum_bucket_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.subtype')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_checksum_bucket_stats_request.table_id')
+    return 'of_bsn_flow_checksum_bucket_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[10] = dissect_of_bsn_flow_checksum_bucket_stats_request_v5
+
+-- child class of_bsn_flow_idle
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_idle.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle.subtype')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_flow_idle.cookie')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_idle.priority')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle.table_id')
+    reader.skip(5)
+    read_of_match_t(reader, 5, subtree, 'of14.bsn_flow_idle.match')
+    return 'of_bsn_flow_idle'
+end
+of_bsn_header_v5_dissectors[40] = dissect_of_bsn_flow_idle_v5
+
+-- child class of_bsn_flow_idle_enable_get_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_get_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_reply.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_reply.enabled')
+    return 'of_bsn_flow_idle_enable_get_reply'
+end
+of_bsn_header_v5_dissectors[39] = dissect_of_bsn_flow_idle_enable_get_reply_v5
+
+-- child class of_bsn_flow_idle_enable_get_request
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_get_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_get_request.subtype')
+    return 'of_bsn_flow_idle_enable_get_request'
+end
+of_bsn_header_v5_dissectors[38] = dissect_of_bsn_flow_idle_enable_get_request_v5
+
+-- child class of_bsn_flow_idle_enable_set_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_set_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.enable')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_reply.status')
+    return 'of_bsn_flow_idle_enable_set_reply'
+end
+of_bsn_header_v5_dissectors[37] = dissect_of_bsn_flow_idle_enable_set_reply_v5
+
+-- child class of_bsn_flow_idle_enable_set_request
+-- Child of of_bsn_header
+function dissect_of_bsn_flow_idle_enable_set_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_request.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_flow_idle_enable_set_request.enable')
+    return 'of_bsn_flow_idle_enable_set_request'
+end
+of_bsn_header_v5_dissectors[36] = dissect_of_bsn_flow_idle_enable_set_request_v5
+
+-- top-level class of_bsn_gentable_bucket_stats_entry
+function dissect_of_bsn_gentable_bucket_stats_entry_v5(reader, subtree)
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_entry.checksum')
+    return 'of_bsn_gentable_bucket_stats_entry'
+end
+-- child class of_bsn_gentable_bucket_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_bucket_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_gentable_bucket_stats_entry_v5, subtree, 'of_bsn_gentable_bucket_stats_entry')
+    return 'of_bsn_gentable_bucket_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[5] = dissect_of_bsn_gentable_bucket_stats_reply_v5
+
+-- child class of_bsn_gentable_bucket_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_bucket_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_bucket_stats_request.table_id')
+    return 'of_bsn_gentable_bucket_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[5] = dissect_of_bsn_gentable_bucket_stats_request_v5
+
+-- child class of_bsn_gentable_clear_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_clear_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.table_id')
+    reader.skip(2)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.deleted_count')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_reply.error_count')
+    return 'of_bsn_gentable_clear_reply'
+end
+of_bsn_header_v5_dissectors[49] = dissect_of_bsn_gentable_clear_reply_v5
+
+-- child class of_bsn_gentable_clear_request
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_clear_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.table_id')
+    reader.skip(2)
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.checksum')
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_clear_request.checksum_mask')
+    return 'of_bsn_gentable_clear_request'
+end
+of_bsn_header_v5_dissectors[48] = dissect_of_bsn_gentable_clear_request_v5
+
+-- top-level class of_bsn_gentable_desc_stats_entry
+function dissect_of_bsn_gentable_desc_stats_entry_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_entry.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_entry.table_id')
+    read_of_table_name_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_entry.name')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_entry.buckets_size')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_entry.max_entries')
+    reader.skip(4)
+    return 'of_bsn_gentable_desc_stats_entry'
+end
+-- child class of_bsn_gentable_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_desc_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_gentable_desc_stats_entry_v5, subtree, 'of_bsn_gentable_desc_stats_entry')
+    return 'of_bsn_gentable_desc_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[4] = dissect_of_bsn_gentable_desc_stats_reply_v5
+
+-- child class of_bsn_gentable_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_desc_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_desc_stats_request.subtype')
+    return 'of_bsn_gentable_desc_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[4] = dissect_of_bsn_gentable_desc_stats_request_v5
+
+-- child class of_bsn_gentable_entry_add
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_entry_add_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.table_id')
+    local _key_length = reader.peek(0, 2):uint()
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.key_length')
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_entry_add.checksum')
+    read_list(reader.slice(_key_length), dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    read_list(reader, dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    return 'of_bsn_gentable_entry_add'
+end
+of_bsn_header_v5_dissectors[46] = dissect_of_bsn_gentable_entry_add_v5
+
+-- child class of_bsn_gentable_entry_delete
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_entry_delete_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_delete.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_delete.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_delete.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_delete.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_delete.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_delete.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_delete.table_id')
+    read_list(reader, dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    return 'of_bsn_gentable_entry_delete'
+end
+of_bsn_header_v5_dissectors[47] = dissect_of_bsn_gentable_entry_delete_v5
+
+-- top-level class of_bsn_gentable_entry_desc_stats_entry
+function dissect_of_bsn_gentable_entry_desc_stats_entry_v5(reader, subtree)
+    local _length = reader.peek(0, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_entry.length')
+    local _key_length = reader.peek(0, 2):uint()
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_entry.key_length')
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_entry.checksum')
+    read_list(reader.slice(_key_length), dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    read_list(reader, dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    return 'of_bsn_gentable_entry_desc_stats_entry'
+end
+-- child class of_bsn_gentable_entry_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_entry_desc_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_gentable_entry_desc_stats_entry_v5, subtree, 'of_bsn_gentable_entry_desc_stats_entry')
+    return 'of_bsn_gentable_entry_desc_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[2] = dissect_of_bsn_gentable_entry_desc_stats_reply_v5
+
+-- child class of_bsn_gentable_entry_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_entry_desc_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.table_id')
+    reader.skip(2)
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.checksum')
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_entry_desc_stats_request.checksum_mask')
+    return 'of_bsn_gentable_entry_desc_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[2] = dissect_of_bsn_gentable_entry_desc_stats_request_v5
+
+-- top-level class of_bsn_gentable_entry_stats_entry
+function dissect_of_bsn_gentable_entry_stats_entry_v5(reader, subtree)
+    local _length = reader.peek(0, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_entry.length')
+    local _key_length = reader.peek(0, 2):uint()
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_entry.key_length')
+    read_list(reader.slice(_key_length), dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    read_list(reader, dissect_of_bsn_tlv_v5, subtree, 'of_bsn_tlv')
+    return 'of_bsn_gentable_entry_stats_entry'
+end
+-- child class of_bsn_gentable_entry_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_entry_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_gentable_entry_stats_entry_v5, subtree, 'of_bsn_gentable_entry_stats_entry')
+    return 'of_bsn_gentable_entry_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[3] = dissect_of_bsn_gentable_entry_stats_reply_v5
+
+-- child class of_bsn_gentable_entry_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_entry_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.table_id')
+    reader.skip(2)
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.checksum')
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_entry_stats_request.checksum_mask')
+    return 'of_bsn_gentable_entry_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[3] = dissect_of_bsn_gentable_entry_stats_request_v5
+
+-- child class of_bsn_gentable_set_buckets_size
+-- Child of of_bsn_header
+function dissect_of_bsn_gentable_set_buckets_size_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.table_id')
+    reader.skip(2)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_set_buckets_size.buckets_size')
+    return 'of_bsn_gentable_set_buckets_size'
+end
+of_bsn_header_v5_dissectors[50] = dissect_of_bsn_gentable_set_buckets_size_v5
+
+-- top-level class of_bsn_gentable_stats_entry
+function dissect_of_bsn_gentable_stats_entry_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_stats_entry.table_id')
+    reader.skip(2)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_stats_entry.entry_count')
+    read_of_checksum_128_t(reader, 5, subtree, 'of14.bsn_gentable_stats_entry.checksum')
+    return 'of_bsn_gentable_stats_entry'
+end
+-- child class of_bsn_gentable_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_gentable_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_gentable_stats_entry_v5, subtree, 'of_bsn_gentable_stats_entry')
+    return 'of_bsn_gentable_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[7] = dissect_of_bsn_gentable_stats_reply_v5
+
+-- child class of_bsn_gentable_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_gentable_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_gentable_stats_request.subtype')
+    return 'of_bsn_gentable_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[7] = dissect_of_bsn_gentable_stats_request_v5
+
 -- child class of_bsn_get_interfaces_reply
 -- Child of of_bsn_header
 function dissect_of_bsn_get_interfaces_reply_v5(reader, subtree)
@@ -29406,6 +33347,67 @@
 end
 of_bsn_header_v5_dissectors[4] = dissect_of_bsn_get_mirroring_request_v5
 
+-- child class of_bsn_get_switch_pipeline_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_get_switch_pipeline_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_reply.subtype')
+    read_of_desc_str_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_reply.pipeline')
+    return 'of_bsn_get_switch_pipeline_reply'
+end
+of_bsn_header_v5_dissectors[52] = dissect_of_bsn_get_switch_pipeline_reply_v5
+
+-- child class of_bsn_get_switch_pipeline_request
+-- Child of of_bsn_header
+function dissect_of_bsn_get_switch_pipeline_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_get_switch_pipeline_request.subtype')
+    return 'of_bsn_get_switch_pipeline_request'
+end
+of_bsn_header_v5_dissectors[51] = dissect_of_bsn_get_switch_pipeline_request_v5
+
+-- child class of_bsn_image_desc_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_image_desc_stats_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.subtype')
+    read_of_desc_str_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.image_checksum')
+    read_of_desc_str_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_reply.startup_config_checksum')
+    return 'of_bsn_image_desc_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[14] = dissect_of_bsn_image_desc_stats_reply_v5
+
+-- child class of_bsn_image_desc_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_image_desc_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_image_desc_stats_request.subtype')
+    return 'of_bsn_image_desc_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[14] = dissect_of_bsn_image_desc_stats_request_v5
+
 -- top-level class of_bsn_interface
 function dissect_of_bsn_interface_v5(reader, subtree)
     read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_interface.hw_addr')
@@ -29415,6 +33417,104 @@
     read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_interface.ipv4_netmask')
     return 'of_bsn_interface'
 end
+-- child class of_bsn_lacp_convergence_notif
+-- Child of of_bsn_header
+function dissect_of_bsn_lacp_convergence_notif_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.subtype')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.convergence_status')
+    reader.skip(3)
+    read_of_port_no_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.port_no')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.actor_sys_priority')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.actor_sys_mac')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.actor_port_priority')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.actor_port_num')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.actor_key')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.partner_sys_priority')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.partner_sys_mac')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.partner_port_priority')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.partner_port_num')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_convergence_notif.partner_key')
+    return 'of_bsn_lacp_convergence_notif'
+end
+of_bsn_header_v5_dissectors[43] = dissect_of_bsn_lacp_convergence_notif_v5
+
+-- top-level class of_bsn_lacp_stats_entry
+function dissect_of_bsn_lacp_stats_entry_v5(reader, subtree)
+    read_of_port_no_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.port_no')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.actor_sys_priority')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.actor_sys_mac')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.actor_port_priority')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.actor_port_num')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.actor_key')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.convergence_status')
+    reader.skip(1)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.partner_sys_priority')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.partner_sys_mac')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.partner_port_priority')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.partner_port_num')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_entry.partner_key')
+    reader.skip(2)
+    return 'of_bsn_lacp_stats_entry'
+end
+-- child class of_bsn_lacp_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_lacp_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_lacp_stats_entry_v5, subtree, 'of_bsn_lacp_stats_entry')
+    return 'of_bsn_lacp_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[1] = dissect_of_bsn_lacp_stats_reply_v5
+
+-- child class of_bsn_lacp_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_lacp_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_lacp_stats_request.subtype')
+    return 'of_bsn_lacp_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[1] = dissect_of_bsn_lacp_stats_request_v5
+
+-- child class of_bsn_log
+-- Child of of_bsn_header
+function dissect_of_bsn_log_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_log.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_log.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_log.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_log.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_log.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_log.subtype')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_log.loglevel')
+    read_of_octets_t(reader, 5, subtree, 'of14.bsn_log.data')
+    return 'of_bsn_log'
+end
+of_bsn_header_v5_dissectors[63] = dissect_of_bsn_log_v5
+
 -- child class of_bsn_pdu_rx_reply
 -- Child of of_bsn_header
 function dissect_of_bsn_pdu_rx_reply_v5(reader, subtree)
@@ -29504,6 +33604,119 @@
 end
 of_bsn_header_v5_dissectors[31] = dissect_of_bsn_pdu_tx_request_v5
 
+-- top-level class of_bsn_port_counter_stats_entry
+function dissect_of_bsn_port_counter_stats_entry_v5(reader, subtree)
+    local _length = reader.peek(0, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_entry.length')
+    reader.skip(2)
+    read_of_port_no_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_entry.port_no')
+    read_list(reader, dissect_of_uint64_v5, subtree, 'of_uint64')
+    return 'of_bsn_port_counter_stats_entry'
+end
+-- child class of_bsn_port_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_port_counter_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_port_counter_stats_entry_v5, subtree, 'of_bsn_port_counter_stats_entry')
+    return 'of_bsn_port_counter_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[8] = dissect_of_bsn_port_counter_stats_reply_v5
+
+-- child class of_bsn_port_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_port_counter_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.subtype')
+    read_of_port_no_t(reader, 5, subtree, 'of14.bsn_port_counter_stats_request.port_no')
+    return 'of_bsn_port_counter_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[8] = dissect_of_bsn_port_counter_stats_request_v5
+
+-- child class of_bsn_set_aux_cxns_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_aux_cxns_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.num_aux')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_reply.status')
+    return 'of_bsn_set_aux_cxns_reply'
+end
+of_bsn_header_v5_dissectors[59] = dissect_of_bsn_set_aux_cxns_reply_v5
+
+-- child class of_bsn_set_aux_cxns_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_aux_cxns_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_request.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_aux_cxns_request.num_aux')
+    return 'of_bsn_set_aux_cxns_request'
+end
+of_bsn_header_v5_dissectors[58] = dissect_of_bsn_set_aux_cxns_request_v5
+
+-- child class of_bsn_set_lacp_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_lacp_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.status')
+    read_of_port_no_t(reader, 5, subtree, 'of14.bsn_set_lacp_reply.port_no')
+    return 'of_bsn_set_lacp_reply'
+end
+of_bsn_header_v5_dissectors[42] = dissect_of_bsn_set_lacp_reply_v5
+
+-- child class of_bsn_set_lacp_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_lacp_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.subtype')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.enabled')
+    reader.skip(3)
+    read_of_port_no_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.port_no')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.actor_sys_priority')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.actor_sys_mac')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.actor_port_priority')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.actor_port_num')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_lacp_request.actor_key')
+    return 'of_bsn_set_lacp_request'
+end
+of_bsn_header_v5_dissectors[41] = dissect_of_bsn_set_lacp_request_v5
+
 -- child class of_bsn_set_mirroring
 -- Child of of_bsn_header
 function dissect_of_bsn_set_mirroring_v5(reader, subtree)
@@ -29552,37 +33765,743 @@
 end
 of_bsn_header_v5_dissectors[11] = dissect_of_bsn_set_pktin_suppression_request_v5
 
--- virtual child class of_experimenter_stats_reply
--- Child of of_stats_reply
--- Discriminator is experimenter
-function dissect_of_experimenter_stats_reply_v5(reader, subtree)
-    return of_experimenter_stats_reply_v5_dissectors[reader.peek(16,4):uint()](reader, subtree)
+-- child class of_bsn_set_switch_pipeline_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_set_switch_pipeline_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_reply.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_reply.status')
+    return 'of_bsn_set_switch_pipeline_reply'
 end
-of_stats_reply_v5_dissectors[65535] = dissect_of_experimenter_stats_reply_v5
+of_bsn_header_v5_dissectors[54] = dissect_of_bsn_set_switch_pipeline_reply_v5
 
--- virtual child class of_bsn_stats_reply
--- Child of of_experimenter_stats_reply
--- Discriminator is subtype
-function dissect_of_bsn_stats_reply_v5(reader, subtree)
-    return of_bsn_stats_reply_v5_dissectors[reader.peek(20,4):uint()](reader, subtree)
+-- child class of_bsn_set_switch_pipeline_request
+-- Child of of_bsn_header
+function dissect_of_bsn_set_switch_pipeline_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_request.subtype')
+    read_of_desc_str_t(reader, 5, subtree, 'of14.bsn_set_switch_pipeline_request.pipeline')
+    return 'of_bsn_set_switch_pipeline_request'
 end
-of_experimenter_stats_reply_v5_dissectors[6035143] = dissect_of_bsn_stats_reply_v5
+of_bsn_header_v5_dissectors[53] = dissect_of_bsn_set_switch_pipeline_request_v5
 
--- virtual child class of_experimenter_stats_request
--- Child of of_stats_request
--- Discriminator is experimenter
-function dissect_of_experimenter_stats_request_v5(reader, subtree)
-    return of_experimenter_stats_request_v5_dissectors[reader.peek(16,4):uint()](reader, subtree)
+-- top-level class of_bsn_switch_pipeline_stats_entry
+function dissect_of_bsn_switch_pipeline_stats_entry_v5(reader, subtree)
+    read_of_desc_str_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_entry.pipeline')
+    return 'of_bsn_switch_pipeline_stats_entry'
 end
-of_stats_request_v5_dissectors[65535] = dissect_of_experimenter_stats_request_v5
+-- child class of_bsn_switch_pipeline_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_switch_pipeline_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_switch_pipeline_stats_entry_v5, subtree, 'of_bsn_switch_pipeline_stats_entry')
+    return 'of_bsn_switch_pipeline_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[6] = dissect_of_bsn_switch_pipeline_stats_reply_v5
 
--- virtual child class of_bsn_stats_request
--- Child of of_experimenter_stats_request
--- Discriminator is subtype
-function dissect_of_bsn_stats_request_v5(reader, subtree)
-    return of_bsn_stats_request_v5_dissectors[reader.peek(20,4):uint()](reader, subtree)
+-- child class of_bsn_switch_pipeline_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_switch_pipeline_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_switch_pipeline_stats_request.subtype')
+    return 'of_bsn_switch_pipeline_stats_request'
 end
-of_experimenter_stats_request_v5_dissectors[6035143] = dissect_of_bsn_stats_request_v5
+of_bsn_stats_request_v5_dissectors[6] = dissect_of_bsn_switch_pipeline_stats_request_v5
+
+-- top-level class of_bsn_table_checksum_stats_entry
+function dissect_of_bsn_table_checksum_stats_entry_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_entry.table_id')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_entry.checksum')
+    return 'of_bsn_table_checksum_stats_entry'
+end
+-- child class of_bsn_table_checksum_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_table_checksum_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_table_checksum_stats_entry_v5, subtree, 'of_bsn_table_checksum_stats_entry')
+    return 'of_bsn_table_checksum_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[11] = dissect_of_bsn_table_checksum_stats_reply_v5
+
+-- child class of_bsn_table_checksum_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_table_checksum_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_checksum_stats_request.subtype')
+    return 'of_bsn_table_checksum_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[11] = dissect_of_bsn_table_checksum_stats_request_v5
+
+-- child class of_bsn_table_set_buckets_size
+-- Child of of_bsn_header
+function dissect_of_bsn_table_set_buckets_size_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.subtype')
+    reader.skip(1)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.table_id')
+    reader.skip(2)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_table_set_buckets_size.buckets_size')
+    return 'of_bsn_table_set_buckets_size'
+end
+of_bsn_header_v5_dissectors[61] = dissect_of_bsn_table_set_buckets_size_v5
+
+-- child class of_bsn_time_reply
+-- Child of of_bsn_header
+function dissect_of_bsn_time_reply_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_time_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_time_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_time_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_time_reply.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_time_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_time_reply.subtype')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_time_reply.time_ms')
+    return 'of_bsn_time_reply'
+end
+of_bsn_header_v5_dissectors[45] = dissect_of_bsn_time_reply_v5
+
+-- child class of_bsn_time_request
+-- Child of of_bsn_header
+function dissect_of_bsn_time_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_time_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_time_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_time_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_time_request.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_time_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_time_request.subtype')
+    return 'of_bsn_time_request'
+end
+of_bsn_header_v5_dissectors[44] = dissect_of_bsn_time_request_v5
+
+-- virtual top-level class of_bsn_tlv
+-- Discriminator is type
+function dissect_of_bsn_tlv_v5(reader, subtree)
+    return of_bsn_tlv_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_bsn_tlv_actor_key
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_key_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_key.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_key.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_key.value')
+    return 'of_bsn_tlv_actor_key'
+end
+of_bsn_tlv_v5_dissectors[44] = dissect_of_bsn_tlv_actor_key_v5
+
+-- child class of_bsn_tlv_actor_port_num
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_port_num_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_port_num.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_port_num.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_port_num.value')
+    return 'of_bsn_tlv_actor_port_num'
+end
+of_bsn_tlv_v5_dissectors[43] = dissect_of_bsn_tlv_actor_port_num_v5
+
+-- child class of_bsn_tlv_actor_port_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_port_priority_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_port_priority.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_port_priority.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_port_priority.value')
+    return 'of_bsn_tlv_actor_port_priority'
+end
+of_bsn_tlv_v5_dissectors[42] = dissect_of_bsn_tlv_actor_port_priority_v5
+
+-- child class of_bsn_tlv_actor_state
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_state_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_state.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_state.length')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_tlv_actor_state.value')
+    return 'of_bsn_tlv_actor_state'
+end
+of_bsn_tlv_v5_dissectors[53] = dissect_of_bsn_tlv_actor_state_v5
+
+-- child class of_bsn_tlv_actor_system_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_system_mac_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_system_mac.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_system_mac.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_actor_system_mac.value')
+    return 'of_bsn_tlv_actor_system_mac'
+end
+of_bsn_tlv_v5_dissectors[41] = dissect_of_bsn_tlv_actor_system_mac_v5
+
+-- child class of_bsn_tlv_actor_system_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_actor_system_priority_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_system_priority.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_system_priority.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_actor_system_priority.value')
+    return 'of_bsn_tlv_actor_system_priority'
+end
+of_bsn_tlv_v5_dissectors[40] = dissect_of_bsn_tlv_actor_system_priority_v5
+
+-- child class of_bsn_tlv_broadcast_query_timeout
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_broadcast_query_timeout_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_broadcast_query_timeout.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_broadcast_query_timeout.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_broadcast_query_timeout.value')
+    return 'of_bsn_tlv_broadcast_query_timeout'
+end
+of_bsn_tlv_v5_dissectors[10] = dissect_of_bsn_tlv_broadcast_query_timeout_v5
+
+-- child class of_bsn_tlv_circuit_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_circuit_id_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_circuit_id.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_circuit_id.length')
+    read_of_octets_t(reader, 5, subtree, 'of14.bsn_tlv_circuit_id.value')
+    return 'of_bsn_tlv_circuit_id'
+end
+of_bsn_tlv_v5_dissectors[14] = dissect_of_bsn_tlv_circuit_id_v5
+
+-- child class of_bsn_tlv_convergence_status
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_convergence_status_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_convergence_status.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_convergence_status.length')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_tlv_convergence_status.value')
+    return 'of_bsn_tlv_convergence_status'
+end
+of_bsn_tlv_v5_dissectors[45] = dissect_of_bsn_tlv_convergence_status_v5
+
+-- child class of_bsn_tlv_crc_enabled
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_crc_enabled_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_crc_enabled.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_crc_enabled.length')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_tlv_crc_enabled.value')
+    return 'of_bsn_tlv_crc_enabled'
+end
+of_bsn_tlv_v5_dissectors[22] = dissect_of_bsn_tlv_crc_enabled_v5
+
+-- child class of_bsn_tlv_data
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_data_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_data.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_data.length')
+    read_of_octets_t(reader, 5, subtree, 'of14.bsn_tlv_data.value')
+    return 'of_bsn_tlv_data'
+end
+of_bsn_tlv_v5_dissectors[55] = dissect_of_bsn_tlv_data_v5
+
+-- child class of_bsn_tlv_eth_dst
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_eth_dst_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_eth_dst.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_eth_dst.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_eth_dst.value')
+    return 'of_bsn_tlv_eth_dst'
+end
+of_bsn_tlv_v5_dissectors[33] = dissect_of_bsn_tlv_eth_dst_v5
+
+-- child class of_bsn_tlv_eth_src
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_eth_src_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_eth_src.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_eth_src.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_eth_src.value')
+    return 'of_bsn_tlv_eth_src'
+end
+of_bsn_tlv_v5_dissectors[32] = dissect_of_bsn_tlv_eth_src_v5
+
+-- child class of_bsn_tlv_external_gateway_ip
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_gateway_ip_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_gateway_ip.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_gateway_ip.length')
+    read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_tlv_external_gateway_ip.value')
+    return 'of_bsn_tlv_external_gateway_ip'
+end
+of_bsn_tlv_v5_dissectors[26] = dissect_of_bsn_tlv_external_gateway_ip_v5
+
+-- child class of_bsn_tlv_external_gateway_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_gateway_mac_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_gateway_mac.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_gateway_mac.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_external_gateway_mac.value')
+    return 'of_bsn_tlv_external_gateway_mac'
+end
+of_bsn_tlv_v5_dissectors[29] = dissect_of_bsn_tlv_external_gateway_mac_v5
+
+-- child class of_bsn_tlv_external_ip
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_ip_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_ip.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_ip.length')
+    read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_tlv_external_ip.value')
+    return 'of_bsn_tlv_external_ip'
+end
+of_bsn_tlv_v5_dissectors[23] = dissect_of_bsn_tlv_external_ip_v5
+
+-- child class of_bsn_tlv_external_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_mac_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_mac.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_mac.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_external_mac.value')
+    return 'of_bsn_tlv_external_mac'
+end
+of_bsn_tlv_v5_dissectors[24] = dissect_of_bsn_tlv_external_mac_v5
+
+-- child class of_bsn_tlv_external_netmask
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_external_netmask_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_netmask.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_external_netmask.length')
+    read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_tlv_external_netmask.value')
+    return 'of_bsn_tlv_external_netmask'
+end
+of_bsn_tlv_v5_dissectors[25] = dissect_of_bsn_tlv_external_netmask_v5
+
+-- child class of_bsn_tlv_header_size
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_header_size_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_header_size.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_header_size.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_header_size.value')
+    return 'of_bsn_tlv_header_size'
+end
+of_bsn_tlv_v5_dissectors[31] = dissect_of_bsn_tlv_header_size_v5
+
+-- child class of_bsn_tlv_idle_notification
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_idle_notification_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_idle_notification.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_idle_notification.length')
+    return 'of_bsn_tlv_idle_notification'
+end
+of_bsn_tlv_v5_dissectors[7] = dissect_of_bsn_tlv_idle_notification_v5
+
+-- child class of_bsn_tlv_idle_time
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_idle_time_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_idle_time.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_idle_time.length')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_tlv_idle_time.value')
+    return 'of_bsn_tlv_idle_time'
+end
+of_bsn_tlv_v5_dissectors[5] = dissect_of_bsn_tlv_idle_time_v5
+
+-- child class of_bsn_tlv_idle_timeout
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_idle_timeout_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_idle_timeout.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_idle_timeout.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_idle_timeout.value')
+    return 'of_bsn_tlv_idle_timeout'
+end
+of_bsn_tlv_v5_dissectors[8] = dissect_of_bsn_tlv_idle_timeout_v5
+
+-- child class of_bsn_tlv_internal_gateway_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_internal_gateway_mac_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_internal_gateway_mac.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_internal_gateway_mac.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_internal_gateway_mac.value')
+    return 'of_bsn_tlv_internal_gateway_mac'
+end
+of_bsn_tlv_v5_dissectors[28] = dissect_of_bsn_tlv_internal_gateway_mac_v5
+
+-- child class of_bsn_tlv_internal_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_internal_mac_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_internal_mac.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_internal_mac.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_internal_mac.value')
+    return 'of_bsn_tlv_internal_mac'
+end
+of_bsn_tlv_v5_dissectors[27] = dissect_of_bsn_tlv_internal_mac_v5
+
+-- child class of_bsn_tlv_ipv4
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_ipv4_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4.length')
+    read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4.value')
+    return 'of_bsn_tlv_ipv4'
+end
+of_bsn_tlv_v5_dissectors[4] = dissect_of_bsn_tlv_ipv4_v5
+
+-- child class of_bsn_tlv_ipv4_dst
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_ipv4_dst_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4_dst.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4_dst.length')
+    read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4_dst.value')
+    return 'of_bsn_tlv_ipv4_dst'
+end
+of_bsn_tlv_v5_dissectors[35] = dissect_of_bsn_tlv_ipv4_dst_v5
+
+-- child class of_bsn_tlv_ipv4_src
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_ipv4_src_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4_src.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4_src.length')
+    read_of_ipv4_t(reader, 5, subtree, 'of14.bsn_tlv_ipv4_src.value')
+    return 'of_bsn_tlv_ipv4_src'
+end
+of_bsn_tlv_v5_dissectors[34] = dissect_of_bsn_tlv_ipv4_src_v5
+
+-- child class of_bsn_tlv_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_mac_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_mac.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_mac.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_mac.value')
+    return 'of_bsn_tlv_mac'
+end
+of_bsn_tlv_v5_dissectors[1] = dissect_of_bsn_tlv_mac_v5
+
+-- child class of_bsn_tlv_mac_mask
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_mac_mask_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_mac_mask.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_mac_mask.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_mac_mask.value')
+    return 'of_bsn_tlv_mac_mask'
+end
+of_bsn_tlv_v5_dissectors[56] = dissect_of_bsn_tlv_mac_mask_v5
+
+-- child class of_bsn_tlv_miss_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_miss_packets_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_miss_packets.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_miss_packets.length')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_tlv_miss_packets.value')
+    return 'of_bsn_tlv_miss_packets'
+end
+of_bsn_tlv_v5_dissectors[13] = dissect_of_bsn_tlv_miss_packets_v5
+
+-- child class of_bsn_tlv_name
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_name_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_name.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_name.length')
+    read_of_octets_t(reader, 5, subtree, 'of14.bsn_tlv_name.value')
+    return 'of_bsn_tlv_name'
+end
+of_bsn_tlv_v5_dissectors[52] = dissect_of_bsn_tlv_name_v5
+
+-- child class of_bsn_tlv_partner_key
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_key_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_key.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_key.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_key.value')
+    return 'of_bsn_tlv_partner_key'
+end
+of_bsn_tlv_v5_dissectors[51] = dissect_of_bsn_tlv_partner_key_v5
+
+-- child class of_bsn_tlv_partner_port_num
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_port_num_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_port_num.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_port_num.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_port_num.value')
+    return 'of_bsn_tlv_partner_port_num'
+end
+of_bsn_tlv_v5_dissectors[50] = dissect_of_bsn_tlv_partner_port_num_v5
+
+-- child class of_bsn_tlv_partner_port_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_port_priority_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_port_priority.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_port_priority.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_port_priority.value')
+    return 'of_bsn_tlv_partner_port_priority'
+end
+of_bsn_tlv_v5_dissectors[49] = dissect_of_bsn_tlv_partner_port_priority_v5
+
+-- child class of_bsn_tlv_partner_state
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_state_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_state.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_state.length')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_tlv_partner_state.value')
+    return 'of_bsn_tlv_partner_state'
+end
+of_bsn_tlv_v5_dissectors[54] = dissect_of_bsn_tlv_partner_state_v5
+
+-- child class of_bsn_tlv_partner_system_mac
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_system_mac_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_system_mac.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_system_mac.length')
+    read_of_mac_addr_t(reader, 5, subtree, 'of14.bsn_tlv_partner_system_mac.value')
+    return 'of_bsn_tlv_partner_system_mac'
+end
+of_bsn_tlv_v5_dissectors[48] = dissect_of_bsn_tlv_partner_system_mac_v5
+
+-- child class of_bsn_tlv_partner_system_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_partner_system_priority_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_system_priority.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_system_priority.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_partner_system_priority.value')
+    return 'of_bsn_tlv_partner_system_priority'
+end
+of_bsn_tlv_v5_dissectors[47] = dissect_of_bsn_tlv_partner_system_priority_v5
+
+-- child class of_bsn_tlv_port
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_port_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_port.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_port.length')
+    read_of_port_no_t(reader, 5, subtree, 'of14.bsn_tlv_port.value')
+    return 'of_bsn_tlv_port'
+end
+of_bsn_tlv_v5_dissectors[0] = dissect_of_bsn_tlv_port_v5
+
+-- child class of_bsn_tlv_priority
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_priority_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_priority.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_priority.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_priority.value')
+    return 'of_bsn_tlv_priority'
+end
+of_bsn_tlv_v5_dissectors[57] = dissect_of_bsn_tlv_priority_v5
+
+-- child class of_bsn_tlv_queue_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_queue_id_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_queue_id.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_queue_id.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_queue_id.value')
+    return 'of_bsn_tlv_queue_id'
+end
+of_bsn_tlv_v5_dissectors[20] = dissect_of_bsn_tlv_queue_id_v5
+
+-- child class of_bsn_tlv_queue_weight
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_queue_weight_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_queue_weight.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_queue_weight.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_queue_weight.value')
+    return 'of_bsn_tlv_queue_weight'
+end
+of_bsn_tlv_v5_dissectors[21] = dissect_of_bsn_tlv_queue_weight_v5
+
+-- child class of_bsn_tlv_reply_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_reply_packets_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_reply_packets.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_reply_packets.length')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_tlv_reply_packets.value')
+    return 'of_bsn_tlv_reply_packets'
+end
+of_bsn_tlv_v5_dissectors[12] = dissect_of_bsn_tlv_reply_packets_v5
+
+-- child class of_bsn_tlv_request_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_request_packets_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_request_packets.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_request_packets.length')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_tlv_request_packets.value')
+    return 'of_bsn_tlv_request_packets'
+end
+of_bsn_tlv_v5_dissectors[11] = dissect_of_bsn_tlv_request_packets_v5
+
+-- child class of_bsn_tlv_rx_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_rx_packets_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_rx_packets.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_rx_packets.length')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_tlv_rx_packets.value')
+    return 'of_bsn_tlv_rx_packets'
+end
+of_bsn_tlv_v5_dissectors[2] = dissect_of_bsn_tlv_rx_packets_v5
+
+-- child class of_bsn_tlv_sampling_rate
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_sampling_rate_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_sampling_rate.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_sampling_rate.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_sampling_rate.value')
+    return 'of_bsn_tlv_sampling_rate'
+end
+of_bsn_tlv_v5_dissectors[30] = dissect_of_bsn_tlv_sampling_rate_v5
+
+-- child class of_bsn_tlv_sub_agent_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_sub_agent_id_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_sub_agent_id.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_sub_agent_id.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_sub_agent_id.value')
+    return 'of_bsn_tlv_sub_agent_id'
+end
+of_bsn_tlv_v5_dissectors[38] = dissect_of_bsn_tlv_sub_agent_id_v5
+
+-- child class of_bsn_tlv_tx_bytes
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_tx_bytes_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_tx_bytes.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_tx_bytes.length')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_tlv_tx_bytes.value')
+    return 'of_bsn_tlv_tx_bytes'
+end
+of_bsn_tlv_v5_dissectors[39] = dissect_of_bsn_tlv_tx_bytes_v5
+
+-- child class of_bsn_tlv_tx_packets
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_tx_packets_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_tx_packets.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_tx_packets.length')
+    read_uint64_t(reader, 5, subtree, 'of14.bsn_tlv_tx_packets.value')
+    return 'of_bsn_tlv_tx_packets'
+end
+of_bsn_tlv_v5_dissectors[3] = dissect_of_bsn_tlv_tx_packets_v5
+
+-- child class of_bsn_tlv_udf_anchor
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_anchor_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_anchor.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_anchor.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_anchor.value')
+    return 'of_bsn_tlv_udf_anchor'
+end
+of_bsn_tlv_v5_dissectors[16] = dissect_of_bsn_tlv_udf_anchor_v5
+
+-- child class of_bsn_tlv_udf_id
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_id_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_id.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_id.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_id.value')
+    return 'of_bsn_tlv_udf_id'
+end
+of_bsn_tlv_v5_dissectors[15] = dissect_of_bsn_tlv_udf_id_v5
+
+-- child class of_bsn_tlv_udf_length
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_length_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_length.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_length.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_length.value')
+    return 'of_bsn_tlv_udf_length'
+end
+of_bsn_tlv_v5_dissectors[18] = dissect_of_bsn_tlv_udf_length_v5
+
+-- child class of_bsn_tlv_udf_offset
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udf_offset_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_offset.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_offset.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udf_offset.value')
+    return 'of_bsn_tlv_udf_offset'
+end
+of_bsn_tlv_v5_dissectors[17] = dissect_of_bsn_tlv_udf_offset_v5
+
+-- child class of_bsn_tlv_udp_dst
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udp_dst_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udp_dst.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udp_dst.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udp_dst.value')
+    return 'of_bsn_tlv_udp_dst'
+end
+of_bsn_tlv_v5_dissectors[37] = dissect_of_bsn_tlv_udp_dst_v5
+
+-- child class of_bsn_tlv_udp_src
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_udp_src_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udp_src.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udp_src.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_udp_src.value')
+    return 'of_bsn_tlv_udp_src'
+end
+of_bsn_tlv_v5_dissectors[36] = dissect_of_bsn_tlv_udp_src_v5
+
+-- child class of_bsn_tlv_unicast_query_timeout
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_unicast_query_timeout_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_unicast_query_timeout.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_unicast_query_timeout.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_unicast_query_timeout.value')
+    return 'of_bsn_tlv_unicast_query_timeout'
+end
+of_bsn_tlv_v5_dissectors[9] = dissect_of_bsn_tlv_unicast_query_timeout_v5
+
+-- child class of_bsn_tlv_vlan_vid
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_vlan_vid_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_vlan_vid.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_vlan_vid.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_vlan_vid.value')
+    return 'of_bsn_tlv_vlan_vid'
+end
+of_bsn_tlv_v5_dissectors[6] = dissect_of_bsn_tlv_vlan_vid_v5
+
+-- child class of_bsn_tlv_vrf
+-- Child of of_bsn_tlv
+function dissect_of_bsn_tlv_vrf_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_vrf.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_tlv_vrf.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_tlv_vrf.value')
+    return 'of_bsn_tlv_vrf'
+end
+of_bsn_tlv_v5_dissectors[19] = dissect_of_bsn_tlv_vrf_v5
 
 -- child class of_bsn_virtual_port_create_reply
 -- Child of of_bsn_header
@@ -29649,6 +34568,54 @@
 end
 of_bsn_header_v5_dissectors[17] = dissect_of_bsn_virtual_port_remove_request_v5
 
+-- top-level class of_bsn_vlan_counter_stats_entry
+function dissect_of_bsn_vlan_counter_stats_entry_v5(reader, subtree)
+    local _length = reader.peek(0, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_entry.length')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_entry.vlan_vid')
+    reader.skip(4)
+    read_list(reader, dissect_of_uint64_v5, subtree, 'of_uint64')
+    return 'of_bsn_vlan_counter_stats_entry'
+end
+-- child class of_bsn_vlan_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_vlan_counter_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_vlan_counter_stats_entry_v5, subtree, 'of_bsn_vlan_counter_stats_entry')
+    return 'of_bsn_vlan_counter_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[9] = dissect_of_bsn_vlan_counter_stats_reply_v5
+
+-- child class of_bsn_vlan_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_vlan_counter_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.subtype')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vlan_counter_stats_request.vlan_vid')
+    return 'of_bsn_vlan_counter_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[9] = dissect_of_bsn_vlan_counter_stats_request_v5
+
 -- child class of_bsn_vport_l2gre
 -- Child of of_bsn_vport
 function dissect_of_bsn_vport_l2gre_v5(reader, subtree)
@@ -29686,6 +34653,54 @@
 end
 of_bsn_vport_v5_dissectors[0] = dissect_of_bsn_vport_q_in_q_v5
 
+-- top-level class of_bsn_vrf_counter_stats_entry
+function dissect_of_bsn_vrf_counter_stats_entry_v5(reader, subtree)
+    local _length = reader.peek(0, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_entry.length')
+    reader.skip(2)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_entry.vrf')
+    read_list(reader, dissect_of_uint64_v5, subtree, 'of_uint64')
+    return 'of_bsn_vrf_counter_stats_entry'
+end
+-- child class of_bsn_vrf_counter_stats_reply
+-- Child of of_bsn_stats_reply
+function dissect_of_bsn_vrf_counter_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_reply.subtype')
+    read_list(reader, dissect_of_bsn_vrf_counter_stats_entry_v5, subtree, 'of_bsn_vrf_counter_stats_entry')
+    return 'of_bsn_vrf_counter_stats_reply'
+end
+of_bsn_stats_reply_v5_dissectors[15] = dissect_of_bsn_vrf_counter_stats_reply_v5
+
+-- child class of_bsn_vrf_counter_stats_request
+-- Child of of_bsn_stats_request
+function dissect_of_bsn_vrf_counter_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.flags')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.subtype')
+    read_uint32_t(reader, 5, subtree, 'of14.bsn_vrf_counter_stats_request.vrf')
+    return 'of_bsn_vrf_counter_stats_request'
+end
+of_bsn_stats_request_v5_dissectors[15] = dissect_of_bsn_vrf_counter_stats_request_v5
+
 -- top-level class of_bucket
 function dissect_of_bucket_v5(reader, subtree)
     local _length = reader.peek(0, 2):uint()
@@ -29705,6 +34720,72 @@
     read_uint64_t(reader, 5, subtree, 'of14.bucket_counter.byte_count')
     return 'of_bucket_counter'
 end
+-- child class of_bundle_add_msg
+-- Child of of_header
+function dissect_of_bundle_add_msg_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bundle_add_msg.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bundle_add_msg.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_add_msg.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bundle_add_msg.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bundle_add_msg.bundle_id')
+    reader.skip(2)
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_add_msg.flags')
+    read_of_octets_t(reader, 5, subtree, 'of14.bundle_add_msg.data')
+    return 'of_bundle_add_msg'
+end
+of_header_v5_dissectors[34] = dissect_of_bundle_add_msg_v5
+
+-- child class of_bundle_ctrl_msg
+-- Child of of_header
+function dissect_of_bundle_ctrl_msg_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bundle_ctrl_msg.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bundle_ctrl_msg.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_ctrl_msg.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bundle_ctrl_msg.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.bundle_ctrl_msg.bundle_id')
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_ctrl_msg.bundle_ctrl_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_ctrl_msg.flags')
+    read_list(reader, dissect_of_bundle_prop_v5, subtree, 'of_bundle_prop')
+    return 'of_bundle_ctrl_msg'
+end
+of_header_v5_dissectors[33] = dissect_of_bundle_ctrl_msg_v5
+
+-- child class of_bundle_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_bundle_failed_error_msg_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.bundle_failed_error_msg.version')
+    read_uint8_t(reader, 5, subtree, 'of14.bundle_failed_error_msg.type')
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_failed_error_msg.length')
+    read_uint32_t(reader, 5, subtree, 'of14.bundle_failed_error_msg.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_failed_error_msg.err_type')
+    read_uint16_t(reader, 5, subtree, 'of14.bundle_failed_error_msg.code')
+    read_of_octets_t(reader, 5, subtree, 'of14.bundle_failed_error_msg.data')
+    return 'of_bundle_failed_error_msg'
+end
+of_error_msg_v5_dissectors[17] = dissect_of_bundle_failed_error_msg_v5
+
+-- virtual top-level class of_bundle_prop
+-- Discriminator is type
+function dissect_of_bundle_prop_v5(reader, subtree)
+    return of_bundle_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_bundle_prop_experimenter
+-- Child of of_bundle_prop
+-- Discriminator is experimenter
+function dissect_of_bundle_prop_experimenter_v5(reader, subtree)
+    return of_bundle_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_bundle_prop_v5_dissectors[65535] = dissect_of_bundle_prop_experimenter_v5
+
 -- child class of_desc_stats_reply
 -- Child of of_stats_reply
 function dissect_of_desc_stats_reply_v5(reader, subtree)
@@ -29980,6 +35061,23 @@
 end
 of_flow_mod_v5_dissectors[2] = dissect_of_flow_modify_strict_v5
 
+-- child class of_flow_monitor_failed_error_msg
+-- Child of of_error_msg
+function dissect_of_flow_monitor_failed_error_msg_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.flow_monitor_failed_error_msg.version')
+    read_uint8_t(reader, 5, subtree, 'of14.flow_monitor_failed_error_msg.type')
+    read_uint16_t(reader, 5, subtree, 'of14.flow_monitor_failed_error_msg.length')
+    read_uint32_t(reader, 5, subtree, 'of14.flow_monitor_failed_error_msg.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.flow_monitor_failed_error_msg.err_type')
+    read_uint16_t(reader, 5, subtree, 'of14.flow_monitor_failed_error_msg.code')
+    read_of_octets_t(reader, 5, subtree, 'of14.flow_monitor_failed_error_msg.data')
+    return 'of_flow_monitor_failed_error_msg'
+end
+of_error_msg_v5_dissectors[16] = dissect_of_flow_monitor_failed_error_msg_v5
+
 -- child class of_flow_removed
 -- Child of of_header
 function dissect_of_flow_removed_v5(reader, subtree)
@@ -30393,6 +35491,268 @@
 end
 of_instruction_id_v5_dissectors[4] = dissect_of_instruction_id_apply_actions_v5
 
+-- virtual child class of_instruction_experimenter
+-- Child of of_instruction
+-- Discriminator is experimenter
+function dissect_of_instruction_experimenter_v5(reader, subtree)
+    return of_instruction_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_instruction_v5_dissectors[65535] = dissect_of_instruction_experimenter_v5
+
+-- virtual child class of_instruction_bsn
+-- Child of of_instruction_experimenter
+-- Discriminator is subtype
+function dissect_of_instruction_bsn_v5(reader, subtree)
+    return of_instruction_bsn_v5_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_instruction_experimenter_v5_dissectors[6035143] = dissect_of_instruction_bsn_v5
+
+-- virtual child class of_instruction_id_experimenter
+-- Child of of_instruction_id
+-- Discriminator is experimenter
+function dissect_of_instruction_id_experimenter_v5(reader, subtree)
+    return of_instruction_id_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_instruction_id_v5_dissectors[65535] = dissect_of_instruction_id_experimenter_v5
+
+-- virtual child class of_instruction_id_bsn
+-- Child of of_instruction_id_experimenter
+-- Discriminator is subtype
+function dissect_of_instruction_id_bsn_v5(reader, subtree)
+    return of_instruction_id_bsn_v5_dissectors[reader.peek(8,4):uint()](reader, subtree)
+end
+of_instruction_id_experimenter_v5_dissectors[6035143] = dissect_of_instruction_id_bsn_v5
+
+-- child class of_instruction_bsn_arp_offload
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_arp_offload_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_arp_offload.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_arp_offload.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_arp_offload.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_arp_offload.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_arp_offload'
+end
+of_instruction_bsn_v5_dissectors[1] = dissect_of_instruction_bsn_arp_offload_v5
+
+-- child class of_instruction_id_bsn_arp_offload
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_arp_offload_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_arp_offload.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_arp_offload.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_arp_offload.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_arp_offload.subtype')
+    return 'of_instruction_id_bsn_arp_offload'
+end
+of_instruction_id_bsn_v5_dissectors[1] = dissect_of_instruction_id_bsn_arp_offload_v5
+
+-- child class of_instruction_bsn_deny
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_deny_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_deny.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_deny.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_deny.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_deny.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_deny'
+end
+of_instruction_bsn_v5_dissectors[5] = dissect_of_instruction_bsn_deny_v5
+
+-- child class of_instruction_id_bsn_deny
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_deny_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_deny.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_deny.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_deny.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_deny.subtype')
+    return 'of_instruction_id_bsn_deny'
+end
+of_instruction_id_bsn_v5_dissectors[5] = dissect_of_instruction_id_bsn_deny_v5
+
+-- child class of_instruction_bsn_dhcp_offload
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_dhcp_offload_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_dhcp_offload.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_dhcp_offload.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_dhcp_offload.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_dhcp_offload.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_dhcp_offload'
+end
+of_instruction_bsn_v5_dissectors[2] = dissect_of_instruction_bsn_dhcp_offload_v5
+
+-- child class of_instruction_id_bsn_dhcp_offload
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_dhcp_offload_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_dhcp_offload.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_dhcp_offload.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_dhcp_offload.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_dhcp_offload.subtype')
+    return 'of_instruction_id_bsn_dhcp_offload'
+end
+of_instruction_id_bsn_v5_dissectors[2] = dissect_of_instruction_id_bsn_dhcp_offload_v5
+
+-- child class of_instruction_bsn_disable_src_mac_check
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_disable_src_mac_check_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_disable_src_mac_check.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_disable_src_mac_check.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_disable_src_mac_check.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_disable_src_mac_check.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_disable_src_mac_check'
+end
+of_instruction_bsn_v5_dissectors[0] = dissect_of_instruction_bsn_disable_src_mac_check_v5
+
+-- child class of_instruction_id_bsn_disable_src_mac_check
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_disable_src_mac_check_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_src_mac_check.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_src_mac_check.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_src_mac_check.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_src_mac_check.subtype')
+    return 'of_instruction_id_bsn_disable_src_mac_check'
+end
+of_instruction_id_bsn_v5_dissectors[0] = dissect_of_instruction_id_bsn_disable_src_mac_check_v5
+
+-- child class of_instruction_bsn_disable_vlan_counters
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_disable_vlan_counters_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_disable_vlan_counters.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_disable_vlan_counters.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_disable_vlan_counters.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_disable_vlan_counters.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_disable_vlan_counters'
+end
+of_instruction_bsn_v5_dissectors[9] = dissect_of_instruction_bsn_disable_vlan_counters_v5
+
+-- child class of_instruction_id_bsn_disable_vlan_counters
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_disable_vlan_counters_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_vlan_counters.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_vlan_counters.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_vlan_counters.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_disable_vlan_counters.subtype')
+    return 'of_instruction_id_bsn_disable_vlan_counters'
+end
+of_instruction_id_bsn_v5_dissectors[9] = dissect_of_instruction_id_bsn_disable_vlan_counters_v5
+
+-- child class of_instruction_bsn_packet_of_death
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_packet_of_death_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_packet_of_death.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_packet_of_death.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_packet_of_death.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_packet_of_death.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_packet_of_death'
+end
+of_instruction_bsn_v5_dissectors[6] = dissect_of_instruction_bsn_packet_of_death_v5
+
+-- child class of_instruction_id_bsn_packet_of_death
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_packet_of_death_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_packet_of_death.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_packet_of_death.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_packet_of_death.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_packet_of_death.subtype')
+    return 'of_instruction_id_bsn_packet_of_death'
+end
+of_instruction_id_bsn_v5_dissectors[6] = dissect_of_instruction_id_bsn_packet_of_death_v5
+
+-- child class of_instruction_bsn_permit
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_permit_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_permit.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_permit.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_permit.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_permit.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_permit'
+end
+of_instruction_bsn_v5_dissectors[4] = dissect_of_instruction_bsn_permit_v5
+
+-- child class of_instruction_id_bsn_permit
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_permit_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_permit.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_permit.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_permit.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_permit.subtype')
+    return 'of_instruction_id_bsn_permit'
+end
+of_instruction_id_bsn_v5_dissectors[4] = dissect_of_instruction_id_bsn_permit_v5
+
+-- child class of_instruction_bsn_prioritize_pdus
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_prioritize_pdus_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_prioritize_pdus.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_prioritize_pdus.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_prioritize_pdus.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_prioritize_pdus.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_prioritize_pdus'
+end
+of_instruction_bsn_v5_dissectors[7] = dissect_of_instruction_bsn_prioritize_pdus_v5
+
+-- child class of_instruction_id_bsn_prioritize_pdus
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_prioritize_pdus_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_prioritize_pdus.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_prioritize_pdus.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_prioritize_pdus.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_prioritize_pdus.subtype')
+    return 'of_instruction_id_bsn_prioritize_pdus'
+end
+of_instruction_id_bsn_v5_dissectors[7] = dissect_of_instruction_id_bsn_prioritize_pdus_v5
+
+-- child class of_instruction_bsn_require_vlan_xlate
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_require_vlan_xlate_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_require_vlan_xlate.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_require_vlan_xlate.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_require_vlan_xlate.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_require_vlan_xlate.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_require_vlan_xlate'
+end
+of_instruction_bsn_v5_dissectors[8] = dissect_of_instruction_bsn_require_vlan_xlate_v5
+
+-- child class of_instruction_id_bsn_require_vlan_xlate
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_require_vlan_xlate_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_require_vlan_xlate.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_require_vlan_xlate.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_require_vlan_xlate.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_require_vlan_xlate.subtype')
+    return 'of_instruction_id_bsn_require_vlan_xlate'
+end
+of_instruction_id_bsn_v5_dissectors[8] = dissect_of_instruction_id_bsn_require_vlan_xlate_v5
+
+-- child class of_instruction_bsn_span_destination
+-- Child of of_instruction_bsn
+function dissect_of_instruction_bsn_span_destination_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_span_destination.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_bsn_span_destination.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_span_destination.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_bsn_span_destination.subtype')
+    reader.skip(4)
+    return 'of_instruction_bsn_span_destination'
+end
+of_instruction_bsn_v5_dissectors[10] = dissect_of_instruction_bsn_span_destination_v5
+
+-- child class of_instruction_id_bsn_span_destination
+-- Child of of_instruction_id_bsn
+function dissect_of_instruction_id_bsn_span_destination_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_span_destination.type')
+    read_uint16_t(reader, 5, subtree, 'of14.instruction_id_bsn_span_destination.len')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_span_destination.experimenter')
+    read_uint32_t(reader, 5, subtree, 'of14.instruction_id_bsn_span_destination.subtype')
+    return 'of_instruction_id_bsn_span_destination'
+end
+of_instruction_id_bsn_v5_dissectors[10] = dissect_of_instruction_id_bsn_span_destination_v5
+
 -- child class of_instruction_clear_actions
 -- Child of of_instruction
 function dissect_of_instruction_clear_actions_v5(reader, subtree)
@@ -30412,31 +35772,13 @@
 end
 of_instruction_id_v5_dissectors[5] = dissect_of_instruction_id_clear_actions_v5
 
--- virtual child class of_instruction_experimenter
--- Child of of_instruction
--- Discriminator is experimenter
-function dissect_of_instruction_experimenter_v5(reader, subtree)
-    return of_instruction_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
-end
-of_instruction_v5_dissectors[65535] = dissect_of_instruction_experimenter_v5
-
--- virtual child class of_instruction_id_experimenter
--- Child of of_instruction_id
--- Discriminator is experimenter
-function dissect_of_instruction_id_experimenter_v5(reader, subtree)
-    return of_instruction_id_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
-end
-of_instruction_id_v5_dissectors[65535] = dissect_of_instruction_id_experimenter_v5
-
 -- child class of_instruction_goto_table
 -- Child of of_instruction
 function dissect_of_instruction_goto_table_v5(reader, subtree)
-    local _length = reader.peek(2, 2):uint()
-    local orig_reader = reader
-    reader = orig_reader.slice(_length)
     read_uint16_t(reader, 5, subtree, 'of14.instruction_goto_table.type')
     read_uint16_t(reader, 5, subtree, 'of14.instruction_goto_table.len')
-    read_list(reader, dissect_uint8_v5, subtree, 'uint8')
+    read_uint8_t(reader, 5, subtree, 'of14.instruction_goto_table.table_id')
+    reader.skip(3)
     return 'of_instruction_goto_table'
 end
 of_instruction_v5_dissectors[1] = dissect_of_instruction_goto_table_v5
@@ -30513,16 +35855,16 @@
 end
 of_instruction_id_v5_dissectors[2] = dissect_of_instruction_id_write_metadata_v5
 
--- top-level class of_match_v4
-function dissect_of_match_v4_v5(reader, subtree)
+-- top-level class of_match_v3
+function dissect_of_match_v3_v5(reader, subtree)
     local _length = reader.peek(2, 2):uint()
     local orig_reader = reader
     reader = orig_reader.slice(_length)
-    read_uint16_t(reader, 5, subtree, 'of14.match_v4.type')
-    read_uint16_t(reader, 5, subtree, 'of14.match_v4.length')
+    read_uint16_t(reader, 5, subtree, 'of14.match_v3.type')
+    read_uint16_t(reader, 5, subtree, 'of14.match_v3.length')
     read_list(reader, dissect_of_oxm_v5, subtree, 'of_oxm')
     orig_reader.skip_align()
-    return 'of_match_v4'
+    return 'of_match_v3'
 end
 -- virtual top-level class of_meter_band
 -- Discriminator is type
@@ -30844,6 +36186,310 @@
 end
 of_oxm_v5_dissectors[2147495688] = dissect_of_oxm_arp_tpa_masked_v5
 
+-- child class of_oxm_bsn_egr_port_group_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_egr_port_group_id_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_egr_port_group_id.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_egr_port_group_id.value')
+    return 'of_oxm_bsn_egr_port_group_id'
+end
+of_oxm_v5_dissectors[200196] = dissect_of_oxm_bsn_egr_port_group_id_v5
+
+-- child class of_oxm_bsn_egr_port_group_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_egr_port_group_id_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_egr_port_group_id_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_egr_port_group_id_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_egr_port_group_id_masked.value_mask')
+    return 'of_oxm_bsn_egr_port_group_id_masked'
+end
+of_oxm_v5_dissectors[200456] = dissect_of_oxm_bsn_egr_port_group_id_masked_v5
+
+-- child class of_oxm_bsn_in_ports_128
+-- Child of of_oxm
+function dissect_of_oxm_bsn_in_ports_128_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_in_ports_128.type_len')
+    read_of_bitmap_128_t(reader, 5, subtree, 'of14.oxm_bsn_in_ports_128.value')
+    return 'of_oxm_bsn_in_ports_128'
+end
+of_oxm_v5_dissectors[196624] = dissect_of_oxm_bsn_in_ports_128_v5
+
+-- child class of_oxm_bsn_in_ports_128_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_in_ports_128_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_in_ports_128_masked.type_len')
+    read_of_bitmap_128_t(reader, 5, subtree, 'of14.oxm_bsn_in_ports_128_masked.value')
+    read_of_bitmap_128_t(reader, 5, subtree, 'of14.oxm_bsn_in_ports_128_masked.value_mask')
+    return 'of_oxm_bsn_in_ports_128_masked'
+end
+of_oxm_v5_dissectors[196896] = dissect_of_oxm_bsn_in_ports_128_masked_v5
+
+-- child class of_oxm_bsn_l3_interface_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_interface_class_id_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_interface_class_id.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_interface_class_id.value')
+    return 'of_oxm_bsn_l3_interface_class_id'
+end
+of_oxm_v5_dissectors[198660] = dissect_of_oxm_bsn_l3_interface_class_id_v5
+
+-- child class of_oxm_bsn_l3_interface_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_interface_class_id_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_interface_class_id_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_interface_class_id_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_interface_class_id_masked.value_mask')
+    return 'of_oxm_bsn_l3_interface_class_id_masked'
+end
+of_oxm_v5_dissectors[198920] = dissect_of_oxm_bsn_l3_interface_class_id_masked_v5
+
+-- child class of_oxm_bsn_l3_src_class_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_src_class_id_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_src_class_id.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_src_class_id.value')
+    return 'of_oxm_bsn_l3_src_class_id'
+end
+of_oxm_v5_dissectors[199172] = dissect_of_oxm_bsn_l3_src_class_id_v5
+
+-- child class of_oxm_bsn_l3_src_class_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_l3_src_class_id_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_src_class_id_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_src_class_id_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_l3_src_class_id_masked.value_mask')
+    return 'of_oxm_bsn_l3_src_class_id_masked'
+end
+of_oxm_v5_dissectors[199432] = dissect_of_oxm_bsn_l3_src_class_id_masked_v5
+
+-- child class of_oxm_bsn_lag_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_lag_id_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_lag_id.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_lag_id.value')
+    return 'of_oxm_bsn_lag_id'
+end
+of_oxm_v5_dissectors[197124] = dissect_of_oxm_bsn_lag_id_v5
+
+-- child class of_oxm_bsn_lag_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_lag_id_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_lag_id_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_lag_id_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_lag_id_masked.value_mask')
+    return 'of_oxm_bsn_lag_id_masked'
+end
+of_oxm_v5_dissectors[197384] = dissect_of_oxm_bsn_lag_id_masked_v5
+
+-- child class of_oxm_bsn_tcp_flags
+-- Child of of_oxm
+function dissect_of_oxm_bsn_tcp_flags_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_tcp_flags.type_len')
+    read_uint16_t(reader, 5, subtree, 'of14.oxm_bsn_tcp_flags.value')
+    return 'of_oxm_bsn_tcp_flags'
+end
+of_oxm_v5_dissectors[204802] = dissect_of_oxm_bsn_tcp_flags_v5
+
+-- child class of_oxm_bsn_tcp_flags_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_tcp_flags_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_tcp_flags_masked.type_len')
+    read_uint16_t(reader, 5, subtree, 'of14.oxm_bsn_tcp_flags_masked.value')
+    read_uint16_t(reader, 5, subtree, 'of14.oxm_bsn_tcp_flags_masked.value_mask')
+    return 'of_oxm_bsn_tcp_flags_masked'
+end
+of_oxm_v5_dissectors[205060] = dissect_of_oxm_bsn_tcp_flags_masked_v5
+
+-- child class of_oxm_bsn_udf0
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf0_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf0.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf0.value')
+    return 'of_oxm_bsn_udf0'
+end
+of_oxm_v5_dissectors[200708] = dissect_of_oxm_bsn_udf0_v5
+
+-- child class of_oxm_bsn_udf0_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf0_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf0_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf0_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf0_masked.value_mask')
+    return 'of_oxm_bsn_udf0_masked'
+end
+of_oxm_v5_dissectors[200968] = dissect_of_oxm_bsn_udf0_masked_v5
+
+-- child class of_oxm_bsn_udf1
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf1_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf1.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf1.value')
+    return 'of_oxm_bsn_udf1'
+end
+of_oxm_v5_dissectors[201220] = dissect_of_oxm_bsn_udf1_v5
+
+-- child class of_oxm_bsn_udf1_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf1_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf1_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf1_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf1_masked.value_mask')
+    return 'of_oxm_bsn_udf1_masked'
+end
+of_oxm_v5_dissectors[201480] = dissect_of_oxm_bsn_udf1_masked_v5
+
+-- child class of_oxm_bsn_udf2
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf2_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf2.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf2.value')
+    return 'of_oxm_bsn_udf2'
+end
+of_oxm_v5_dissectors[201732] = dissect_of_oxm_bsn_udf2_v5
+
+-- child class of_oxm_bsn_udf2_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf2_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf2_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf2_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf2_masked.value_mask')
+    return 'of_oxm_bsn_udf2_masked'
+end
+of_oxm_v5_dissectors[201992] = dissect_of_oxm_bsn_udf2_masked_v5
+
+-- child class of_oxm_bsn_udf3
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf3_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf3.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf3.value')
+    return 'of_oxm_bsn_udf3'
+end
+of_oxm_v5_dissectors[202244] = dissect_of_oxm_bsn_udf3_v5
+
+-- child class of_oxm_bsn_udf3_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf3_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf3_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf3_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf3_masked.value_mask')
+    return 'of_oxm_bsn_udf3_masked'
+end
+of_oxm_v5_dissectors[202504] = dissect_of_oxm_bsn_udf3_masked_v5
+
+-- child class of_oxm_bsn_udf4
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf4_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf4.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf4.value')
+    return 'of_oxm_bsn_udf4'
+end
+of_oxm_v5_dissectors[202756] = dissect_of_oxm_bsn_udf4_v5
+
+-- child class of_oxm_bsn_udf4_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf4_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf4_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf4_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf4_masked.value_mask')
+    return 'of_oxm_bsn_udf4_masked'
+end
+of_oxm_v5_dissectors[203016] = dissect_of_oxm_bsn_udf4_masked_v5
+
+-- child class of_oxm_bsn_udf5
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf5_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf5.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf5.value')
+    return 'of_oxm_bsn_udf5'
+end
+of_oxm_v5_dissectors[203268] = dissect_of_oxm_bsn_udf5_v5
+
+-- child class of_oxm_bsn_udf5_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf5_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf5_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf5_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf5_masked.value_mask')
+    return 'of_oxm_bsn_udf5_masked'
+end
+of_oxm_v5_dissectors[203528] = dissect_of_oxm_bsn_udf5_masked_v5
+
+-- child class of_oxm_bsn_udf6
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf6_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf6.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf6.value')
+    return 'of_oxm_bsn_udf6'
+end
+of_oxm_v5_dissectors[203780] = dissect_of_oxm_bsn_udf6_v5
+
+-- child class of_oxm_bsn_udf6_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf6_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf6_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf6_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf6_masked.value_mask')
+    return 'of_oxm_bsn_udf6_masked'
+end
+of_oxm_v5_dissectors[204040] = dissect_of_oxm_bsn_udf6_masked_v5
+
+-- child class of_oxm_bsn_udf7
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf7_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf7.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf7.value')
+    return 'of_oxm_bsn_udf7'
+end
+of_oxm_v5_dissectors[204292] = dissect_of_oxm_bsn_udf7_v5
+
+-- child class of_oxm_bsn_udf7_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_udf7_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf7_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf7_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_udf7_masked.value_mask')
+    return 'of_oxm_bsn_udf7_masked'
+end
+of_oxm_v5_dissectors[204552] = dissect_of_oxm_bsn_udf7_masked_v5
+
+-- child class of_oxm_bsn_vlan_xlate_port_group_id
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vlan_xlate_port_group_id_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vlan_xlate_port_group_id.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vlan_xlate_port_group_id.value')
+    return 'of_oxm_bsn_vlan_xlate_port_group_id'
+end
+of_oxm_v5_dissectors[205316] = dissect_of_oxm_bsn_vlan_xlate_port_group_id_v5
+
+-- child class of_oxm_bsn_vlan_xlate_port_group_id_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vlan_xlate_port_group_id_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vlan_xlate_port_group_id_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vlan_xlate_port_group_id_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vlan_xlate_port_group_id_masked.value_mask')
+    return 'of_oxm_bsn_vlan_xlate_port_group_id_masked'
+end
+of_oxm_v5_dissectors[205576] = dissect_of_oxm_bsn_vlan_xlate_port_group_id_masked_v5
+
+-- child class of_oxm_bsn_vrf
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vrf_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vrf.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vrf.value')
+    return 'of_oxm_bsn_vrf'
+end
+of_oxm_v5_dissectors[197636] = dissect_of_oxm_bsn_vrf_v5
+
+-- child class of_oxm_bsn_vrf_masked
+-- Child of of_oxm
+function dissect_of_oxm_bsn_vrf_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vrf_masked.type_len')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vrf_masked.value')
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_bsn_vrf_masked.value_mask')
+    return 'of_oxm_bsn_vrf_masked'
+end
+of_oxm_v5_dissectors[197896] = dissect_of_oxm_bsn_vrf_masked_v5
+
 -- child class of_oxm_eth_dst
 -- Child of of_oxm
 function dissect_of_oxm_eth_dst_v5(reader, subtree)
@@ -31129,6 +36775,25 @@
 end
 of_oxm_v5_dissectors[2147497760] = dissect_of_oxm_ipv6_dst_masked_v5
 
+-- child class of_oxm_ipv6_exthdr
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_exthdr_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_ipv6_exthdr.type_len')
+    read_uint16_t(reader, 5, subtree, 'of14.oxm_ipv6_exthdr.value')
+    return 'of_oxm_ipv6_exthdr'
+end
+of_oxm_v5_dissectors[2147503618] = dissect_of_oxm_ipv6_exthdr_v5
+
+-- child class of_oxm_ipv6_exthdr_masked
+-- Child of of_oxm
+function dissect_of_oxm_ipv6_exthdr_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_ipv6_exthdr_masked.type_len')
+    read_uint16_t(reader, 5, subtree, 'of14.oxm_ipv6_exthdr_masked.value')
+    read_uint16_t(reader, 5, subtree, 'of14.oxm_ipv6_exthdr_masked.value_mask')
+    return 'of_oxm_ipv6_exthdr_masked'
+end
+of_oxm_v5_dissectors[2147503876] = dissect_of_oxm_ipv6_exthdr_masked_v5
+
 -- child class of_oxm_ipv6_flabel
 -- Child of of_oxm
 function dissect_of_oxm_ipv6_flabel_v5(reader, subtree)
@@ -31243,6 +36908,25 @@
 end
 of_oxm_v5_dissectors[2147484944] = dissect_of_oxm_metadata_masked_v5
 
+-- child class of_oxm_mpls_bos
+-- Child of of_oxm
+function dissect_of_oxm_mpls_bos_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_mpls_bos.type_len')
+    read_uint8_t(reader, 5, subtree, 'of14.oxm_mpls_bos.value')
+    return 'of_oxm_mpls_bos'
+end
+of_oxm_v5_dissectors[2147502081] = dissect_of_oxm_mpls_bos_v5
+
+-- child class of_oxm_mpls_bos_masked
+-- Child of of_oxm
+function dissect_of_oxm_mpls_bos_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_mpls_bos_masked.type_len')
+    read_uint8_t(reader, 5, subtree, 'of14.oxm_mpls_bos_masked.value')
+    read_uint8_t(reader, 5, subtree, 'of14.oxm_mpls_bos_masked.value_mask')
+    return 'of_oxm_mpls_bos_masked'
+end
+of_oxm_v5_dissectors[2147502338] = dissect_of_oxm_mpls_bos_masked_v5
+
 -- child class of_oxm_mpls_label
 -- Child of of_oxm
 function dissect_of_oxm_mpls_label_v5(reader, subtree)
@@ -31281,6 +36965,25 @@
 end
 of_oxm_v5_dissectors[2147501826] = dissect_of_oxm_mpls_tc_masked_v5
 
+-- child class of_oxm_pbb_uca
+-- Child of of_oxm
+function dissect_of_oxm_pbb_uca_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_pbb_uca.type_len')
+    read_uint8_t(reader, 5, subtree, 'of14.oxm_pbb_uca.value')
+    return 'of_oxm_pbb_uca'
+end
+of_oxm_v5_dissectors[2147504641] = dissect_of_oxm_pbb_uca_v5
+
+-- child class of_oxm_pbb_uca_masked
+-- Child of of_oxm
+function dissect_of_oxm_pbb_uca_masked_v5(reader, subtree)
+    read_uint32_t(reader, 5, subtree, 'of14.oxm_pbb_uca_masked.type_len')
+    read_uint8_t(reader, 5, subtree, 'of14.oxm_pbb_uca_masked.value')
+    read_uint8_t(reader, 5, subtree, 'of14.oxm_pbb_uca_masked.value_mask')
+    return 'of_oxm_pbb_uca_masked'
+end
+of_oxm_v5_dissectors[2147504898] = dissect_of_oxm_pbb_uca_masked_v5
+
 -- child class of_oxm_sctp_dst
 -- Child of of_oxm
 function dissect_of_oxm_sctp_dst_v5(reader, subtree)
@@ -31520,9 +37223,57 @@
     read_of_port_name_t(reader, 5, subtree, 'of14.port_desc.name')
     read_uint32_t(reader, 5, subtree, 'of14.port_desc.config')
     read_uint32_t(reader, 5, subtree, 'of14.port_desc.state')
-    read_list(reader, dissect_of_port_desc_prop_header_v5, subtree, 'of_port_desc_prop_header')
+    read_list(reader, dissect_of_port_desc_prop_v5, subtree, 'of_port_desc_prop')
     return 'of_port_desc'
 end
+-- virtual top-level class of_port_desc_prop
+-- Discriminator is type
+function dissect_of_port_desc_prop_v5(reader, subtree)
+    return of_port_desc_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_port_desc_prop_ethernet
+-- Child of of_port_desc_prop
+function dissect_of_port_desc_prop_ethernet_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.type')
+    read_uint16_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.length')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.curr')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.advertised')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.supported')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.peer')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.curr_speed')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_ethernet.max_speed')
+    return 'of_port_desc_prop_ethernet'
+end
+of_port_desc_prop_v5_dissectors[0] = dissect_of_port_desc_prop_ethernet_v5
+
+-- virtual child class of_port_desc_prop_experimenter
+-- Child of of_port_desc_prop
+-- Discriminator is experimenter
+function dissect_of_port_desc_prop_experimenter_v5(reader, subtree)
+    return of_port_desc_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_port_desc_prop_v5_dissectors[65535] = dissect_of_port_desc_prop_experimenter_v5
+
+-- child class of_port_desc_prop_optical
+-- Child of of_port_desc_prop
+function dissect_of_port_desc_prop_optical_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.port_desc_prop_optical.type')
+    read_uint16_t(reader, 5, subtree, 'of14.port_desc_prop_optical.length')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.supported')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.tx_min_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.tx_max_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.tx_grid_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.rx_min_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.rx_max_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.rx_grid_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.tx_pwr_min')
+    read_uint32_t(reader, 5, subtree, 'of14.port_desc_prop_optical.tx_pwr_max')
+    return 'of_port_desc_prop_optical'
+end
+of_port_desc_prop_v5_dissectors[1] = dissect_of_port_desc_prop_optical_v5
+
 -- child class of_port_desc_stats_reply
 -- Child of of_stats_reply
 function dissect_of_port_desc_stats_reply_v5(reader, subtree)
@@ -31571,7 +37322,7 @@
     reader.skip(2)
     read_uint32_t(reader, 5, subtree, 'of14.port_mod.config')
     read_uint32_t(reader, 5, subtree, 'of14.port_mod.mask')
-    read_list(reader, dissect_of_port_mod_prop_header)_v5, subtree, 'of_port_mod_prop_header)')
+    read_list(reader, dissect_of_port_mod_prop_v5, subtree, 'of_port_mod_prop')
     return 'of_port_mod'
 end
 of_header_v5_dissectors[16] = dissect_of_port_mod_v5
@@ -31593,12 +37344,43 @@
 end
 of_error_msg_v5_dissectors[7] = dissect_of_port_mod_failed_error_msg_v5
 
--- top-level class of_port_mod_prop_header
-function dissect_of_port_mod_prop_header_v5(reader, subtree)
-    read_uint16_t(reader, 5, subtree, 'of14.port_mod_prop_header.type')
-    read_uint16_t(reader, 5, subtree, 'of14.port_mod_prop_header.length')
-    return 'of_port_mod_prop_header'
+-- virtual top-level class of_port_mod_prop
+-- Discriminator is type
+function dissect_of_port_mod_prop_v5(reader, subtree)
+    return of_port_mod_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
 end
+-- child class of_port_mod_prop_ethernet
+-- Child of of_port_mod_prop
+function dissect_of_port_mod_prop_ethernet_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.port_mod_prop_ethernet.type')
+    read_uint16_t(reader, 5, subtree, 'of14.port_mod_prop_ethernet.length')
+    read_uint32_t(reader, 5, subtree, 'of14.port_mod_prop_ethernet.advertise')
+    return 'of_port_mod_prop_ethernet'
+end
+of_port_mod_prop_v5_dissectors[0] = dissect_of_port_mod_prop_ethernet_v5
+
+-- virtual child class of_port_mod_prop_experimenter
+-- Child of of_port_mod_prop
+-- Discriminator is experimenter
+function dissect_of_port_mod_prop_experimenter_v5(reader, subtree)
+    return of_port_mod_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_port_mod_prop_v5_dissectors[65535] = dissect_of_port_mod_prop_experimenter_v5
+
+-- child class of_port_mod_prop_optical
+-- Child of of_port_mod_prop
+function dissect_of_port_mod_prop_optical_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.port_mod_prop_optical.type')
+    read_uint16_t(reader, 5, subtree, 'of14.port_mod_prop_optical.length')
+    read_uint32_t(reader, 5, subtree, 'of14.port_mod_prop_optical.configure')
+    read_uint32_t(reader, 5, subtree, 'of14.port_mod_prop_optical.freq_ldma')
+    read_uint32_t(reader, 5, subtree, 'of14.port_mod_prop_optical.fl_offset')
+    read_uint32_t(reader, 5, subtree, 'of14.port_mod_prop_optical.grid_span')
+    read_uint32_t(reader, 5, subtree, 'of14.port_mod_prop_optical.tx_pwr')
+    return 'of_port_mod_prop_optical'
+end
+of_port_mod_prop_v5_dissectors[1] = dissect_of_port_mod_prop_optical_v5
+
 -- top-level class of_port_stats_entry
 function dissect_of_port_stats_entry_v5(reader, subtree)
     local _length = reader.peek(0, 2):uint()
@@ -31607,6 +37389,8 @@
     read_uint16_t(reader, 5, subtree, 'of14.port_stats_entry.length')
     reader.skip(2)
     read_of_port_no_t(reader, 5, subtree, 'of14.port_stats_entry.port_no')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_entry.duration_sec')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_entry.duration_nsec')
     read_uint64_t(reader, 5, subtree, 'of14.port_stats_entry.rx_packets')
     read_uint64_t(reader, 5, subtree, 'of14.port_stats_entry.tx_packets')
     read_uint64_t(reader, 5, subtree, 'of14.port_stats_entry.rx_bytes')
@@ -31615,11 +37399,57 @@
     read_uint64_t(reader, 5, subtree, 'of14.port_stats_entry.tx_dropped')
     read_uint64_t(reader, 5, subtree, 'of14.port_stats_entry.rx_errors')
     read_uint64_t(reader, 5, subtree, 'of14.port_stats_entry.tx_errors')
-    read_uint32_t(reader, 5, subtree, 'of14.port_stats_entry.duration_sec')
-    read_uint32_t(reader, 5, subtree, 'of14.port_stats_entry.duration_nsec')
-    read_list(reader, dissect_of_port_desc_prop_header_v5, subtree, 'of_port_desc_prop_header')
+    read_list(reader, dissect_of_port_stats_prop_v5, subtree, 'of_port_stats_prop')
     return 'of_port_stats_entry'
 end
+-- virtual top-level class of_port_stats_prop
+-- Discriminator is type
+function dissect_of_port_stats_prop_v5(reader, subtree)
+    return of_port_stats_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- child class of_port_stats_prop_ethernet
+-- Child of of_port_stats_prop
+function dissect_of_port_stats_prop_ethernet_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_ethernet.type')
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_ethernet.length')
+    reader.skip(4)
+    read_uint64_t(reader, 5, subtree, 'of14.port_stats_prop_ethernet.rx_frame_err')
+    read_uint64_t(reader, 5, subtree, 'of14.port_stats_prop_ethernet.rx_over_err')
+    read_uint64_t(reader, 5, subtree, 'of14.port_stats_prop_ethernet.rx_crc_err')
+    read_uint64_t(reader, 5, subtree, 'of14.port_stats_prop_ethernet.collisions')
+    return 'of_port_stats_prop_ethernet'
+end
+of_port_stats_prop_v5_dissectors[0] = dissect_of_port_stats_prop_ethernet_v5
+
+-- virtual child class of_port_stats_prop_experimenter
+-- Child of of_port_stats_prop
+-- Discriminator is experimenter
+function dissect_of_port_stats_prop_experimenter_v5(reader, subtree)
+    return of_port_stats_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_port_stats_prop_v5_dissectors[65535] = dissect_of_port_stats_prop_experimenter_v5
+
+-- child class of_port_stats_prop_optical
+-- Child of of_port_stats_prop
+function dissect_of_port_stats_prop_optical_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_optical.type')
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_optical.length')
+    reader.skip(4)
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_prop_optical.flags')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_prop_optical.tx_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_prop_optical.tx_offset')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_prop_optical.tx_grid_span')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_prop_optical.rx_freq_lmda')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_prop_optical.rx_offset')
+    read_uint32_t(reader, 5, subtree, 'of14.port_stats_prop_optical.rx_grid_span')
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_optical.tx_pwr')
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_optical.rx_pwr')
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_optical.bias_current')
+    read_uint16_t(reader, 5, subtree, 'of14.port_stats_prop_optical.temperature')
+    return 'of_port_stats_prop_optical'
+end
+of_port_stats_prop_v5_dissectors[1] = dissect_of_port_stats_prop_optical_v5
+
 -- child class of_port_stats_reply
 -- Child of of_stats_reply
 function dissect_of_port_stats_reply_v5(reader, subtree)
@@ -31671,35 +37501,84 @@
 end
 of_header_v5_dissectors[12] = dissect_of_port_status_v5
 
--- child class of_queue_get_config_reply
--- Child of of_header
-function dissect_of_queue_get_config_reply_v5(reader, subtree)
+-- top-level class of_queue_desc
+function dissect_of_queue_desc_v5(reader, subtree)
+    local _length = reader.peek(8, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint32_t(reader, 5, subtree, 'of14.queue_desc.port_no')
+    read_uint32_t(reader, 5, subtree, 'of14.queue_desc.queue_id')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc.length')
+    reader.skip(6)
+    read_list(reader, dissect_of_queue_desc_prop_v5, subtree, 'of_queue_desc_prop')
+    return 'of_queue_desc'
+end
+-- virtual top-level class of_queue_desc_prop
+-- Discriminator is type
+function dissect_of_queue_desc_prop_v5(reader, subtree)
+    return of_queue_desc_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_queue_desc_prop_experimenter
+-- Child of of_queue_desc_prop
+-- Discriminator is experimenter
+function dissect_of_queue_desc_prop_experimenter_v5(reader, subtree)
+    return of_queue_desc_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_queue_desc_prop_v5_dissectors[65535] = dissect_of_queue_desc_prop_experimenter_v5
+
+-- child class of_queue_desc_prop_max_rate
+-- Child of of_queue_desc_prop
+function dissect_of_queue_desc_prop_max_rate_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_prop_max_rate.type')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_prop_max_rate.length')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_prop_max_rate.rate')
+    reader.skip(2)
+    return 'of_queue_desc_prop_max_rate'
+end
+of_queue_desc_prop_v5_dissectors[2] = dissect_of_queue_desc_prop_max_rate_v5
+
+-- child class of_queue_desc_prop_min_rate
+-- Child of of_queue_desc_prop
+function dissect_of_queue_desc_prop_min_rate_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_prop_min_rate.type')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_prop_min_rate.length')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_prop_min_rate.rate')
+    reader.skip(2)
+    return 'of_queue_desc_prop_min_rate'
+end
+of_queue_desc_prop_v5_dissectors[1] = dissect_of_queue_desc_prop_min_rate_v5
+
+-- child class of_queue_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_queue_desc_stats_reply_v5(reader, subtree)
     local _length = reader.peek(2, 2):uint()
     local orig_reader = reader
     reader = orig_reader.slice(_length)
-    read_uint8_t(reader, 5, subtree, 'of14.queue_get_config_reply.version')
-    read_uint8_t(reader, 5, subtree, 'of14.queue_get_config_reply.type')
-    read_uint16_t(reader, 5, subtree, 'of14.queue_get_config_reply.length')
-    read_uint32_t(reader, 5, subtree, 'of14.queue_get_config_reply.xid')
-    read_of_port_no_t(reader, 5, subtree, 'of14.queue_get_config_reply.port')
+    read_uint8_t(reader, 5, subtree, 'of14.queue_desc_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.queue_desc_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.queue_desc_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_stats_reply.flags')
     reader.skip(4)
-    read_list(reader, dissect_of_packet_queue_v5, subtree, 'of_packet_queue')
-    return 'of_queue_get_config_reply'
+    read_list(reader, dissect_of_queue_desc_v5, subtree, 'of_queue_desc')
+    return 'of_queue_desc_stats_reply'
 end
-of_header_v5_dissectors[23] = dissect_of_queue_get_config_reply_v5
+of_stats_reply_v5_dissectors[15] = dissect_of_queue_desc_stats_reply_v5
 
--- child class of_queue_get_config_request
--- Child of of_header
-function dissect_of_queue_get_config_request_v5(reader, subtree)
-    read_uint8_t(reader, 5, subtree, 'of14.queue_get_config_request.version')
-    read_uint8_t(reader, 5, subtree, 'of14.queue_get_config_request.type')
-    read_uint16_t(reader, 5, subtree, 'of14.queue_get_config_request.length')
-    read_uint32_t(reader, 5, subtree, 'of14.queue_get_config_request.xid')
-    read_of_port_no_t(reader, 5, subtree, 'of14.queue_get_config_request.port')
+-- child class of_queue_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_queue_desc_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.queue_desc_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.queue_desc_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.queue_desc_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.queue_desc_stats_request.flags')
     reader.skip(4)
-    return 'of_queue_get_config_request'
+    return 'of_queue_desc_stats_request'
 end
-of_header_v5_dissectors[22] = dissect_of_queue_get_config_request_v5
+of_stats_request_v5_dissectors[15] = dissect_of_queue_desc_stats_request_v5
 
 -- child class of_queue_op_failed_error_msg
 -- Child of of_error_msg
@@ -31769,15 +37648,22 @@
     read_uint64_t(reader, 5, subtree, 'of14.queue_stats_entry.tx_errors')
     read_uint32_t(reader, 5, subtree, 'of14.queue_stats_entry.duration_sec')
     read_uint32_t(reader, 5, subtree, 'of14.queue_stats_entry.duration_nsec')
-    read_list(reader, dissect_of_queue_stats_prop_header)_v5, subtree, 'of_queue_stats_prop_header)')
+    read_list(reader, dissect_of_queue_stats_prop_v5, subtree, 'of_queue_stats_prop')
     return 'of_queue_stats_entry'
 end
--- top-level class of_queue_stats_prop_header
-function dissect_of_queue_stats_prop_header_v5(reader, subtree)
-    read_uint16_t(reader, 5, subtree, 'of14.queue_stats_prop_header.type')
-    read_uint16_t(reader, 5, subtree, 'of14.queue_stats_prop_header.length')
-    return 'of_queue_stats_prop_header'
+-- virtual top-level class of_queue_stats_prop
+-- Discriminator is type
+function dissect_of_queue_stats_prop_v5(reader, subtree)
+    return of_queue_stats_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
 end
+-- virtual child class of_queue_stats_prop_experimenter
+-- Child of of_queue_stats_prop
+-- Discriminator is experimenter
+function dissect_of_queue_stats_prop_experimenter_v5(reader, subtree)
+    return of_queue_stats_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_queue_stats_prop_v5_dissectors[65535] = dissect_of_queue_stats_prop_experimenter_v5
+
 -- child class of_queue_stats_reply
 -- Child of of_stats_reply
 function dissect_of_queue_stats_reply_v5(reader, subtree)
@@ -31812,6 +37698,35 @@
 end
 of_stats_request_v5_dissectors[5] = dissect_of_queue_stats_request_v5
 
+-- child class of_requestforward
+-- Child of of_header
+function dissect_of_requestforward_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.requestforward.version')
+    read_uint8_t(reader, 5, subtree, 'of14.requestforward.type')
+    read_uint16_t(reader, 5, subtree, 'of14.requestforward.length')
+    read_uint32_t(reader, 5, subtree, 'of14.requestforward.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.requestforward.role')
+    read_of_octets_t(reader, 5, subtree, 'of14.requestforward.data')
+    return 'of_requestforward'
+end
+of_header_v5_dissectors[32] = dissect_of_requestforward_v5
+
+-- virtual top-level class of_role_prop
+-- Discriminator is type
+function dissect_of_role_prop_v5(reader, subtree)
+    return of_role_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- virtual child class of_role_prop_experimenter
+-- Child of of_role_prop
+-- Discriminator is experimenter
+function dissect_of_role_prop_experimenter_v5(reader, subtree)
+    return of_role_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+of_role_prop_v5_dissectors[65535] = dissect_of_role_prop_experimenter_v5
+
 -- child class of_role_reply
 -- Child of of_header
 function dissect_of_role_reply_v5(reader, subtree)
@@ -31857,6 +37772,25 @@
 end
 of_error_msg_v5_dissectors[11] = dissect_of_role_request_failed_error_msg_v5
 
+-- child class of_role_status
+-- Child of of_header
+function dissect_of_role_status_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.role_status.version')
+    read_uint8_t(reader, 5, subtree, 'of14.role_status.type')
+    read_uint16_t(reader, 5, subtree, 'of14.role_status.length')
+    read_uint32_t(reader, 5, subtree, 'of14.role_status.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.role_status.role')
+    read_uint8_t(reader, 5, subtree, 'of14.role_status.reason')
+    reader.skip(3)
+    read_uint64_t(reader, 5, subtree, 'of14.role_status.generation_id')
+    read_list(reader, dissect_of_role_prop_v5, subtree, 'of_role_prop')
+    return 'of_role_status'
+end
+of_header_v5_dissectors[30] = dissect_of_role_status_v5
+
 -- child class of_set_config
 -- Child of of_header
 function dissect_of_set_config_v5(reader, subtree)
@@ -31887,6 +37821,46 @@
 end
 of_error_msg_v5_dissectors[10] = dissect_of_switch_config_failed_error_msg_v5
 
+-- top-level class of_table_desc
+function dissect_of_table_desc_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.table_desc.length')
+    read_uint8_t(reader, 5, subtree, 'of14.table_desc.table_id')
+    reader.skip(1)
+    read_uint32_t(reader, 5, subtree, 'of14.table_desc.config')
+    return 'of_table_desc'
+end
+-- child class of_table_desc_stats_reply
+-- Child of of_stats_reply
+function dissect_of_table_desc_stats_reply_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint8_t(reader, 5, subtree, 'of14.table_desc_stats_reply.version')
+    read_uint8_t(reader, 5, subtree, 'of14.table_desc_stats_reply.type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_desc_stats_reply.length')
+    read_uint32_t(reader, 5, subtree, 'of14.table_desc_stats_reply.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.table_desc_stats_reply.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_desc_stats_reply.flags')
+    reader.skip(4)
+    read_list(reader, dissect_of_table_desc_v5, subtree, 'of_table_desc')
+    return 'of_table_desc_stats_reply'
+end
+of_stats_reply_v5_dissectors[14] = dissect_of_table_desc_stats_reply_v5
+
+-- child class of_table_desc_stats_request
+-- Child of of_stats_request
+function dissect_of_table_desc_stats_request_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.table_desc_stats_request.version')
+    read_uint8_t(reader, 5, subtree, 'of14.table_desc_stats_request.type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_desc_stats_request.length')
+    read_uint32_t(reader, 5, subtree, 'of14.table_desc_stats_request.xid')
+    read_uint16_t(reader, 5, subtree, 'of14.table_desc_stats_request.stats_type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_desc_stats_request.flags')
+    reader.skip(4)
+    return 'of_table_desc_stats_request'
+end
+of_stats_request_v5_dissectors[14] = dissect_of_table_desc_stats_request_v5
+
 -- virtual top-level class of_table_feature_prop
 -- Discriminator is type
 function dissect_of_table_feature_prop_v5(reader, subtree)
@@ -31944,33 +37918,19 @@
 end
 of_table_feature_prop_v5_dissectors[15] = dissect_of_table_feature_prop_apply_setfield_miss_v5
 
--- child class of_table_feature_prop_experimenter
+-- virtual child class of_table_feature_prop_experimenter
 -- Child of of_table_feature_prop
+-- Discriminator is experimenter
 function dissect_of_table_feature_prop_experimenter_v5(reader, subtree)
-    local _length = reader.peek(2, 2):uint()
-    local orig_reader = reader
-    reader = orig_reader.slice(_length)
-    read_uint16_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter.type')
-    read_uint16_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter.length')
-    read_uint32_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter.experimenter')
-    read_uint32_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter.subtype')
-    read_of_octets_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter.experimenter_data')
-    return 'of_table_feature_prop_experimenter'
+    return of_table_feature_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
 end
 of_table_feature_prop_v5_dissectors[65534] = dissect_of_table_feature_prop_experimenter_v5
 
--- child class of_table_feature_prop_experimenter_miss
+-- virtual child class of_table_feature_prop_experimenter_miss
 -- Child of of_table_feature_prop
+-- Discriminator is experimenter
 function dissect_of_table_feature_prop_experimenter_miss_v5(reader, subtree)
-    local _length = reader.peek(2, 2):uint()
-    local orig_reader = reader
-    reader = orig_reader.slice(_length)
-    read_uint16_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter_miss.type')
-    read_uint16_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter_miss.length')
-    read_uint32_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter_miss.experimenter')
-    read_uint32_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter_miss.subtype')
-    read_of_octets_t(reader, 5, subtree, 'of14.table_feature_prop_experimenter_miss.experimenter_data')
-    return 'of_table_feature_prop_experimenter_miss'
+    return of_table_feature_prop_experimenter_miss_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
 end
 of_table_feature_prop_v5_dissectors[65535] = dissect_of_table_feature_prop_experimenter_miss_v5
 
@@ -32039,6 +37999,19 @@
 end
 of_table_feature_prop_v5_dissectors[3] = dissect_of_table_feature_prop_next_tables_miss_v5
 
+-- child class of_table_feature_prop_table_sync_from
+-- Child of of_table_feature_prop
+function dissect_of_table_feature_prop_table_sync_from_v5(reader, subtree)
+    local _length = reader.peek(2, 2):uint()
+    local orig_reader = reader
+    reader = orig_reader.slice(_length)
+    read_uint16_t(reader, 5, subtree, 'of14.table_feature_prop_table_sync_from.type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_feature_prop_table_sync_from.length')
+    read_list(reader, dissect_of_uint8_v5, subtree, 'of_uint8')
+    return 'of_table_feature_prop_table_sync_from'
+end
+of_table_feature_prop_v5_dissectors[16] = dissect_of_table_feature_prop_table_sync_from_v5
+
 -- child class of_table_feature_prop_wildcards
 -- Child of of_table_feature_prop
 function dissect_of_table_feature_prop_wildcards_v5(reader, subtree)
@@ -32186,7 +38159,7 @@
     read_uint8_t(reader, 5, subtree, 'of14.table_mod.table_id')
     reader.skip(3)
     read_uint32_t(reader, 5, subtree, 'of14.table_mod.config')
-    read_list(reader, dissect_of_table_mod_prop_header)_v5, subtree, 'of_table_mod_prop_header)')
+    read_list(reader, dissect_of_table_mod_prop_v5, subtree, 'of_table_mod_prop')
     return 'of_table_mod'
 end
 of_header_v5_dissectors[17] = dissect_of_table_mod_v5
@@ -32208,6 +38181,33 @@
 end
 of_error_msg_v5_dissectors[8] = dissect_of_table_mod_failed_error_msg_v5
 
+-- virtual top-level class of_table_mod_prop
+-- Discriminator is type
+function dissect_of_table_mod_prop_v5(reader, subtree)
+    return of_table_mod_prop_v5_dissectors[reader.peek(0,2):uint()](reader, subtree)
+end
+-- top-level class of_table_mod_prop_eviction
+function dissect_of_table_mod_prop_eviction_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.table_mod_prop_eviction.type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_mod_prop_eviction.length')
+    read_uint32_t(reader, 5, subtree, 'of14.table_mod_prop_eviction.flags')
+    return 'of_table_mod_prop_eviction'
+end
+-- virtual top-level class of_table_mod_prop_experimenter
+-- Discriminator is experimenter
+function dissect_of_table_mod_prop_experimenter_v5(reader, subtree)
+    return of_table_mod_prop_experimenter_v5_dissectors[reader.peek(4,4):uint()](reader, subtree)
+end
+-- top-level class of_table_mod_prop_vacancy
+function dissect_of_table_mod_prop_vacancy_v5(reader, subtree)
+    read_uint16_t(reader, 5, subtree, 'of14.table_mod_prop_vacancy.type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_mod_prop_vacancy.length')
+    read_uint8_t(reader, 5, subtree, 'of14.table_mod_prop_vacancy.vacancy_down')
+    read_uint8_t(reader, 5, subtree, 'of14.table_mod_prop_vacancy.vacancy_up')
+    read_uint8_t(reader, 5, subtree, 'of14.table_mod_prop_vacancy.vacancy')
+    reader.skip(1)
+    return 'of_table_mod_prop_vacancy'
+end
 -- top-level class of_table_stats_entry
 function dissect_of_table_stats_entry_v5(reader, subtree)
     read_uint8_t(reader, 5, subtree, 'of14.table_stats_entry.table_id')
@@ -32249,6 +38249,21 @@
 end
 of_stats_request_v5_dissectors[3] = dissect_of_table_stats_request_v5
 
+-- child class of_table_status
+-- Child of of_header
+function dissect_of_table_status_v5(reader, subtree)
+    read_uint8_t(reader, 5, subtree, 'of14.table_status.version')
+    read_uint8_t(reader, 5, subtree, 'of14.table_status.type')
+    read_uint16_t(reader, 5, subtree, 'of14.table_status.length')
+    read_uint32_t(reader, 5, subtree, 'of14.table_status.xid')
+    read_uint32_t(reader, 5, subtree, 'of14.table_status.role')
+    read_uint8_t(reader, 5, subtree, 'of14.table_status.reason')
+    reader.skip(7)
+    read_of_table_desc_t(reader, 5, subtree, 'of14.table_status.table')
+    return 'of_table_status'
+end
+of_header_v5_dissectors[31] = dissect_of_table_status_v5
+
 -- top-level class of_uint32
 function dissect_of_uint32_v5(reader, subtree)
     read_uint32_t(reader, 5, subtree, 'of14.uint32.value')
@@ -32264,65 +38279,6 @@
     read_uint8_t(reader, 5, subtree, 'of14.uint8.value')
     return 'of_uint8'
 end
--- top-level class ofp_port_desc_prop_header
-function dissect_ofp_port_desc_prop_header_v5(reader, subtree)
-    read_uint16_t(reader, 5, subtree, 'of14._port_desc_prop_header.type')
-    read_uint16_t(reader, 5, subtree, 'of14._port_desc_prop_header.length')
-    return 'ofp_port_desc_prop_header'
-end
--- top-level class ofp_port_stats_prop_ethernet
-function dissect_ofp_port_stats_prop_ethernet_v5(reader, subtree)
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_ethernet.type')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_ethernet.length')
-    reader.skip(4)
-    read_uint64_t(reader, 5, subtree, 'of14._port_stats_prop_ethernet.rx_frame_err')
-    read_uint64_t(reader, 5, subtree, 'of14._port_stats_prop_ethernet.rx_over_err')
-    read_uint64_t(reader, 5, subtree, 'of14._port_stats_prop_ethernet.rx_crc_err')
-    read_uint64_t(reader, 5, subtree, 'of14._port_stats_prop_ethernet.collisions')
-    return 'ofp_port_stats_prop_ethernet'
-end
--- top-level class ofp_port_stats_prop_experimenter
-function dissect_ofp_port_stats_prop_experimenter_v5(reader, subtree)
-    local _length = reader.peek(2, 2):uint()
-    local orig_reader = reader
-    reader = orig_reader.slice(_length)
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_experimenter.type')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_experimenter.length')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_experimenter.experimenter')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_experimenter.exp_type')
-    read_list(reader, dissect_uint32_v5, subtree, 'uint32')
-    return 'ofp_port_stats_prop_experimenter'
-end
--- top-level class ofp_port_stats_prop_header
-function dissect_ofp_port_stats_prop_header_v5(reader, subtree)
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_header.type')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_header.length')
-    return 'ofp_port_stats_prop_header'
-end
--- top-level class ofp_port_stats_prop_optical
-function dissect_ofp_port_stats_prop_optical_v5(reader, subtree)
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_optical.type')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_optical.length')
-    reader.skip(4)
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_optical.flags')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_optical.tx_freq_lmda')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_optical.tx_offset')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_optical.tx_grid_span')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_optical.rx_freq_lmda')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_optical.rx_offset')
-    read_uint32_t(reader, 5, subtree, 'of14._port_stats_prop_optical.rx_grid_span')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_optical.tx_pwr')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_optical.rx_pwr')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_optical.bias_current')
-    read_uint16_t(reader, 5, subtree, 'of14._port_stats_prop_optical.temperature')
-    return 'ofp_port_stats_prop_optical'
-end
--- top-level class ofp_table_mod_prop_header
-function dissect_ofp_table_mod_prop_header_v5(reader, subtree)
-    read_uint16_t(reader, 5, subtree, 'of14._table_mod_prop_header.type')
-    read_uint16_t(reader, 5, subtree, 'of14._table_mod_prop_header.length')
-    return 'ofp_table_mod_prop_header'
-end
 
 local of_message_dissectors = {
     [1] = dissect_of_header_v1,
@@ -32400,8 +38356,12 @@
         dissect_of_match_v1_v1(reader, subtree:add("of_match"))
     elseif version == 2 then
         dissect_of_match_v2_v2(reader, subtree:add("of_match"))
-    elseif version >= 3 then
+    elseif version == 3 then
         dissect_of_match_v3_v3(reader, subtree:add("of_match"))
+    elseif version == 4 then
+        dissect_of_match_v3_v4(reader, subtree:add("of_match"))
+    else
+        error("Unsupported match version")
     end
 end