diff --git a/ofagent/protos/README b/ofagent/protos/README
new file mode 100644
index 0000000..65c5e93
--- /dev/null
+++ b/ofagent/protos/README
@@ -0,0 +1 @@
+Protoc-generated *.py files are populated here from Voltha via make
diff --git a/ofagent/protos/openflow_13_pb2.py b/ofagent/protos/openflow_13_pb2.py
deleted file mode 100644
index 025e5c9..0000000
--- a/ofagent/protos/openflow_13_pb2.py
+++ /dev/null
@@ -1,8320 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: openflow_13.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf.internal import enum_type_wrapper
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='openflow_13.proto',
-  package='openflow_13',
-  syntax='proto3',
-  serialized_pb=_b('\n\x11openflow_13.proto\x12\x0bopenflow_13\"O\n\nofp_header\x12\x0f\n\x07version\x18\x01 \x01(\r\x12#\n\x04type\x18\x02 \x01(\x0e\x32\x15.openflow_13.ofp_type\x12\x0b\n\x03xid\x18\x03 \x01(\r\"\x96\x01\n\x15ofp_hello_elem_header\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .openflow_13.ofp_hello_elem_type\x12\x42\n\rversionbitmap\x18\x02 \x01(\x0b\x32).openflow_13.ofp_hello_elem_versionbitmapH\x00\x42\t\n\x07\x65lement\"/\n\x1cofp_hello_elem_versionbitmap\x12\x0f\n\x07\x62itmaps\x18\x02 \x03(\r\"A\n\tofp_hello\x12\x34\n\x08\x65lements\x18\x01 \x03(\x0b\x32\".openflow_13.ofp_hello_elem_header\"9\n\x11ofp_switch_config\x12\r\n\x05\x66lags\x18\x01 \x01(\r\x12\x15\n\rmiss_send_len\x18\x02 \x01(\r\"1\n\rofp_table_mod\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x02 \x01(\r\"\xc3\x01\n\x08ofp_port\x12\x0f\n\x07port_no\x18\x01 \x01(\r\x12\x0f\n\x07hw_addr\x18\x02 \x03(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06\x63onfig\x18\x04 \x01(\r\x12\r\n\x05state\x18\x05 \x01(\r\x12\x0c\n\x04\x63urr\x18\x06 \x01(\r\x12\x12\n\nadvertised\x18\x07 \x01(\r\x12\x11\n\tsupported\x18\x08 \x01(\r\x12\x0c\n\x04peer\x18\t \x01(\r\x12\x12\n\ncurr_speed\x18\n \x01(\r\x12\x11\n\tmax_speed\x18\x0b \x01(\r\"{\n\x13ofp_switch_features\x12\x13\n\x0b\x64\x61tapath_id\x18\x01 \x01(\x04\x12\x11\n\tn_buffers\x18\x02 \x01(\r\x12\x10\n\x08n_tables\x18\x03 \x01(\r\x12\x14\n\x0c\x61uxiliary_id\x18\x04 \x01(\r\x12\x14\n\x0c\x63\x61pabilities\x18\x05 \x01(\r\"d\n\x0fofp_port_status\x12,\n\x06reason\x18\x01 \x01(\x0e\x32\x1c.openflow_13.ofp_port_reason\x12#\n\x04\x64\x65sc\x18\x02 \x01(\x0b\x32\x15.openflow_13.ofp_port\"a\n\x0cofp_port_mod\x12\x0f\n\x07port_no\x18\x01 \x01(\r\x12\x0f\n\x07hw_addr\x18\x02 \x03(\r\x12\x0e\n\x06\x63onfig\x18\x03 \x01(\r\x12\x0c\n\x04mask\x18\x04 \x01(\r\x12\x11\n\tadvertise\x18\x05 \x01(\r\"f\n\tofp_match\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openflow_13.ofp_match_type\x12.\n\noxm_fields\x18\x02 \x03(\x0b\x32\x1a.openflow_13.ofp_oxm_field\"\xc3\x01\n\rofp_oxm_field\x12-\n\toxm_class\x18\x01 \x01(\x0e\x32\x1a.openflow_13.ofp_oxm_class\x12\x33\n\tofb_field\x18\x04 \x01(\x0b\x32\x1e.openflow_13.ofp_oxm_ofb_fieldH\x00\x12\x45\n\x12\x65xperimenter_field\x18\x05 \x01(\x0b\x32\'.openflow_13.ofp_oxm_experimenter_fieldH\x00\x42\x07\n\x05\x66ield\"\x8b\n\n\x11ofp_oxm_ofb_field\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .openflow_13.oxm_ofb_field_types\x12\x10\n\x08has_mask\x18\x02 \x01(\x08\x12\x0e\n\x04port\x18\x03 \x01(\rH\x00\x12\x17\n\rphysical_port\x18\x04 \x01(\rH\x00\x12\x18\n\x0etable_metadata\x18\x05 \x01(\x04H\x00\x12\x11\n\x07\x65th_dst\x18\x06 \x01(\x0cH\x00\x12\x11\n\x07\x65th_src\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x65th_type\x18\x08 \x01(\rH\x00\x12\x12\n\x08vlan_vid\x18\t \x01(\rH\x00\x12\x12\n\x08vlan_pcp\x18\n \x01(\rH\x00\x12\x11\n\x07ip_dscp\x18\x0b \x01(\rH\x00\x12\x10\n\x06ip_ecn\x18\x0c \x01(\rH\x00\x12\x12\n\x08ip_proto\x18\r \x01(\rH\x00\x12\x12\n\x08ipv4_src\x18\x0e \x01(\rH\x00\x12\x12\n\x08ipv4_dst\x18\x0f \x01(\rH\x00\x12\x11\n\x07tcp_src\x18\x10 \x01(\rH\x00\x12\x11\n\x07tcp_dst\x18\x11 \x01(\rH\x00\x12\x11\n\x07udp_src\x18\x12 \x01(\rH\x00\x12\x11\n\x07udp_dst\x18\x13 \x01(\rH\x00\x12\x12\n\x08sctp_src\x18\x14 \x01(\rH\x00\x12\x12\n\x08sctp_dst\x18\x15 \x01(\rH\x00\x12\x15\n\x0bicmpv4_type\x18\x16 \x01(\rH\x00\x12\x15\n\x0bicmpv4_code\x18\x17 \x01(\rH\x00\x12\x10\n\x06\x61rp_op\x18\x18 \x01(\rH\x00\x12\x11\n\x07\x61rp_spa\x18\x19 \x01(\rH\x00\x12\x11\n\x07\x61rp_tpa\x18\x1a \x01(\rH\x00\x12\x11\n\x07\x61rp_sha\x18\x1b \x01(\x0cH\x00\x12\x11\n\x07\x61rp_tha\x18\x1c \x01(\x0cH\x00\x12\x12\n\x08ipv6_src\x18\x1d \x01(\x0cH\x00\x12\x12\n\x08ipv6_dst\x18\x1e \x01(\x0cH\x00\x12\x15\n\x0bipv6_flabel\x18\x1f \x01(\rH\x00\x12\x15\n\x0bicmpv6_type\x18  \x01(\rH\x00\x12\x15\n\x0bicmpv6_code\x18! \x01(\rH\x00\x12\x18\n\x0eipv6_nd_target\x18\" \x01(\x0cH\x00\x12\x15\n\x0bipv6_nd_ssl\x18# \x01(\x0cH\x00\x12\x15\n\x0bipv6_nd_tll\x18$ \x01(\x0cH\x00\x12\x14\n\nmpls_label\x18% \x01(\rH\x00\x12\x11\n\x07mpls_tc\x18& \x01(\rH\x00\x12\x12\n\x08mpls_bos\x18\' \x01(\rH\x00\x12\x12\n\x08pbb_isid\x18( \x01(\rH\x00\x12\x13\n\ttunnel_id\x18) \x01(\x04H\x00\x12\x15\n\x0bipv6_exthdr\x18* \x01(\rH\x00\x12\x1d\n\x13table_metadata_mask\x18i \x01(\x04H\x01\x12\x16\n\x0c\x65th_dst_mask\x18j \x01(\x0cH\x01\x12\x16\n\x0c\x65th_src_mask\x18k \x01(\x0cH\x01\x12\x17\n\rvlan_vid_mask\x18m \x01(\rH\x01\x12\x17\n\ripv4_src_mask\x18r \x01(\rH\x01\x12\x17\n\ripv4_dst_mask\x18s \x01(\rH\x01\x12\x16\n\x0c\x61rp_spa_mask\x18} \x01(\rH\x01\x12\x16\n\x0c\x61rp_tpa_mask\x18~ \x01(\rH\x01\x12\x18\n\ripv6_src_mask\x18\x81\x01 \x01(\x0cH\x01\x12\x18\n\ripv6_dst_mask\x18\x82\x01 \x01(\x0cH\x01\x12\x1b\n\x10ipv6_flabel_mask\x18\x83\x01 \x01(\rH\x01\x12\x18\n\rpbb_isid_mask\x18\x8c\x01 \x01(\rH\x01\x12\x19\n\x0etunnel_id_mask\x18\x8d\x01 \x01(\x04H\x01\x12\x1b\n\x10ipv6_exthdr_mask\x18\x8e\x01 \x01(\rH\x01\x42\x07\n\x05valueB\x06\n\x04mask\"F\n\x1aofp_oxm_experimenter_field\x12\x12\n\noxm_header\x18\x01 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x02 \x01(\r\"\xe6\x03\n\nofp_action\x12*\n\x04type\x18\x01 \x01(\x0e\x32\x1c.openflow_13.ofp_action_type\x12\x30\n\x06output\x18\x02 \x01(\x0b\x32\x1e.openflow_13.ofp_action_outputH\x00\x12\x34\n\x08mpls_ttl\x18\x03 \x01(\x0b\x32 .openflow_13.ofp_action_mpls_ttlH\x00\x12,\n\x04push\x18\x04 \x01(\x0b\x32\x1c.openflow_13.ofp_action_pushH\x00\x12\x34\n\x08pop_mpls\x18\x05 \x01(\x0b\x32 .openflow_13.ofp_action_pop_mplsH\x00\x12.\n\x05group\x18\x06 \x01(\x0b\x32\x1d.openflow_13.ofp_action_groupH\x00\x12\x30\n\x06nw_ttl\x18\x07 \x01(\x0b\x32\x1e.openflow_13.ofp_action_nw_ttlH\x00\x12\x36\n\tset_field\x18\x08 \x01(\x0b\x32!.openflow_13.ofp_action_set_fieldH\x00\x12<\n\x0c\x65xperimenter\x18\t \x01(\x0b\x32$.openflow_13.ofp_action_experimenterH\x00\x42\x08\n\x06\x61\x63tion\"2\n\x11ofp_action_output\x12\x0c\n\x04port\x18\x01 \x01(\r\x12\x0f\n\x07max_len\x18\x02 \x01(\r\"\'\n\x13ofp_action_mpls_ttl\x12\x10\n\x08mpls_ttl\x18\x01 \x01(\r\"$\n\x0fofp_action_push\x12\x11\n\tethertype\x18\x01 \x01(\r\"(\n\x13ofp_action_pop_mpls\x12\x11\n\tethertype\x18\x01 \x01(\r\"$\n\x10ofp_action_group\x12\x10\n\x08group_id\x18\x01 \x01(\r\"#\n\x11ofp_action_nw_ttl\x12\x0e\n\x06nw_ttl\x18\x01 \x01(\r\"A\n\x14ofp_action_set_field\x12)\n\x05\x66ield\x18\x01 \x01(\x0b\x32\x1a.openflow_13.ofp_oxm_field\"=\n\x17ofp_action_experimenter\x12\x14\n\x0c\x65xperimenter\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\xde\x02\n\x0fofp_instruction\x12\x0c\n\x04type\x18\x01 \x01(\r\x12=\n\ngoto_table\x18\x02 \x01(\x0b\x32\'.openflow_13.ofp_instruction_goto_tableH\x00\x12\x45\n\x0ewrite_metadata\x18\x03 \x01(\x0b\x32+.openflow_13.ofp_instruction_write_metadataH\x00\x12\x37\n\x07\x61\x63tions\x18\x04 \x01(\x0b\x32$.openflow_13.ofp_instruction_actionsH\x00\x12\x33\n\x05meter\x18\x05 \x01(\x0b\x32\".openflow_13.ofp_instruction_meterH\x00\x12\x41\n\x0c\x65xperimenter\x18\x06 \x01(\x0b\x32).openflow_13.ofp_instruction_experimenterH\x00\x42\x06\n\x04\x64\x61ta\".\n\x1aofp_instruction_goto_table\x12\x10\n\x08table_id\x18\x01 \x01(\r\"I\n\x1eofp_instruction_write_metadata\x12\x10\n\x08metadata\x18\x01 \x01(\x04\x12\x15\n\rmetadata_mask\x18\x02 \x01(\x04\"C\n\x17ofp_instruction_actions\x12(\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x17.openflow_13.ofp_action\")\n\x15ofp_instruction_meter\x12\x10\n\x08meter_id\x18\x01 \x01(\r\"B\n\x1cofp_instruction_experimenter\x12\x14\n\x0c\x65xperimenter\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\xd9\x02\n\x0cofp_flow_mod\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x04\x12\x13\n\x0b\x63ookie_mask\x18\x02 \x01(\x04\x12\x10\n\x08table_id\x18\x03 \x01(\r\x12\x32\n\x07\x63ommand\x18\x04 \x01(\x0e\x32!.openflow_13.ofp_flow_mod_command\x12\x14\n\x0cidle_timeout\x18\x05 \x01(\r\x12\x14\n\x0chard_timeout\x18\x06 \x01(\r\x12\x10\n\x08priority\x18\x07 \x01(\r\x12\x11\n\tbuffer_id\x18\x08 \x01(\r\x12\x10\n\x08out_port\x18\t \x01(\r\x12\x11\n\tout_group\x18\n \x01(\r\x12\r\n\x05\x66lags\x18\x0b \x01(\r\x12%\n\x05match\x18\x0c \x01(\x0b\x32\x16.openflow_13.ofp_match\x12\x32\n\x0cinstructions\x18\r \x03(\x0b\x32\x1c.openflow_13.ofp_instruction\"o\n\nofp_bucket\x12\x0e\n\x06weight\x18\x01 \x01(\r\x12\x12\n\nwatch_port\x18\x02 \x01(\r\x12\x13\n\x0bwatch_group\x18\x03 \x01(\r\x12(\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\x17.openflow_13.ofp_action\"\xab\x01\n\rofp_group_mod\x12\x33\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\".openflow_13.ofp_group_mod_command\x12)\n\x04type\x18\x02 \x01(\x0e\x32\x1b.openflow_13.ofp_group_type\x12\x10\n\x08group_id\x18\x03 \x01(\r\x12(\n\x07\x62uckets\x18\x04 \x03(\x0b\x32\x17.openflow_13.ofp_bucket\"l\n\x0eofp_packet_out\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x0f\n\x07in_port\x18\x02 \x01(\r\x12(\n\x07\x61\x63tions\x18\x03 \x03(\x0b\x32\x17.openflow_13.ofp_action\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"\xbf\x01\n\rofp_packet_in\x12\x11\n\tbuffer_id\x18\x01 \x01(\r\x12\x11\n\ttotal_len\x18\x02 \x01(\r\x12\x31\n\x06reason\x18\x03 \x01(\x0e\x32!.openflow_13.ofp_packet_in_reason\x12\x10\n\x08table_id\x18\x04 \x01(\r\x12\x0e\n\x06\x63ookie\x18\x05 \x01(\x04\x12%\n\x05match\x18\x06 \x01(\x0b\x32\x16.openflow_13.ofp_match\x12\x0c\n\x04\x64\x61ta\x18\x07 \x01(\x0c\"\xa6\x02\n\x10ofp_flow_removed\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x04\x12\x10\n\x08priority\x18\x02 \x01(\r\x12\x34\n\x06reason\x18\x03 \x01(\x0e\x32$.openflow_13.ofp_flow_removed_reason\x12\x10\n\x08table_id\x18\x04 \x01(\r\x12\x14\n\x0c\x64uration_sec\x18\x05 \x01(\r\x12\x15\n\rduration_nsec\x18\x06 \x01(\r\x12\x14\n\x0cidle_timeout\x18\x07 \x01(\r\x12\x14\n\x0chard_timeout\x18\x08 \x01(\r\x12\x14\n\x0cpacket_count\x18\t \x01(\x04\x12\x12\n\nbyte_count\x18\n \x01(\x04\x12%\n\x05match\x18y \x01(\x0b\x32\x16.openflow_13.ofp_match\"v\n\x15ofp_meter_band_header\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .openflow_13.ofp_meter_band_type\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04rate\x18\x03 \x01(\r\x12\x12\n\nburst_size\x18\x04 \x01(\r\"R\n\x13ofp_meter_band_drop\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04rate\x18\x03 \x01(\r\x12\x12\n\nburst_size\x18\x04 \x01(\r\"m\n\x1aofp_meter_band_dscp_remark\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04rate\x18\x03 \x01(\r\x12\x12\n\nburst_size\x18\x04 \x01(\r\x12\x12\n\nprec_level\x18\x05 \x01(\r\"\x92\x01\n\x1bofp_meter_band_experimenter\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .openflow_13.ofp_meter_band_type\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04rate\x18\x03 \x01(\r\x12\x12\n\nburst_size\x18\x04 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x05 \x01(\r\"\x98\x01\n\rofp_meter_mod\x12\x33\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\".openflow_13.ofp_meter_mod_command\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x10\n\x08meter_id\x18\x03 \x01(\r\x12\x31\n\x05\x62\x61nds\x18\x04 \x03(\x0b\x32\".openflow_13.ofp_meter_band_header\"9\n\rofp_error_msg\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0c\n\x04\x63ode\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"`\n\x1aofp_error_experimenter_msg\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x10\n\x08\x65xp_type\x18\x02 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"c\n\x15ofp_multipart_request\x12-\n\x04type\x18\x01 \x01(\x0e\x32\x1f.openflow_13.ofp_multipart_type\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x62ody\x18\x03 \x01(\x0c\"a\n\x13ofp_multipart_reply\x12-\n\x04type\x18\x01 \x01(\x0e\x32\x1f.openflow_13.ofp_multipart_type\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x0c\n\x04\x62ody\x18\x03 \x01(\x0c\"c\n\x08ofp_desc\x12\x10\n\x08mfr_desc\x18\x01 \x01(\t\x12\x0f\n\x07hw_desc\x18\x02 \x01(\t\x12\x0f\n\x07sw_desc\x18\x03 \x01(\t\x12\x12\n\nserial_num\x18\x04 \x01(\t\x12\x0f\n\x07\x64p_desc\x18\x05 \x01(\t\"\x9b\x01\n\x16ofp_flow_stats_request\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12\x10\n\x08out_port\x18\x02 \x01(\r\x12\x11\n\tout_group\x18\x03 \x01(\r\x12\x0e\n\x06\x63ookie\x18\x04 \x01(\x04\x12\x13\n\x0b\x63ookie_mask\x18\x05 \x01(\x04\x12%\n\x05match\x18\x06 \x01(\x0b\x32\x16.openflow_13.ofp_match\"\xb1\x02\n\x0eofp_flow_stats\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12\x14\n\x0c\x64uration_sec\x18\x02 \x01(\r\x12\x15\n\rduration_nsec\x18\x03 \x01(\r\x12\x10\n\x08priority\x18\x04 \x01(\r\x12\x14\n\x0cidle_timeout\x18\x05 \x01(\r\x12\x14\n\x0chard_timeout\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\x12\x0e\n\x06\x63ookie\x18\x08 \x01(\x04\x12\x14\n\x0cpacket_count\x18\t \x01(\x04\x12\x12\n\nbyte_count\x18\n \x01(\x04\x12%\n\x05match\x18\x0c \x01(\x0b\x32\x16.openflow_13.ofp_match\x12\x32\n\x0cinstructions\x18\r \x03(\x0b\x32\x1c.openflow_13.ofp_instruction\"\xa0\x01\n\x1bofp_aggregate_stats_request\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12\x10\n\x08out_port\x18\x02 \x01(\r\x12\x11\n\tout_group\x18\x03 \x01(\r\x12\x0e\n\x06\x63ookie\x18\x04 \x01(\x04\x12\x13\n\x0b\x63ookie_mask\x18\x05 \x01(\x04\x12%\n\x05match\x18\x06 \x01(\x0b\x32\x16.openflow_13.ofp_match\"Y\n\x19ofp_aggregate_stats_reply\x12\x14\n\x0cpacket_count\x18\x01 \x01(\x04\x12\x12\n\nbyte_count\x18\x02 \x01(\x04\x12\x12\n\nflow_count\x18\x03 \x01(\r\"\xb1\x03\n\x1aofp_table_feature_property\x12\x36\n\x04type\x18\x01 \x01(\x0e\x32(.openflow_13.ofp_table_feature_prop_type\x12H\n\x0cinstructions\x18\x02 \x01(\x0b\x32\x30.openflow_13.ofp_table_feature_prop_instructionsH\x00\x12\x46\n\x0bnext_tables\x18\x03 \x01(\x0b\x32/.openflow_13.ofp_table_feature_prop_next_tablesH\x00\x12>\n\x07\x61\x63tions\x18\x04 \x01(\x0b\x32+.openflow_13.ofp_table_feature_prop_actionsH\x00\x12\x36\n\x03oxm\x18\x05 \x01(\x0b\x32\'.openflow_13.ofp_table_feature_prop_oxmH\x00\x12H\n\x0c\x65xperimenter\x18\x06 \x01(\x0b\x32\x30.openflow_13.ofp_table_feature_prop_experimenterH\x00\x42\x07\n\x05value\"Y\n#ofp_table_feature_prop_instructions\x12\x32\n\x0cinstructions\x18\x01 \x03(\x0b\x32\x1c.openflow_13.ofp_instruction\"<\n\"ofp_table_feature_prop_next_tables\x12\x16\n\x0enext_table_ids\x18\x01 \x03(\r\"J\n\x1eofp_table_feature_prop_actions\x12(\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x17.openflow_13.ofp_action\"-\n\x1aofp_table_feature_prop_oxm\x12\x0f\n\x07oxm_ids\x18\x03 \x03(\r\"h\n#ofp_table_feature_prop_experimenter\x12\x14\n\x0c\x65xperimenter\x18\x02 \x01(\r\x12\x10\n\x08\x65xp_type\x18\x03 \x01(\r\x12\x19\n\x11\x65xperimenter_data\x18\x04 \x03(\r\"\xc6\x01\n\x12ofp_table_features\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x16\n\x0emetadata_match\x18\x03 \x01(\x04\x12\x16\n\x0emetadata_write\x18\x04 \x01(\x04\x12\x0e\n\x06\x63onfig\x18\x05 \x01(\r\x12\x13\n\x0bmax_entries\x18\x06 \x01(\r\x12;\n\nproperties\x18\x07 \x03(\x0b\x32\'.openflow_13.ofp_table_feature_property\"f\n\x0fofp_table_stats\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63tive_count\x18\x02 \x01(\r\x12\x14\n\x0clookup_count\x18\x03 \x01(\x04\x12\x15\n\rmatched_count\x18\x04 \x01(\x04\")\n\x16ofp_port_stats_request\x12\x0f\n\x07port_no\x18\x01 \x01(\r\"\xbb\x02\n\x0eofp_port_stats\x12\x0f\n\x07port_no\x18\x01 \x01(\r\x12\x12\n\nrx_packets\x18\x02 \x01(\x04\x12\x12\n\ntx_packets\x18\x03 \x01(\x04\x12\x10\n\x08rx_bytes\x18\x04 \x01(\x04\x12\x10\n\x08tx_bytes\x18\x05 \x01(\x04\x12\x12\n\nrx_dropped\x18\x06 \x01(\x04\x12\x12\n\ntx_dropped\x18\x07 \x01(\x04\x12\x11\n\trx_errors\x18\x08 \x01(\x04\x12\x11\n\ttx_errors\x18\t \x01(\x04\x12\x14\n\x0crx_frame_err\x18\n \x01(\x04\x12\x13\n\x0brx_over_err\x18\x0b \x01(\x04\x12\x12\n\nrx_crc_err\x18\x0c \x01(\x04\x12\x12\n\ncollisions\x18\r \x01(\x04\x12\x14\n\x0c\x64uration_sec\x18\x0e \x01(\r\x12\x15\n\rduration_nsec\x18\x0f \x01(\r\"+\n\x17ofp_group_stats_request\x12\x10\n\x08group_id\x18\x01 \x01(\r\">\n\x12ofp_bucket_counter\x12\x14\n\x0cpacket_count\x18\x01 \x01(\x04\x12\x12\n\nbyte_count\x18\x02 \x01(\x04\"\xc4\x01\n\x0fofp_group_stats\x12\x10\n\x08group_id\x18\x01 \x01(\r\x12\x11\n\tref_count\x18\x02 \x01(\r\x12\x14\n\x0cpacket_count\x18\x03 \x01(\x04\x12\x12\n\nbyte_count\x18\x04 \x01(\x04\x12\x14\n\x0c\x64uration_sec\x18\x05 \x01(\r\x12\x15\n\rduration_nsec\x18\x06 \x01(\r\x12\x35\n\x0c\x62ucket_stats\x18\x07 \x03(\x0b\x32\x1f.openflow_13.ofp_bucket_counter\"w\n\x0eofp_group_desc\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openflow_13.ofp_group_type\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12(\n\x07\x62uckets\x18\x03 \x03(\x0b\x32\x17.openflow_13.ofp_bucket\"i\n\x0fofp_group_entry\x12)\n\x04\x64\x65sc\x18\x01 \x01(\x0b\x32\x1b.openflow_13.ofp_group_desc\x12+\n\x05stats\x18\x02 \x01(\x0b\x32\x1c.openflow_13.ofp_group_stats\"^\n\x12ofp_group_features\x12\r\n\x05types\x18\x01 \x01(\r\x12\x14\n\x0c\x63\x61pabilities\x18\x02 \x01(\r\x12\x12\n\nmax_groups\x18\x03 \x03(\r\x12\x0f\n\x07\x61\x63tions\x18\x04 \x03(\r\"/\n\x1bofp_meter_multipart_request\x12\x10\n\x08meter_id\x18\x01 \x01(\r\"J\n\x14ofp_meter_band_stats\x12\x19\n\x11packet_band_count\x18\x01 \x01(\x04\x12\x17\n\x0f\x62yte_band_count\x18\x02 \x01(\x04\"\xcb\x01\n\x0fofp_meter_stats\x12\x10\n\x08meter_id\x18\x01 \x01(\r\x12\x12\n\nflow_count\x18\x02 \x01(\r\x12\x17\n\x0fpacket_in_count\x18\x03 \x01(\x04\x12\x15\n\rbyte_in_count\x18\x04 \x01(\x04\x12\x14\n\x0c\x64uration_sec\x18\x05 \x01(\r\x12\x15\n\rduration_nsec\x18\x06 \x01(\r\x12\x35\n\nband_stats\x18\x07 \x03(\x0b\x32!.openflow_13.ofp_meter_band_stats\"f\n\x10ofp_meter_config\x12\r\n\x05\x66lags\x18\x01 \x01(\r\x12\x10\n\x08meter_id\x18\x02 \x01(\r\x12\x31\n\x05\x62\x61nds\x18\x03 \x03(\x0b\x32\".openflow_13.ofp_meter_band_header\"w\n\x12ofp_meter_features\x12\x11\n\tmax_meter\x18\x01 \x01(\r\x12\x12\n\nband_types\x18\x02 \x01(\r\x12\x14\n\x0c\x63\x61pabilities\x18\x03 \x01(\r\x12\x11\n\tmax_bands\x18\x04 \x01(\r\x12\x11\n\tmax_color\x18\x05 \x01(\r\"Y\n!ofp_experimenter_multipart_header\x12\x14\n\x0c\x65xperimenter\x18\x01 \x01(\r\x12\x10\n\x08\x65xp_type\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"O\n\x17ofp_experimenter_header\x12\x14\n\x0c\x65xperimenter\x18\x01 \x01(\r\x12\x10\n\x08\x65xp_type\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"6\n\x15ofp_queue_prop_header\x12\x10\n\x08property\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\"`\n\x17ofp_queue_prop_min_rate\x12\x37\n\x0bprop_header\x18\x01 \x01(\x0b\x32\".openflow_13.ofp_queue_prop_header\x12\x0c\n\x04rate\x18\x02 \x01(\r\"`\n\x17ofp_queue_prop_max_rate\x12\x37\n\x0bprop_header\x18\x01 \x01(\x0b\x32\".openflow_13.ofp_queue_prop_header\x12\x0c\n\x04rate\x18\x02 \x01(\r\"z\n\x1bofp_queue_prop_experimenter\x12\x37\n\x0bprop_header\x18\x01 \x01(\x0b\x32\".openflow_13.ofp_queue_prop_header\x12\x14\n\x0c\x65xperimenter\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"j\n\x10ofp_packet_queue\x12\x10\n\x08queue_id\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x36\n\nproperties\x18\x04 \x03(\x0b\x32\".openflow_13.ofp_queue_prop_header\",\n\x1cofp_queue_get_config_request\x12\x0c\n\x04port\x18\x01 \x01(\r\"Y\n\x1aofp_queue_get_config_reply\x12\x0c\n\x04port\x18\x01 \x01(\r\x12-\n\x06queues\x18\x02 \x03(\x0b\x32\x1d.openflow_13.ofp_packet_queue\"6\n\x14ofp_action_set_queue\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x10\n\x08queue_id\x18\x03 \x01(\r\"<\n\x17ofp_queue_stats_request\x12\x0f\n\x07port_no\x18\x01 \x01(\r\x12\x10\n\x08queue_id\x18\x02 \x01(\r\"\x9a\x01\n\x0fofp_queue_stats\x12\x0f\n\x07port_no\x18\x01 \x01(\r\x12\x10\n\x08queue_id\x18\x02 \x01(\r\x12\x10\n\x08tx_bytes\x18\x03 \x01(\x04\x12\x12\n\ntx_packets\x18\x04 \x01(\x04\x12\x11\n\ttx_errors\x18\x05 \x01(\x04\x12\x14\n\x0c\x64uration_sec\x18\x06 \x01(\r\x12\x15\n\rduration_nsec\x18\x07 \x01(\r\"Y\n\x10ofp_role_request\x12.\n\x04role\x18\x01 \x01(\x0e\x32 .openflow_13.ofp_controller_role\x12\x15\n\rgeneration_id\x18\x02 \x01(\x04\"_\n\x10ofp_async_config\x12\x16\n\x0epacket_in_mask\x18\x01 \x03(\r\x12\x18\n\x10port_status_mask\x18\x02 \x03(\r\x12\x19\n\x11\x66low_removed_mask\x18\x03 \x03(\r*\xd5\x01\n\x0bofp_port_no\x12\x10\n\x0cOFPP_INVALID\x10\x00\x12\x10\n\x08OFPP_MAX\x10\x80\xfe\xff\xff\x07\x12\x14\n\x0cOFPP_IN_PORT\x10\xf8\xff\xff\xff\x07\x12\x12\n\nOFPP_TABLE\x10\xf9\xff\xff\xff\x07\x12\x13\n\x0bOFPP_NORMAL\x10\xfa\xff\xff\xff\x07\x12\x12\n\nOFPP_FLOOD\x10\xfb\xff\xff\xff\x07\x12\x10\n\x08OFPP_ALL\x10\xfc\xff\xff\xff\x07\x12\x17\n\x0fOFPP_CONTROLLER\x10\xfd\xff\xff\xff\x07\x12\x12\n\nOFPP_LOCAL\x10\xfe\xff\xff\xff\x07\x12\x10\n\x08OFPP_ANY\x10\xff\xff\xff\xff\x07*\xc8\x05\n\x08ofp_type\x12\x0e\n\nOFPT_HELLO\x10\x00\x12\x0e\n\nOFPT_ERROR\x10\x01\x12\x15\n\x11OFPT_ECHO_REQUEST\x10\x02\x12\x13\n\x0fOFPT_ECHO_REPLY\x10\x03\x12\x15\n\x11OFPT_EXPERIMENTER\x10\x04\x12\x19\n\x15OFPT_FEATURES_REQUEST\x10\x05\x12\x17\n\x13OFPT_FEATURES_REPLY\x10\x06\x12\x1b\n\x17OFPT_GET_CONFIG_REQUEST\x10\x07\x12\x19\n\x15OFPT_GET_CONFIG_REPLY\x10\x08\x12\x13\n\x0fOFPT_SET_CONFIG\x10\t\x12\x12\n\x0eOFPT_PACKET_IN\x10\n\x12\x15\n\x11OFPT_FLOW_REMOVED\x10\x0b\x12\x14\n\x10OFPT_PORT_STATUS\x10\x0c\x12\x13\n\x0fOFPT_PACKET_OUT\x10\r\x12\x11\n\rOFPT_FLOW_MOD\x10\x0e\x12\x12\n\x0eOFPT_GROUP_MOD\x10\x0f\x12\x11\n\rOFPT_PORT_MOD\x10\x10\x12\x12\n\x0eOFPT_TABLE_MOD\x10\x11\x12\x1a\n\x16OFPT_MULTIPART_REQUEST\x10\x12\x12\x18\n\x14OFPT_MULTIPART_REPLY\x10\x13\x12\x18\n\x14OFPT_BARRIER_REQUEST\x10\x14\x12\x16\n\x12OFPT_BARRIER_REPLY\x10\x15\x12!\n\x1dOFPT_QUEUE_GET_CONFIG_REQUEST\x10\x16\x12\x1f\n\x1bOFPT_QUEUE_GET_CONFIG_REPLY\x10\x17\x12\x15\n\x11OFPT_ROLE_REQUEST\x10\x18\x12\x13\n\x0fOFPT_ROLE_REPLY\x10\x19\x12\x1a\n\x16OFPT_GET_ASYNC_REQUEST\x10\x1a\x12\x18\n\x14OFPT_GET_ASYNC_REPLY\x10\x1b\x12\x12\n\x0eOFPT_SET_ASYNC\x10\x1c\x12\x12\n\x0eOFPT_METER_MOD\x10\x1d*C\n\x13ofp_hello_elem_type\x12\x12\n\x0eOFPHET_INVALID\x10\x00\x12\x18\n\x14OFPHET_VERSIONBITMAP\x10\x01*e\n\x10ofp_config_flags\x12\x14\n\x10OFPC_FRAG_NORMAL\x10\x00\x12\x12\n\x0eOFPC_FRAG_DROP\x10\x01\x12\x13\n\x0fOFPC_FRAG_REASM\x10\x02\x12\x12\n\x0eOFPC_FRAG_MASK\x10\x03*@\n\x10ofp_table_config\x12\x11\n\rOFPTC_INVALID\x10\x00\x12\x19\n\x15OFPTC_DEPRECATED_MASK\x10\x03*>\n\tofp_table\x12\x11\n\rOFPTT_INVALID\x10\x00\x12\x0e\n\tOFPTT_MAX\x10\xfe\x01\x12\x0e\n\tOFPTT_ALL\x10\xff\x01*\xbb\x01\n\x10ofp_capabilities\x12\x10\n\x0cOFPC_INVALID\x10\x00\x12\x13\n\x0fOFPC_FLOW_STATS\x10\x01\x12\x14\n\x10OFPC_TABLE_STATS\x10\x02\x12\x13\n\x0fOFPC_PORT_STATS\x10\x04\x12\x14\n\x10OFPC_GROUP_STATS\x10\x08\x12\x11\n\rOFPC_IP_REASM\x10 \x12\x14\n\x10OFPC_QUEUE_STATS\x10@\x12\x16\n\x11OFPC_PORT_BLOCKED\x10\x80\x02*v\n\x0fofp_port_config\x12\x11\n\rOFPPC_INVALID\x10\x00\x12\x13\n\x0fOFPPC_PORT_DOWN\x10\x01\x12\x11\n\rOFPPC_NO_RECV\x10\x04\x12\x10\n\x0cOFPPC_NO_FWD\x10 \x12\x16\n\x12OFPPC_NO_PACKET_IN\x10@*[\n\x0eofp_port_state\x12\x11\n\rOFPPS_INVALID\x10\x00\x12\x13\n\x0fOFPPS_LINK_DOWN\x10\x01\x12\x11\n\rOFPPS_BLOCKED\x10\x02\x12\x0e\n\nOFPPS_LIVE\x10\x04*\xdd\x02\n\x11ofp_port_features\x12\x11\n\rOFPPF_INVALID\x10\x00\x12\x11\n\rOFPPF_10MB_HD\x10\x01\x12\x11\n\rOFPPF_10MB_FD\x10\x02\x12\x12\n\x0eOFPPF_100MB_HD\x10\x04\x12\x12\n\x0eOFPPF_100MB_FD\x10\x08\x12\x10\n\x0cOFPPF_1GB_HD\x10\x10\x12\x10\n\x0cOFPPF_1GB_FD\x10 \x12\x11\n\rOFPPF_10GB_FD\x10@\x12\x12\n\rOFPPF_40GB_FD\x10\x80\x01\x12\x13\n\x0eOFPPF_100GB_FD\x10\x80\x02\x12\x11\n\x0cOFPPF_1TB_FD\x10\x80\x04\x12\x10\n\x0bOFPPF_OTHER\x10\x80\x08\x12\x11\n\x0cOFPPF_COPPER\x10\x80\x10\x12\x10\n\x0bOFPPF_FIBER\x10\x80 \x12\x12\n\rOFPPF_AUTONEG\x10\x80@\x12\x11\n\x0bOFPPF_PAUSE\x10\x80\x80\x01\x12\x16\n\x10OFPPF_PAUSE_ASYM\x10\x80\x80\x02*D\n\x0fofp_port_reason\x12\r\n\tOFPPR_ADD\x10\x00\x12\x10\n\x0cOFPPR_DELETE\x10\x01\x12\x10\n\x0cOFPPR_MODIFY\x10\x02*3\n\x0eofp_match_type\x12\x12\n\x0eOFPMT_STANDARD\x10\x00\x12\r\n\tOFPMT_OXM\x10\x01*k\n\rofp_oxm_class\x12\x10\n\x0cOFPXMC_NXM_0\x10\x00\x12\x10\n\x0cOFPXMC_NXM_1\x10\x01\x12\x1b\n\x15OFPXMC_OPENFLOW_BASIC\x10\x80\x80\x02\x12\x19\n\x13OFPXMC_EXPERIMENTER\x10\xff\xff\x03*\x90\x08\n\x13oxm_ofb_field_types\x12\x16\n\x12OFPXMT_OFB_IN_PORT\x10\x00\x12\x1a\n\x16OFPXMT_OFB_IN_PHY_PORT\x10\x01\x12\x17\n\x13OFPXMT_OFB_METADATA\x10\x02\x12\x16\n\x12OFPXMT_OFB_ETH_DST\x10\x03\x12\x16\n\x12OFPXMT_OFB_ETH_SRC\x10\x04\x12\x17\n\x13OFPXMT_OFB_ETH_TYPE\x10\x05\x12\x17\n\x13OFPXMT_OFB_VLAN_VID\x10\x06\x12\x17\n\x13OFPXMT_OFB_VLAN_PCP\x10\x07\x12\x16\n\x12OFPXMT_OFB_IP_DSCP\x10\x08\x12\x15\n\x11OFPXMT_OFB_IP_ECN\x10\t\x12\x17\n\x13OFPXMT_OFB_IP_PROTO\x10\n\x12\x17\n\x13OFPXMT_OFB_IPV4_SRC\x10\x0b\x12\x17\n\x13OFPXMT_OFB_IPV4_DST\x10\x0c\x12\x16\n\x12OFPXMT_OFB_TCP_SRC\x10\r\x12\x16\n\x12OFPXMT_OFB_TCP_DST\x10\x0e\x12\x16\n\x12OFPXMT_OFB_UDP_SRC\x10\x0f\x12\x16\n\x12OFPXMT_OFB_UDP_DST\x10\x10\x12\x17\n\x13OFPXMT_OFB_SCTP_SRC\x10\x11\x12\x17\n\x13OFPXMT_OFB_SCTP_DST\x10\x12\x12\x1a\n\x16OFPXMT_OFB_ICMPV4_TYPE\x10\x13\x12\x1a\n\x16OFPXMT_OFB_ICMPV4_CODE\x10\x14\x12\x15\n\x11OFPXMT_OFB_ARP_OP\x10\x15\x12\x16\n\x12OFPXMT_OFB_ARP_SPA\x10\x16\x12\x16\n\x12OFPXMT_OFB_ARP_TPA\x10\x17\x12\x16\n\x12OFPXMT_OFB_ARP_SHA\x10\x18\x12\x16\n\x12OFPXMT_OFB_ARP_THA\x10\x19\x12\x17\n\x13OFPXMT_OFB_IPV6_SRC\x10\x1a\x12\x17\n\x13OFPXMT_OFB_IPV6_DST\x10\x1b\x12\x1a\n\x16OFPXMT_OFB_IPV6_FLABEL\x10\x1c\x12\x1a\n\x16OFPXMT_OFB_ICMPV6_TYPE\x10\x1d\x12\x1a\n\x16OFPXMT_OFB_ICMPV6_CODE\x10\x1e\x12\x1d\n\x19OFPXMT_OFB_IPV6_ND_TARGET\x10\x1f\x12\x1a\n\x16OFPXMT_OFB_IPV6_ND_SLL\x10 \x12\x1a\n\x16OFPXMT_OFB_IPV6_ND_TLL\x10!\x12\x19\n\x15OFPXMT_OFB_MPLS_LABEL\x10\"\x12\x16\n\x12OFPXMT_OFB_MPLS_TC\x10#\x12\x17\n\x13OFPXMT_OFB_MPLS_BOS\x10$\x12\x17\n\x13OFPXMT_OFB_PBB_ISID\x10%\x12\x18\n\x14OFPXMT_OFB_TUNNEL_ID\x10&\x12\x1a\n\x16OFPXMT_OFB_IPV6_EXTHDR\x10\'*3\n\x0bofp_vlan_id\x12\x0f\n\x0bOFPVID_NONE\x10\x00\x12\x13\n\x0eOFPVID_PRESENT\x10\x80 *\xc9\x01\n\x14ofp_ipv6exthdr_flags\x12\x12\n\x0eOFPIEH_INVALID\x10\x00\x12\x11\n\rOFPIEH_NONEXT\x10\x01\x12\x0e\n\nOFPIEH_ESP\x10\x02\x12\x0f\n\x0bOFPIEH_AUTH\x10\x04\x12\x0f\n\x0bOFPIEH_DEST\x10\x08\x12\x0f\n\x0bOFPIEH_FRAG\x10\x10\x12\x11\n\rOFPIEH_ROUTER\x10 \x12\x0e\n\nOFPIEH_HOP\x10@\x12\x11\n\x0cOFPIEH_UNREP\x10\x80\x01\x12\x11\n\x0cOFPIEH_UNSEQ\x10\x80\x02*\xfc\x02\n\x0fofp_action_type\x12\x10\n\x0cOFPAT_OUTPUT\x10\x00\x12\x16\n\x12OFPAT_COPY_TTL_OUT\x10\x0b\x12\x15\n\x11OFPAT_COPY_TTL_IN\x10\x0c\x12\x16\n\x12OFPAT_SET_MPLS_TTL\x10\x0f\x12\x16\n\x12OFPAT_DEC_MPLS_TTL\x10\x10\x12\x13\n\x0fOFPAT_PUSH_VLAN\x10\x11\x12\x12\n\x0eOFPAT_POP_VLAN\x10\x12\x12\x13\n\x0fOFPAT_PUSH_MPLS\x10\x13\x12\x12\n\x0eOFPAT_POP_MPLS\x10\x14\x12\x13\n\x0fOFPAT_SET_QUEUE\x10\x15\x12\x0f\n\x0bOFPAT_GROUP\x10\x16\x12\x14\n\x10OFPAT_SET_NW_TTL\x10\x17\x12\x14\n\x10OFPAT_DEC_NW_TTL\x10\x18\x12\x13\n\x0fOFPAT_SET_FIELD\x10\x19\x12\x12\n\x0eOFPAT_PUSH_PBB\x10\x1a\x12\x11\n\rOFPAT_POP_PBB\x10\x1b\x12\x18\n\x12OFPAT_EXPERIMENTER\x10\xff\xff\x03*V\n\x16ofp_controller_max_len\x12\x12\n\x0eOFPCML_INVALID\x10\x00\x12\x10\n\nOFPCML_MAX\x10\xe5\xff\x03\x12\x16\n\x10OFPCML_NO_BUFFER\x10\xff\xff\x03*\xcf\x01\n\x14ofp_instruction_type\x12\x11\n\rOFPIT_INVALID\x10\x00\x12\x14\n\x10OFPIT_GOTO_TABLE\x10\x01\x12\x18\n\x14OFPIT_WRITE_METADATA\x10\x02\x12\x17\n\x13OFPIT_WRITE_ACTIONS\x10\x03\x12\x17\n\x13OFPIT_APPLY_ACTIONS\x10\x04\x12\x17\n\x13OFPIT_CLEAR_ACTIONS\x10\x05\x12\x0f\n\x0bOFPIT_METER\x10\x06\x12\x18\n\x12OFPIT_EXPERIMENTER\x10\xff\xff\x03*{\n\x14ofp_flow_mod_command\x12\r\n\tOFPFC_ADD\x10\x00\x12\x10\n\x0cOFPFC_MODIFY\x10\x01\x12\x17\n\x13OFPFC_MODIFY_STRICT\x10\x02\x12\x10\n\x0cOFPFC_DELETE\x10\x03\x12\x17\n\x13OFPFC_DELETE_STRICT\x10\x04*\xa3\x01\n\x12ofp_flow_mod_flags\x12\x11\n\rOFPFF_INVALID\x10\x00\x12\x17\n\x13OFPFF_SEND_FLOW_REM\x10\x01\x12\x17\n\x13OFPFF_CHECK_OVERLAP\x10\x02\x12\x16\n\x12OFPFF_RESET_COUNTS\x10\x04\x12\x17\n\x13OFPFF_NO_PKT_COUNTS\x10\x08\x12\x17\n\x13OFPFF_NO_BYT_COUNTS\x10\x10*S\n\tofp_group\x12\x10\n\x0cOFPG_INVALID\x10\x00\x12\x10\n\x08OFPG_MAX\x10\x80\xfe\xff\xff\x07\x12\x10\n\x08OFPG_ALL\x10\xfc\xff\xff\xff\x07\x12\x10\n\x08OFPG_ANY\x10\xff\xff\xff\xff\x07*J\n\x15ofp_group_mod_command\x12\r\n\tOFPGC_ADD\x10\x00\x12\x10\n\x0cOFPGC_MODIFY\x10\x01\x12\x10\n\x0cOFPGC_DELETE\x10\x02*S\n\x0eofp_group_type\x12\r\n\tOFPGT_ALL\x10\x00\x12\x10\n\x0cOFPGT_SELECT\x10\x01\x12\x12\n\x0eOFPGT_INDIRECT\x10\x02\x12\x0c\n\x08OFPGT_FF\x10\x03*P\n\x14ofp_packet_in_reason\x12\x11\n\rOFPR_NO_MATCH\x10\x00\x12\x0f\n\x0bOFPR_ACTION\x10\x01\x12\x14\n\x10OFPR_INVALID_TTL\x10\x02*\x8b\x01\n\x17ofp_flow_removed_reason\x12\x16\n\x12OFPRR_IDLE_TIMEOUT\x10\x00\x12\x16\n\x12OFPRR_HARD_TIMEOUT\x10\x01\x12\x10\n\x0cOFPRR_DELETE\x10\x02\x12\x16\n\x12OFPRR_GROUP_DELETE\x10\x03\x12\x16\n\x12OFPRR_METER_DELETE\x10\x04*n\n\tofp_meter\x12\r\n\tOFPM_ZERO\x10\x00\x12\x10\n\x08OFPM_MAX\x10\x80\x80\xfc\xff\x07\x12\x15\n\rOFPM_SLOWPATH\x10\xfd\xff\xff\xff\x07\x12\x17\n\x0fOFPM_CONTROLLER\x10\xfe\xff\xff\xff\x07\x12\x10\n\x08OFPM_ALL\x10\xff\xff\xff\xff\x07*m\n\x13ofp_meter_band_type\x12\x12\n\x0eOFPMBT_INVALID\x10\x00\x12\x0f\n\x0bOFPMBT_DROP\x10\x01\x12\x16\n\x12OFPMBT_DSCP_REMARK\x10\x02\x12\x19\n\x13OFPMBT_EXPERIMENTER\x10\xff\xff\x03*J\n\x15ofp_meter_mod_command\x12\r\n\tOFPMC_ADD\x10\x00\x12\x10\n\x0cOFPMC_MODIFY\x10\x01\x12\x10\n\x0cOFPMC_DELETE\x10\x02*g\n\x0fofp_meter_flags\x12\x11\n\rOFPMF_INVALID\x10\x00\x12\x0e\n\nOFPMF_KBPS\x10\x01\x12\x0f\n\x0bOFPMF_PKTPS\x10\x02\x12\x0f\n\x0bOFPMF_BURST\x10\x04\x12\x0f\n\x0bOFPMF_STATS\x10\x08*\xa4\x03\n\x0eofp_error_type\x12\x16\n\x12OFPET_HELLO_FAILED\x10\x00\x12\x15\n\x11OFPET_BAD_REQUEST\x10\x01\x12\x14\n\x10OFPET_BAD_ACTION\x10\x02\x12\x19\n\x15OFPET_BAD_INSTRUCTION\x10\x03\x12\x13\n\x0fOFPET_BAD_MATCH\x10\x04\x12\x19\n\x15OFPET_FLOW_MOD_FAILED\x10\x05\x12\x1a\n\x16OFPET_GROUP_MOD_FAILED\x10\x06\x12\x19\n\x15OFPET_PORT_MOD_FAILED\x10\x07\x12\x1a\n\x16OFPET_TABLE_MOD_FAILED\x10\x08\x12\x19\n\x15OFPET_QUEUE_OP_FAILED\x10\t\x12\x1e\n\x1aOFPET_SWITCH_CONFIG_FAILED\x10\n\x12\x1d\n\x19OFPET_ROLE_REQUEST_FAILED\x10\x0b\x12\x1a\n\x16OFPET_METER_MOD_FAILED\x10\x0c\x12\x1f\n\x1bOFPET_TABLE_FEATURES_FAILED\x10\r\x12\x18\n\x12OFPET_EXPERIMENTER\x10\xff\xff\x03*B\n\x15ofp_hello_failed_code\x12\x17\n\x13OFPHFC_INCOMPATIBLE\x10\x00\x12\x10\n\x0cOFPHFC_EPERM\x10\x01*\xed\x02\n\x14ofp_bad_request_code\x12\x16\n\x12OFPBRC_BAD_VERSION\x10\x00\x12\x13\n\x0fOFPBRC_BAD_TYPE\x10\x01\x12\x18\n\x14OFPBRC_BAD_MULTIPART\x10\x02\x12\x1b\n\x17OFPBRC_BAD_EXPERIMENTER\x10\x03\x12\x17\n\x13OFPBRC_BAD_EXP_TYPE\x10\x04\x12\x10\n\x0cOFPBRC_EPERM\x10\x05\x12\x12\n\x0eOFPBRC_BAD_LEN\x10\x06\x12\x17\n\x13OFPBRC_BUFFER_EMPTY\x10\x07\x12\x19\n\x15OFPBRC_BUFFER_UNKNOWN\x10\x08\x12\x17\n\x13OFPBRC_BAD_TABLE_ID\x10\t\x12\x13\n\x0fOFPBRC_IS_SLAVE\x10\n\x12\x13\n\x0fOFPBRC_BAD_PORT\x10\x0b\x12\x15\n\x11OFPBRC_BAD_PACKET\x10\x0c\x12$\n OFPBRC_MULTIPART_BUFFER_OVERFLOW\x10\r*\x9c\x03\n\x13ofp_bad_action_code\x12\x13\n\x0fOFPBAC_BAD_TYPE\x10\x00\x12\x12\n\x0eOFPBAC_BAD_LEN\x10\x01\x12\x1b\n\x17OFPBAC_BAD_EXPERIMENTER\x10\x02\x12\x17\n\x13OFPBAC_BAD_EXP_TYPE\x10\x03\x12\x17\n\x13OFPBAC_BAD_OUT_PORT\x10\x04\x12\x17\n\x13OFPBAC_BAD_ARGUMENT\x10\x05\x12\x10\n\x0cOFPBAC_EPERM\x10\x06\x12\x13\n\x0fOFPBAC_TOO_MANY\x10\x07\x12\x14\n\x10OFPBAC_BAD_QUEUE\x10\x08\x12\x18\n\x14OFPBAC_BAD_OUT_GROUP\x10\t\x12\x1d\n\x19OFPBAC_MATCH_INCONSISTENT\x10\n\x12\x1c\n\x18OFPBAC_UNSUPPORTED_ORDER\x10\x0b\x12\x12\n\x0eOFPBAC_BAD_TAG\x10\x0c\x12\x17\n\x13OFPBAC_BAD_SET_TYPE\x10\r\x12\x16\n\x12OFPBAC_BAD_SET_LEN\x10\x0e\x12\x1b\n\x17OFPBAC_BAD_SET_ARGUMENT\x10\x0f*\xfa\x01\n\x18ofp_bad_instruction_code\x12\x17\n\x13OFPBIC_UNKNOWN_INST\x10\x00\x12\x15\n\x11OFPBIC_UNSUP_INST\x10\x01\x12\x17\n\x13OFPBIC_BAD_TABLE_ID\x10\x02\x12\x19\n\x15OFPBIC_UNSUP_METADATA\x10\x03\x12\x1e\n\x1aOFPBIC_UNSUP_METADATA_MASK\x10\x04\x12\x1b\n\x17OFPBIC_BAD_EXPERIMENTER\x10\x05\x12\x17\n\x13OFPBIC_BAD_EXP_TYPE\x10\x06\x12\x12\n\x0eOFPBIC_BAD_LEN\x10\x07\x12\x10\n\x0cOFPBIC_EPERM\x10\x08*\xa5\x02\n\x12ofp_bad_match_code\x12\x13\n\x0fOFPBMC_BAD_TYPE\x10\x00\x12\x12\n\x0eOFPBMC_BAD_LEN\x10\x01\x12\x12\n\x0eOFPBMC_BAD_TAG\x10\x02\x12\x1b\n\x17OFPBMC_BAD_DL_ADDR_MASK\x10\x03\x12\x1b\n\x17OFPBMC_BAD_NW_ADDR_MASK\x10\x04\x12\x18\n\x14OFPBMC_BAD_WILDCARDS\x10\x05\x12\x14\n\x10OFPBMC_BAD_FIELD\x10\x06\x12\x14\n\x10OFPBMC_BAD_VALUE\x10\x07\x12\x13\n\x0fOFPBMC_BAD_MASK\x10\x08\x12\x15\n\x11OFPBMC_BAD_PREREQ\x10\t\x12\x14\n\x10OFPBMC_DUP_FIELD\x10\n\x12\x10\n\x0cOFPBMC_EPERM\x10\x0b*\xd2\x01\n\x18ofp_flow_mod_failed_code\x12\x13\n\x0fOFPFMFC_UNKNOWN\x10\x00\x12\x16\n\x12OFPFMFC_TABLE_FULL\x10\x01\x12\x18\n\x14OFPFMFC_BAD_TABLE_ID\x10\x02\x12\x13\n\x0fOFPFMFC_OVERLAP\x10\x03\x12\x11\n\rOFPFMFC_EPERM\x10\x04\x12\x17\n\x13OFPFMFC_BAD_TIMEOUT\x10\x05\x12\x17\n\x13OFPFMFC_BAD_COMMAND\x10\x06\x12\x15\n\x11OFPFMFC_BAD_FLAGS\x10\x07*\xa1\x03\n\x19ofp_group_mod_failed_code\x12\x18\n\x14OFPGMFC_GROUP_EXISTS\x10\x00\x12\x19\n\x15OFPGMFC_INVALID_GROUP\x10\x01\x12\x1e\n\x1aOFPGMFC_WEIGHT_UNSUPPORTED\x10\x02\x12\x19\n\x15OFPGMFC_OUT_OF_GROUPS\x10\x03\x12\x1a\n\x16OFPGMFC_OUT_OF_BUCKETS\x10\x04\x12 \n\x1cOFPGMFC_CHAINING_UNSUPPORTED\x10\x05\x12\x1d\n\x19OFPGMFC_WATCH_UNSUPPORTED\x10\x06\x12\x10\n\x0cOFPGMFC_LOOP\x10\x07\x12\x19\n\x15OFPGMFC_UNKNOWN_GROUP\x10\x08\x12\x19\n\x15OFPGMFC_CHAINED_GROUP\x10\t\x12\x14\n\x10OFPGMFC_BAD_TYPE\x10\n\x12\x17\n\x13OFPGMFC_BAD_COMMAND\x10\x0b\x12\x16\n\x12OFPGMFC_BAD_BUCKET\x10\x0c\x12\x15\n\x11OFPGMFC_BAD_WATCH\x10\r\x12\x11\n\rOFPGMFC_EPERM\x10\x0e*\x8f\x01\n\x18ofp_port_mod_failed_code\x12\x14\n\x10OFPPMFC_BAD_PORT\x10\x00\x12\x17\n\x13OFPPMFC_BAD_HW_ADDR\x10\x01\x12\x16\n\x12OFPPMFC_BAD_CONFIG\x10\x02\x12\x19\n\x15OFPPMFC_BAD_ADVERTISE\x10\x03\x12\x11\n\rOFPPMFC_EPERM\x10\x04*]\n\x19ofp_table_mod_failed_code\x12\x15\n\x11OFPTMFC_BAD_TABLE\x10\x00\x12\x16\n\x12OFPTMFC_BAD_CONFIG\x10\x01\x12\x11\n\rOFPTMFC_EPERM\x10\x02*Z\n\x18ofp_queue_op_failed_code\x12\x14\n\x10OFPQOFC_BAD_PORT\x10\x00\x12\x15\n\x11OFPQOFC_BAD_QUEUE\x10\x01\x12\x11\n\rOFPQOFC_EPERM\x10\x02*^\n\x1dofp_switch_config_failed_code\x12\x15\n\x11OFPSCFC_BAD_FLAGS\x10\x00\x12\x13\n\x0fOFPSCFC_BAD_LEN\x10\x01\x12\x11\n\rOFPSCFC_EPERM\x10\x02*Z\n\x1cofp_role_request_failed_code\x12\x11\n\rOFPRRFC_STALE\x10\x00\x12\x11\n\rOFPRRFC_UNSUP\x10\x01\x12\x14\n\x10OFPRRFC_BAD_ROLE\x10\x02*\xc4\x02\n\x19ofp_meter_mod_failed_code\x12\x13\n\x0fOFPMMFC_UNKNOWN\x10\x00\x12\x18\n\x14OFPMMFC_METER_EXISTS\x10\x01\x12\x19\n\x15OFPMMFC_INVALID_METER\x10\x02\x12\x19\n\x15OFPMMFC_UNKNOWN_METER\x10\x03\x12\x17\n\x13OFPMMFC_BAD_COMMAND\x10\x04\x12\x15\n\x11OFPMMFC_BAD_FLAGS\x10\x05\x12\x14\n\x10OFPMMFC_BAD_RATE\x10\x06\x12\x15\n\x11OFPMMFC_BAD_BURST\x10\x07\x12\x14\n\x10OFPMMFC_BAD_BAND\x10\x08\x12\x1a\n\x16OFPMMFC_BAD_BAND_VALUE\x10\t\x12\x19\n\x15OFPMMFC_OUT_OF_METERS\x10\n\x12\x18\n\x14OFPMMFC_OUT_OF_BANDS\x10\x0b*\xa9\x01\n\x1eofp_table_features_failed_code\x12\x15\n\x11OFPTFFC_BAD_TABLE\x10\x00\x12\x18\n\x14OFPTFFC_BAD_METADATA\x10\x01\x12\x14\n\x10OFPTFFC_BAD_TYPE\x10\x02\x12\x13\n\x0fOFPTFFC_BAD_LEN\x10\x03\x12\x18\n\x14OFPTFFC_BAD_ARGUMENT\x10\x04\x12\x11\n\rOFPTFFC_EPERM\x10\x05*\xce\x02\n\x12ofp_multipart_type\x12\x0e\n\nOFPMP_DESC\x10\x00\x12\x0e\n\nOFPMP_FLOW\x10\x01\x12\x13\n\x0fOFPMP_AGGREGATE\x10\x02\x12\x0f\n\x0bOFPMP_TABLE\x10\x03\x12\x14\n\x10OFPMP_PORT_STATS\x10\x04\x12\x0f\n\x0bOFPMP_QUEUE\x10\x05\x12\x0f\n\x0bOFPMP_GROUP\x10\x06\x12\x14\n\x10OFPMP_GROUP_DESC\x10\x07\x12\x18\n\x14OFPMP_GROUP_FEATURES\x10\x08\x12\x0f\n\x0bOFPMP_METER\x10\t\x12\x16\n\x12OFPMP_METER_CONFIG\x10\n\x12\x18\n\x14OFPMP_METER_FEATURES\x10\x0b\x12\x18\n\x14OFPMP_TABLE_FEATURES\x10\x0c\x12\x13\n\x0fOFPMP_PORT_DESC\x10\r\x12\x18\n\x12OFPMP_EXPERIMENTER\x10\xff\xff\x03*J\n\x1bofp_multipart_request_flags\x12\x16\n\x12OFPMPF_REQ_INVALID\x10\x00\x12\x13\n\x0fOFPMPF_REQ_MORE\x10\x01*L\n\x19ofp_multipart_reply_flags\x12\x18\n\x14OFPMPF_REPLY_INVALID\x10\x00\x12\x15\n\x11OFPMPF_REPLY_MORE\x10\x01*\xe4\x03\n\x1bofp_table_feature_prop_type\x12\x18\n\x14OFPTFPT_INSTRUCTIONS\x10\x00\x12\x1d\n\x19OFPTFPT_INSTRUCTIONS_MISS\x10\x01\x12\x17\n\x13OFPTFPT_NEXT_TABLES\x10\x02\x12\x1c\n\x18OFPTFPT_NEXT_TABLES_MISS\x10\x03\x12\x19\n\x15OFPTFPT_WRITE_ACTIONS\x10\x04\x12\x1e\n\x1aOFPTFPT_WRITE_ACTIONS_MISS\x10\x05\x12\x19\n\x15OFPTFPT_APPLY_ACTIONS\x10\x06\x12\x1e\n\x1aOFPTFPT_APPLY_ACTIONS_MISS\x10\x07\x12\x11\n\rOFPTFPT_MATCH\x10\x08\x12\x15\n\x11OFPTFPT_WILDCARDS\x10\n\x12\x1a\n\x16OFPTFPT_WRITE_SETFIELD\x10\x0c\x12\x1f\n\x1bOFPTFPT_WRITE_SETFIELD_MISS\x10\r\x12\x1a\n\x16OFPTFPT_APPLY_SETFIELD\x10\x0e\x12\x1f\n\x1bOFPTFPT_APPLY_SETFIELD_MISS\x10\x0f\x12\x1a\n\x14OFPTFPT_EXPERIMENTER\x10\xfe\xff\x03\x12\x1f\n\x19OFPTFPT_EXPERIMENTER_MISS\x10\xff\xff\x03*\x93\x01\n\x16ofp_group_capabilities\x12\x12\n\x0eOFPGFC_INVALID\x10\x00\x12\x18\n\x14OFPGFC_SELECT_WEIGHT\x10\x01\x12\x1a\n\x16OFPGFC_SELECT_LIVENESS\x10\x02\x12\x13\n\x0fOFPGFC_CHAINING\x10\x04\x12\x1a\n\x16OFPGFC_CHAINING_CHECKS\x10\x08*k\n\x14ofp_queue_properties\x12\x11\n\rOFPQT_INVALID\x10\x00\x12\x12\n\x0eOFPQT_MIN_RATE\x10\x01\x12\x12\n\x0eOFPQT_MAX_RATE\x10\x02\x12\x18\n\x12OFPQT_EXPERIMENTER\x10\xff\xff\x03*q\n\x13ofp_controller_role\x12\x17\n\x13OFPCR_ROLE_NOCHANGE\x10\x00\x12\x14\n\x10OFPCR_ROLE_EQUAL\x10\x01\x12\x15\n\x11OFPCR_ROLE_MASTER\x10\x02\x12\x14\n\x10OFPCR_ROLE_SLAVE\x10\x03\x62\x06proto3')
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-_OFP_PORT_NO = _descriptor.EnumDescriptor(
-  name='ofp_port_no',
-  full_name='openflow_13.ofp_port_no',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_MAX', index=1, number=2147483392,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_IN_PORT', index=2, number=2147483640,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_TABLE', index=3, number=2147483641,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_NORMAL', index=4, number=2147483642,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_FLOOD', index=5, number=2147483643,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_ALL', index=6, number=2147483644,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_CONTROLLER', index=7, number=2147483645,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_LOCAL', index=8, number=2147483646,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPP_ANY', index=9, number=2147483647,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=11171,
-  serialized_end=11384,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_PORT_NO)
-
-ofp_port_no = enum_type_wrapper.EnumTypeWrapper(_OFP_PORT_NO)
-_OFP_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_type',
-  full_name='openflow_13.ofp_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_HELLO', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_ERROR', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_ECHO_REQUEST', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_ECHO_REPLY', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_EXPERIMENTER', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_FEATURES_REQUEST', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_FEATURES_REPLY', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_GET_CONFIG_REQUEST', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_GET_CONFIG_REPLY', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_SET_CONFIG', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_PACKET_IN', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_FLOW_REMOVED', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_PORT_STATUS', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_PACKET_OUT', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_FLOW_MOD', index=14, number=14,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_GROUP_MOD', index=15, number=15,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_PORT_MOD', index=16, number=16,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_TABLE_MOD', index=17, number=17,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_MULTIPART_REQUEST', index=18, number=18,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_MULTIPART_REPLY', index=19, number=19,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_BARRIER_REQUEST', index=20, number=20,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_BARRIER_REPLY', index=21, number=21,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_QUEUE_GET_CONFIG_REQUEST', index=22, number=22,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_QUEUE_GET_CONFIG_REPLY', index=23, number=23,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_ROLE_REQUEST', index=24, number=24,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_ROLE_REPLY', index=25, number=25,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_GET_ASYNC_REQUEST', index=26, number=26,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_GET_ASYNC_REPLY', index=27, number=27,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_SET_ASYNC', index=28, number=28,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPT_METER_MOD', index=29, number=29,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=11387,
-  serialized_end=12099,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_TYPE)
-
-ofp_type = enum_type_wrapper.EnumTypeWrapper(_OFP_TYPE)
-_OFP_HELLO_ELEM_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_hello_elem_type',
-  full_name='openflow_13.ofp_hello_elem_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPHET_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPHET_VERSIONBITMAP', index=1, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12101,
-  serialized_end=12168,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_HELLO_ELEM_TYPE)
-
-ofp_hello_elem_type = enum_type_wrapper.EnumTypeWrapper(_OFP_HELLO_ELEM_TYPE)
-_OFP_CONFIG_FLAGS = _descriptor.EnumDescriptor(
-  name='ofp_config_flags',
-  full_name='openflow_13.ofp_config_flags',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_FRAG_NORMAL', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_FRAG_DROP', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_FRAG_REASM', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_FRAG_MASK', index=3, number=3,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12170,
-  serialized_end=12271,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_CONFIG_FLAGS)
-
-ofp_config_flags = enum_type_wrapper.EnumTypeWrapper(_OFP_CONFIG_FLAGS)
-_OFP_TABLE_CONFIG = _descriptor.EnumDescriptor(
-  name='ofp_table_config',
-  full_name='openflow_13.ofp_table_config',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPTC_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTC_DEPRECATED_MASK', index=1, number=3,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12273,
-  serialized_end=12337,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_TABLE_CONFIG)
-
-ofp_table_config = enum_type_wrapper.EnumTypeWrapper(_OFP_TABLE_CONFIG)
-_OFP_TABLE = _descriptor.EnumDescriptor(
-  name='ofp_table',
-  full_name='openflow_13.ofp_table',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPTT_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTT_MAX', index=1, number=254,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTT_ALL', index=2, number=255,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12339,
-  serialized_end=12401,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_TABLE)
-
-ofp_table = enum_type_wrapper.EnumTypeWrapper(_OFP_TABLE)
-_OFP_CAPABILITIES = _descriptor.EnumDescriptor(
-  name='ofp_capabilities',
-  full_name='openflow_13.ofp_capabilities',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_FLOW_STATS', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_TABLE_STATS', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_PORT_STATS', index=3, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_GROUP_STATS', index=4, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_IP_REASM', index=5, number=32,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_QUEUE_STATS', index=6, number=64,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPC_PORT_BLOCKED', index=7, number=256,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12404,
-  serialized_end=12591,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_CAPABILITIES)
-
-ofp_capabilities = enum_type_wrapper.EnumTypeWrapper(_OFP_CAPABILITIES)
-_OFP_PORT_CONFIG = _descriptor.EnumDescriptor(
-  name='ofp_port_config',
-  full_name='openflow_13.ofp_port_config',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPPC_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPC_PORT_DOWN', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPC_NO_RECV', index=2, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPC_NO_FWD', index=3, number=32,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPC_NO_PACKET_IN', index=4, number=64,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12593,
-  serialized_end=12711,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_PORT_CONFIG)
-
-ofp_port_config = enum_type_wrapper.EnumTypeWrapper(_OFP_PORT_CONFIG)
-_OFP_PORT_STATE = _descriptor.EnumDescriptor(
-  name='ofp_port_state',
-  full_name='openflow_13.ofp_port_state',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPPS_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPS_LINK_DOWN', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPS_BLOCKED', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPS_LIVE', index=3, number=4,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12713,
-  serialized_end=12804,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_PORT_STATE)
-
-ofp_port_state = enum_type_wrapper.EnumTypeWrapper(_OFP_PORT_STATE)
-_OFP_PORT_FEATURES = _descriptor.EnumDescriptor(
-  name='ofp_port_features',
-  full_name='openflow_13.ofp_port_features',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_10MB_HD', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_10MB_FD', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_100MB_HD', index=3, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_100MB_FD', index=4, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_1GB_HD', index=5, number=16,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_1GB_FD', index=6, number=32,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_10GB_FD', index=7, number=64,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_40GB_FD', index=8, number=128,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_100GB_FD', index=9, number=256,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_1TB_FD', index=10, number=512,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_OTHER', index=11, number=1024,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_COPPER', index=12, number=2048,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_FIBER', index=13, number=4096,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_AUTONEG', index=14, number=8192,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_PAUSE', index=15, number=16384,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPF_PAUSE_ASYM', index=16, number=32768,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=12807,
-  serialized_end=13156,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_PORT_FEATURES)
-
-ofp_port_features = enum_type_wrapper.EnumTypeWrapper(_OFP_PORT_FEATURES)
-_OFP_PORT_REASON = _descriptor.EnumDescriptor(
-  name='ofp_port_reason',
-  full_name='openflow_13.ofp_port_reason',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPPR_ADD', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPR_DELETE', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPR_MODIFY', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=13158,
-  serialized_end=13226,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_PORT_REASON)
-
-ofp_port_reason = enum_type_wrapper.EnumTypeWrapper(_OFP_PORT_REASON)
-_OFP_MATCH_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_match_type',
-  full_name='openflow_13.ofp_match_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMT_STANDARD', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMT_OXM', index=1, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=13228,
-  serialized_end=13279,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_MATCH_TYPE)
-
-ofp_match_type = enum_type_wrapper.EnumTypeWrapper(_OFP_MATCH_TYPE)
-_OFP_OXM_CLASS = _descriptor.EnumDescriptor(
-  name='ofp_oxm_class',
-  full_name='openflow_13.ofp_oxm_class',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMC_NXM_0', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMC_NXM_1', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMC_OPENFLOW_BASIC', index=2, number=32768,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMC_EXPERIMENTER', index=3, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=13281,
-  serialized_end=13388,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_OXM_CLASS)
-
-ofp_oxm_class = enum_type_wrapper.EnumTypeWrapper(_OFP_OXM_CLASS)
-_OXM_OFB_FIELD_TYPES = _descriptor.EnumDescriptor(
-  name='oxm_ofb_field_types',
-  full_name='openflow_13.oxm_ofb_field_types',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IN_PORT', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IN_PHY_PORT', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_METADATA', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ETH_DST', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ETH_SRC', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ETH_TYPE', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_VLAN_VID', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_VLAN_PCP', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IP_DSCP', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IP_ECN', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IP_PROTO', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV4_SRC', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV4_DST', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_TCP_SRC', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_TCP_DST', index=14, number=14,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_UDP_SRC', index=15, number=15,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_UDP_DST', index=16, number=16,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_SCTP_SRC', index=17, number=17,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_SCTP_DST', index=18, number=18,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ICMPV4_TYPE', index=19, number=19,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ICMPV4_CODE', index=20, number=20,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ARP_OP', index=21, number=21,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ARP_SPA', index=22, number=22,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ARP_TPA', index=23, number=23,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ARP_SHA', index=24, number=24,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ARP_THA', index=25, number=25,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV6_SRC', index=26, number=26,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV6_DST', index=27, number=27,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV6_FLABEL', index=28, number=28,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ICMPV6_TYPE', index=29, number=29,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_ICMPV6_CODE', index=30, number=30,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV6_ND_TARGET', index=31, number=31,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV6_ND_SLL', index=32, number=32,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV6_ND_TLL', index=33, number=33,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_MPLS_LABEL', index=34, number=34,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_MPLS_TC', index=35, number=35,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_MPLS_BOS', index=36, number=36,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_PBB_ISID', index=37, number=37,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_TUNNEL_ID', index=38, number=38,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPXMT_OFB_IPV6_EXTHDR', index=39, number=39,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=13391,
-  serialized_end=14431,
-)
-_sym_db.RegisterEnumDescriptor(_OXM_OFB_FIELD_TYPES)
-
-oxm_ofb_field_types = enum_type_wrapper.EnumTypeWrapper(_OXM_OFB_FIELD_TYPES)
-_OFP_VLAN_ID = _descriptor.EnumDescriptor(
-  name='ofp_vlan_id',
-  full_name='openflow_13.ofp_vlan_id',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPVID_NONE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPVID_PRESENT', index=1, number=4096,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=14433,
-  serialized_end=14484,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_VLAN_ID)
-
-ofp_vlan_id = enum_type_wrapper.EnumTypeWrapper(_OFP_VLAN_ID)
-_OFP_IPV6EXTHDR_FLAGS = _descriptor.EnumDescriptor(
-  name='ofp_ipv6exthdr_flags',
-  full_name='openflow_13.ofp_ipv6exthdr_flags',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_NONEXT', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_ESP', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_AUTH', index=3, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_DEST', index=4, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_FRAG', index=5, number=16,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_ROUTER', index=6, number=32,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_HOP', index=7, number=64,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_UNREP', index=8, number=128,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIEH_UNSEQ', index=9, number=256,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=14487,
-  serialized_end=14688,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_IPV6EXTHDR_FLAGS)
-
-ofp_ipv6exthdr_flags = enum_type_wrapper.EnumTypeWrapper(_OFP_IPV6EXTHDR_FLAGS)
-_OFP_ACTION_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_action_type',
-  full_name='openflow_13.ofp_action_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_OUTPUT', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_COPY_TTL_OUT', index=1, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_COPY_TTL_IN', index=2, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_SET_MPLS_TTL', index=3, number=15,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_DEC_MPLS_TTL', index=4, number=16,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_PUSH_VLAN', index=5, number=17,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_POP_VLAN', index=6, number=18,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_PUSH_MPLS', index=7, number=19,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_POP_MPLS', index=8, number=20,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_SET_QUEUE', index=9, number=21,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_GROUP', index=10, number=22,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_SET_NW_TTL', index=11, number=23,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_DEC_NW_TTL', index=12, number=24,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_SET_FIELD', index=13, number=25,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_PUSH_PBB', index=14, number=26,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_POP_PBB', index=15, number=27,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPAT_EXPERIMENTER', index=16, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=14691,
-  serialized_end=15071,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_ACTION_TYPE)
-
-ofp_action_type = enum_type_wrapper.EnumTypeWrapper(_OFP_ACTION_TYPE)
-_OFP_CONTROLLER_MAX_LEN = _descriptor.EnumDescriptor(
-  name='ofp_controller_max_len',
-  full_name='openflow_13.ofp_controller_max_len',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPCML_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPCML_MAX', index=1, number=65509,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPCML_NO_BUFFER', index=2, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15073,
-  serialized_end=15159,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_CONTROLLER_MAX_LEN)
-
-ofp_controller_max_len = enum_type_wrapper.EnumTypeWrapper(_OFP_CONTROLLER_MAX_LEN)
-_OFP_INSTRUCTION_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_instruction_type',
-  full_name='openflow_13.ofp_instruction_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_GOTO_TABLE', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_WRITE_METADATA', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_WRITE_ACTIONS', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_APPLY_ACTIONS', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_CLEAR_ACTIONS', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_METER', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPIT_EXPERIMENTER', index=7, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15162,
-  serialized_end=15369,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_INSTRUCTION_TYPE)
-
-ofp_instruction_type = enum_type_wrapper.EnumTypeWrapper(_OFP_INSTRUCTION_TYPE)
-_OFP_FLOW_MOD_COMMAND = _descriptor.EnumDescriptor(
-  name='ofp_flow_mod_command',
-  full_name='openflow_13.ofp_flow_mod_command',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPFC_ADD', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFC_MODIFY', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFC_MODIFY_STRICT', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFC_DELETE', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFC_DELETE_STRICT', index=4, number=4,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15371,
-  serialized_end=15494,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_FLOW_MOD_COMMAND)
-
-ofp_flow_mod_command = enum_type_wrapper.EnumTypeWrapper(_OFP_FLOW_MOD_COMMAND)
-_OFP_FLOW_MOD_FLAGS = _descriptor.EnumDescriptor(
-  name='ofp_flow_mod_flags',
-  full_name='openflow_13.ofp_flow_mod_flags',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPFF_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFF_SEND_FLOW_REM', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFF_CHECK_OVERLAP', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFF_RESET_COUNTS', index=3, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFF_NO_PKT_COUNTS', index=4, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFF_NO_BYT_COUNTS', index=5, number=16,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15497,
-  serialized_end=15660,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_FLOW_MOD_FLAGS)
-
-ofp_flow_mod_flags = enum_type_wrapper.EnumTypeWrapper(_OFP_FLOW_MOD_FLAGS)
-_OFP_GROUP = _descriptor.EnumDescriptor(
-  name='ofp_group',
-  full_name='openflow_13.ofp_group',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPG_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPG_MAX', index=1, number=2147483392,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPG_ALL', index=2, number=2147483644,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPG_ANY', index=3, number=2147483647,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15662,
-  serialized_end=15745,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_GROUP)
-
-ofp_group = enum_type_wrapper.EnumTypeWrapper(_OFP_GROUP)
-_OFP_GROUP_MOD_COMMAND = _descriptor.EnumDescriptor(
-  name='ofp_group_mod_command',
-  full_name='openflow_13.ofp_group_mod_command',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPGC_ADD', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGC_MODIFY', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGC_DELETE', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15747,
-  serialized_end=15821,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_GROUP_MOD_COMMAND)
-
-ofp_group_mod_command = enum_type_wrapper.EnumTypeWrapper(_OFP_GROUP_MOD_COMMAND)
-_OFP_GROUP_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_group_type',
-  full_name='openflow_13.ofp_group_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPGT_ALL', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGT_SELECT', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGT_INDIRECT', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGT_FF', index=3, number=3,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15823,
-  serialized_end=15906,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_GROUP_TYPE)
-
-ofp_group_type = enum_type_wrapper.EnumTypeWrapper(_OFP_GROUP_TYPE)
-_OFP_PACKET_IN_REASON = _descriptor.EnumDescriptor(
-  name='ofp_packet_in_reason',
-  full_name='openflow_13.ofp_packet_in_reason',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPR_NO_MATCH', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPR_ACTION', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPR_INVALID_TTL', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15908,
-  serialized_end=15988,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_PACKET_IN_REASON)
-
-ofp_packet_in_reason = enum_type_wrapper.EnumTypeWrapper(_OFP_PACKET_IN_REASON)
-_OFP_FLOW_REMOVED_REASON = _descriptor.EnumDescriptor(
-  name='ofp_flow_removed_reason',
-  full_name='openflow_13.ofp_flow_removed_reason',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPRR_IDLE_TIMEOUT', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPRR_HARD_TIMEOUT', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPRR_DELETE', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPRR_GROUP_DELETE', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPRR_METER_DELETE', index=4, number=4,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=15991,
-  serialized_end=16130,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_FLOW_REMOVED_REASON)
-
-ofp_flow_removed_reason = enum_type_wrapper.EnumTypeWrapper(_OFP_FLOW_REMOVED_REASON)
-_OFP_METER = _descriptor.EnumDescriptor(
-  name='ofp_meter',
-  full_name='openflow_13.ofp_meter',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPM_ZERO', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPM_MAX', index=1, number=2147418112,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPM_SLOWPATH', index=2, number=2147483645,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPM_CONTROLLER', index=3, number=2147483646,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPM_ALL', index=4, number=2147483647,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=16132,
-  serialized_end=16242,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_METER)
-
-ofp_meter = enum_type_wrapper.EnumTypeWrapper(_OFP_METER)
-_OFP_METER_BAND_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_meter_band_type',
-  full_name='openflow_13.ofp_meter_band_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMBT_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMBT_DROP', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMBT_DSCP_REMARK', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMBT_EXPERIMENTER', index=3, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=16244,
-  serialized_end=16353,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_METER_BAND_TYPE)
-
-ofp_meter_band_type = enum_type_wrapper.EnumTypeWrapper(_OFP_METER_BAND_TYPE)
-_OFP_METER_MOD_COMMAND = _descriptor.EnumDescriptor(
-  name='ofp_meter_mod_command',
-  full_name='openflow_13.ofp_meter_mod_command',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMC_ADD', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMC_MODIFY', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMC_DELETE', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=16355,
-  serialized_end=16429,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_METER_MOD_COMMAND)
-
-ofp_meter_mod_command = enum_type_wrapper.EnumTypeWrapper(_OFP_METER_MOD_COMMAND)
-_OFP_METER_FLAGS = _descriptor.EnumDescriptor(
-  name='ofp_meter_flags',
-  full_name='openflow_13.ofp_meter_flags',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMF_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMF_KBPS', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMF_PKTPS', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMF_BURST', index=3, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMF_STATS', index=4, number=8,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=16431,
-  serialized_end=16534,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_METER_FLAGS)
-
-ofp_meter_flags = enum_type_wrapper.EnumTypeWrapper(_OFP_METER_FLAGS)
-_OFP_ERROR_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_error_type',
-  full_name='openflow_13.ofp_error_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_HELLO_FAILED', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_BAD_REQUEST', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_BAD_ACTION', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_BAD_INSTRUCTION', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_BAD_MATCH', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_FLOW_MOD_FAILED', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_GROUP_MOD_FAILED', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_PORT_MOD_FAILED', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_TABLE_MOD_FAILED', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_QUEUE_OP_FAILED', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_SWITCH_CONFIG_FAILED', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_ROLE_REQUEST_FAILED', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_METER_MOD_FAILED', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_TABLE_FEATURES_FAILED', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPET_EXPERIMENTER', index=14, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=16537,
-  serialized_end=16957,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_ERROR_TYPE)
-
-ofp_error_type = enum_type_wrapper.EnumTypeWrapper(_OFP_ERROR_TYPE)
-_OFP_HELLO_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_hello_failed_code',
-  full_name='openflow_13.ofp_hello_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPHFC_INCOMPATIBLE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPHFC_EPERM', index=1, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=16959,
-  serialized_end=17025,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_HELLO_FAILED_CODE)
-
-ofp_hello_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_HELLO_FAILED_CODE)
-_OFP_BAD_REQUEST_CODE = _descriptor.EnumDescriptor(
-  name='ofp_bad_request_code',
-  full_name='openflow_13.ofp_bad_request_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_VERSION', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_TYPE', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_MULTIPART', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_EXPERIMENTER', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_EXP_TYPE', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_EPERM', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_LEN', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BUFFER_EMPTY', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BUFFER_UNKNOWN', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_TABLE_ID', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_IS_SLAVE', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_PORT', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_BAD_PACKET', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBRC_MULTIPART_BUFFER_OVERFLOW', index=13, number=13,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=17028,
-  serialized_end=17393,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_BAD_REQUEST_CODE)
-
-ofp_bad_request_code = enum_type_wrapper.EnumTypeWrapper(_OFP_BAD_REQUEST_CODE)
-_OFP_BAD_ACTION_CODE = _descriptor.EnumDescriptor(
-  name='ofp_bad_action_code',
-  full_name='openflow_13.ofp_bad_action_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_TYPE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_LEN', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_EXPERIMENTER', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_EXP_TYPE', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_OUT_PORT', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_ARGUMENT', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_EPERM', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_TOO_MANY', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_QUEUE', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_OUT_GROUP', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_MATCH_INCONSISTENT', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_UNSUPPORTED_ORDER', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_TAG', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_SET_TYPE', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_SET_LEN', index=14, number=14,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBAC_BAD_SET_ARGUMENT', index=15, number=15,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=17396,
-  serialized_end=17808,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_BAD_ACTION_CODE)
-
-ofp_bad_action_code = enum_type_wrapper.EnumTypeWrapper(_OFP_BAD_ACTION_CODE)
-_OFP_BAD_INSTRUCTION_CODE = _descriptor.EnumDescriptor(
-  name='ofp_bad_instruction_code',
-  full_name='openflow_13.ofp_bad_instruction_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_UNKNOWN_INST', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_UNSUP_INST', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_BAD_TABLE_ID', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_UNSUP_METADATA', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_UNSUP_METADATA_MASK', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_BAD_EXPERIMENTER', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_BAD_EXP_TYPE', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_BAD_LEN', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBIC_EPERM', index=8, number=8,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=17811,
-  serialized_end=18061,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_BAD_INSTRUCTION_CODE)
-
-ofp_bad_instruction_code = enum_type_wrapper.EnumTypeWrapper(_OFP_BAD_INSTRUCTION_CODE)
-_OFP_BAD_MATCH_CODE = _descriptor.EnumDescriptor(
-  name='ofp_bad_match_code',
-  full_name='openflow_13.ofp_bad_match_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_TYPE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_LEN', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_TAG', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_DL_ADDR_MASK', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_NW_ADDR_MASK', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_WILDCARDS', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_FIELD', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_VALUE', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_MASK', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_BAD_PREREQ', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_DUP_FIELD', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPBMC_EPERM', index=11, number=11,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=18064,
-  serialized_end=18357,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_BAD_MATCH_CODE)
-
-ofp_bad_match_code = enum_type_wrapper.EnumTypeWrapper(_OFP_BAD_MATCH_CODE)
-_OFP_FLOW_MOD_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_flow_mod_failed_code',
-  full_name='openflow_13.ofp_flow_mod_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_UNKNOWN', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_TABLE_FULL', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_BAD_TABLE_ID', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_OVERLAP', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_EPERM', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_BAD_TIMEOUT', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_BAD_COMMAND', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPFMFC_BAD_FLAGS', index=7, number=7,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=18360,
-  serialized_end=18570,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_FLOW_MOD_FAILED_CODE)
-
-ofp_flow_mod_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_FLOW_MOD_FAILED_CODE)
-_OFP_GROUP_MOD_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_group_mod_failed_code',
-  full_name='openflow_13.ofp_group_mod_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_GROUP_EXISTS', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_INVALID_GROUP', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_WEIGHT_UNSUPPORTED', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_OUT_OF_GROUPS', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_OUT_OF_BUCKETS', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_CHAINING_UNSUPPORTED', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_WATCH_UNSUPPORTED', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_LOOP', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_UNKNOWN_GROUP', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_CHAINED_GROUP', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_BAD_TYPE', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_BAD_COMMAND', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_BAD_BUCKET', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_BAD_WATCH', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGMFC_EPERM', index=14, number=14,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=18573,
-  serialized_end=18990,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_GROUP_MOD_FAILED_CODE)
-
-ofp_group_mod_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_GROUP_MOD_FAILED_CODE)
-_OFP_PORT_MOD_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_port_mod_failed_code',
-  full_name='openflow_13.ofp_port_mod_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPPMFC_BAD_PORT', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPMFC_BAD_HW_ADDR', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPMFC_BAD_CONFIG', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPMFC_BAD_ADVERTISE', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPPMFC_EPERM', index=4, number=4,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=18993,
-  serialized_end=19136,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_PORT_MOD_FAILED_CODE)
-
-ofp_port_mod_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_PORT_MOD_FAILED_CODE)
-_OFP_TABLE_MOD_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_table_mod_failed_code',
-  full_name='openflow_13.ofp_table_mod_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPTMFC_BAD_TABLE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTMFC_BAD_CONFIG', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTMFC_EPERM', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=19138,
-  serialized_end=19231,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_TABLE_MOD_FAILED_CODE)
-
-ofp_table_mod_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_TABLE_MOD_FAILED_CODE)
-_OFP_QUEUE_OP_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_queue_op_failed_code',
-  full_name='openflow_13.ofp_queue_op_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPQOFC_BAD_PORT', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPQOFC_BAD_QUEUE', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPQOFC_EPERM', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=19233,
-  serialized_end=19323,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_QUEUE_OP_FAILED_CODE)
-
-ofp_queue_op_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_QUEUE_OP_FAILED_CODE)
-_OFP_SWITCH_CONFIG_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_switch_config_failed_code',
-  full_name='openflow_13.ofp_switch_config_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPSCFC_BAD_FLAGS', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPSCFC_BAD_LEN', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPSCFC_EPERM', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=19325,
-  serialized_end=19419,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_SWITCH_CONFIG_FAILED_CODE)
-
-ofp_switch_config_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_SWITCH_CONFIG_FAILED_CODE)
-_OFP_ROLE_REQUEST_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_role_request_failed_code',
-  full_name='openflow_13.ofp_role_request_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPRRFC_STALE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPRRFC_UNSUP', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPRRFC_BAD_ROLE', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=19421,
-  serialized_end=19511,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_ROLE_REQUEST_FAILED_CODE)
-
-ofp_role_request_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_ROLE_REQUEST_FAILED_CODE)
-_OFP_METER_MOD_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_meter_mod_failed_code',
-  full_name='openflow_13.ofp_meter_mod_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_UNKNOWN', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_METER_EXISTS', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_INVALID_METER', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_UNKNOWN_METER', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_BAD_COMMAND', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_BAD_FLAGS', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_BAD_RATE', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_BAD_BURST', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_BAD_BAND', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_BAD_BAND_VALUE', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_OUT_OF_METERS', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMMFC_OUT_OF_BANDS', index=11, number=11,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=19514,
-  serialized_end=19838,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_METER_MOD_FAILED_CODE)
-
-ofp_meter_mod_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_METER_MOD_FAILED_CODE)
-_OFP_TABLE_FEATURES_FAILED_CODE = _descriptor.EnumDescriptor(
-  name='ofp_table_features_failed_code',
-  full_name='openflow_13.ofp_table_features_failed_code',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFFC_BAD_TABLE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFFC_BAD_METADATA', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFFC_BAD_TYPE', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFFC_BAD_LEN', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFFC_BAD_ARGUMENT', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFFC_EPERM', index=5, number=5,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=19841,
-  serialized_end=20010,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_TABLE_FEATURES_FAILED_CODE)
-
-ofp_table_features_failed_code = enum_type_wrapper.EnumTypeWrapper(_OFP_TABLE_FEATURES_FAILED_CODE)
-_OFP_MULTIPART_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_multipart_type',
-  full_name='openflow_13.ofp_multipart_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_DESC', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_FLOW', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_AGGREGATE', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_TABLE', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_PORT_STATS', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_QUEUE', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_GROUP', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_GROUP_DESC', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_GROUP_FEATURES', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_METER', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_METER_CONFIG', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_METER_FEATURES', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_TABLE_FEATURES', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_PORT_DESC', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMP_EXPERIMENTER', index=14, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=20013,
-  serialized_end=20347,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_MULTIPART_TYPE)
-
-ofp_multipart_type = enum_type_wrapper.EnumTypeWrapper(_OFP_MULTIPART_TYPE)
-_OFP_MULTIPART_REQUEST_FLAGS = _descriptor.EnumDescriptor(
-  name='ofp_multipart_request_flags',
-  full_name='openflow_13.ofp_multipart_request_flags',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMPF_REQ_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMPF_REQ_MORE', index=1, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=20349,
-  serialized_end=20423,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_MULTIPART_REQUEST_FLAGS)
-
-ofp_multipart_request_flags = enum_type_wrapper.EnumTypeWrapper(_OFP_MULTIPART_REQUEST_FLAGS)
-_OFP_MULTIPART_REPLY_FLAGS = _descriptor.EnumDescriptor(
-  name='ofp_multipart_reply_flags',
-  full_name='openflow_13.ofp_multipart_reply_flags',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPMPF_REPLY_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPMPF_REPLY_MORE', index=1, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=20425,
-  serialized_end=20501,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_MULTIPART_REPLY_FLAGS)
-
-ofp_multipart_reply_flags = enum_type_wrapper.EnumTypeWrapper(_OFP_MULTIPART_REPLY_FLAGS)
-_OFP_TABLE_FEATURE_PROP_TYPE = _descriptor.EnumDescriptor(
-  name='ofp_table_feature_prop_type',
-  full_name='openflow_13.ofp_table_feature_prop_type',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_INSTRUCTIONS', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_INSTRUCTIONS_MISS', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_NEXT_TABLES', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_NEXT_TABLES_MISS', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_WRITE_ACTIONS', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_WRITE_ACTIONS_MISS', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_APPLY_ACTIONS', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_APPLY_ACTIONS_MISS', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_MATCH', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_WILDCARDS', index=9, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_WRITE_SETFIELD', index=10, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_WRITE_SETFIELD_MISS', index=11, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_APPLY_SETFIELD', index=12, number=14,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_APPLY_SETFIELD_MISS', index=13, number=15,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_EXPERIMENTER', index=14, number=65534,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPTFPT_EXPERIMENTER_MISS', index=15, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=20504,
-  serialized_end=20988,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_TABLE_FEATURE_PROP_TYPE)
-
-ofp_table_feature_prop_type = enum_type_wrapper.EnumTypeWrapper(_OFP_TABLE_FEATURE_PROP_TYPE)
-_OFP_GROUP_CAPABILITIES = _descriptor.EnumDescriptor(
-  name='ofp_group_capabilities',
-  full_name='openflow_13.ofp_group_capabilities',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPGFC_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGFC_SELECT_WEIGHT', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGFC_SELECT_LIVENESS', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGFC_CHAINING', index=3, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPGFC_CHAINING_CHECKS', index=4, number=8,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=20991,
-  serialized_end=21138,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_GROUP_CAPABILITIES)
-
-ofp_group_capabilities = enum_type_wrapper.EnumTypeWrapper(_OFP_GROUP_CAPABILITIES)
-_OFP_QUEUE_PROPERTIES = _descriptor.EnumDescriptor(
-  name='ofp_queue_properties',
-  full_name='openflow_13.ofp_queue_properties',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPQT_INVALID', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPQT_MIN_RATE', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPQT_MAX_RATE', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPQT_EXPERIMENTER', index=3, number=65535,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=21140,
-  serialized_end=21247,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_QUEUE_PROPERTIES)
-
-ofp_queue_properties = enum_type_wrapper.EnumTypeWrapper(_OFP_QUEUE_PROPERTIES)
-_OFP_CONTROLLER_ROLE = _descriptor.EnumDescriptor(
-  name='ofp_controller_role',
-  full_name='openflow_13.ofp_controller_role',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OFPCR_ROLE_NOCHANGE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPCR_ROLE_EQUAL', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPCR_ROLE_MASTER', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OFPCR_ROLE_SLAVE', index=3, number=3,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=21249,
-  serialized_end=21362,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_CONTROLLER_ROLE)
-
-ofp_controller_role = enum_type_wrapper.EnumTypeWrapper(_OFP_CONTROLLER_ROLE)
-OFPP_INVALID = 0
-OFPP_MAX = 2147483392
-OFPP_IN_PORT = 2147483640
-OFPP_TABLE = 2147483641
-OFPP_NORMAL = 2147483642
-OFPP_FLOOD = 2147483643
-OFPP_ALL = 2147483644
-OFPP_CONTROLLER = 2147483645
-OFPP_LOCAL = 2147483646
-OFPP_ANY = 2147483647
-OFPT_HELLO = 0
-OFPT_ERROR = 1
-OFPT_ECHO_REQUEST = 2
-OFPT_ECHO_REPLY = 3
-OFPT_EXPERIMENTER = 4
-OFPT_FEATURES_REQUEST = 5
-OFPT_FEATURES_REPLY = 6
-OFPT_GET_CONFIG_REQUEST = 7
-OFPT_GET_CONFIG_REPLY = 8
-OFPT_SET_CONFIG = 9
-OFPT_PACKET_IN = 10
-OFPT_FLOW_REMOVED = 11
-OFPT_PORT_STATUS = 12
-OFPT_PACKET_OUT = 13
-OFPT_FLOW_MOD = 14
-OFPT_GROUP_MOD = 15
-OFPT_PORT_MOD = 16
-OFPT_TABLE_MOD = 17
-OFPT_MULTIPART_REQUEST = 18
-OFPT_MULTIPART_REPLY = 19
-OFPT_BARRIER_REQUEST = 20
-OFPT_BARRIER_REPLY = 21
-OFPT_QUEUE_GET_CONFIG_REQUEST = 22
-OFPT_QUEUE_GET_CONFIG_REPLY = 23
-OFPT_ROLE_REQUEST = 24
-OFPT_ROLE_REPLY = 25
-OFPT_GET_ASYNC_REQUEST = 26
-OFPT_GET_ASYNC_REPLY = 27
-OFPT_SET_ASYNC = 28
-OFPT_METER_MOD = 29
-OFPHET_INVALID = 0
-OFPHET_VERSIONBITMAP = 1
-OFPC_FRAG_NORMAL = 0
-OFPC_FRAG_DROP = 1
-OFPC_FRAG_REASM = 2
-OFPC_FRAG_MASK = 3
-OFPTC_INVALID = 0
-OFPTC_DEPRECATED_MASK = 3
-OFPTT_INVALID = 0
-OFPTT_MAX = 254
-OFPTT_ALL = 255
-OFPC_INVALID = 0
-OFPC_FLOW_STATS = 1
-OFPC_TABLE_STATS = 2
-OFPC_PORT_STATS = 4
-OFPC_GROUP_STATS = 8
-OFPC_IP_REASM = 32
-OFPC_QUEUE_STATS = 64
-OFPC_PORT_BLOCKED = 256
-OFPPC_INVALID = 0
-OFPPC_PORT_DOWN = 1
-OFPPC_NO_RECV = 4
-OFPPC_NO_FWD = 32
-OFPPC_NO_PACKET_IN = 64
-OFPPS_INVALID = 0
-OFPPS_LINK_DOWN = 1
-OFPPS_BLOCKED = 2
-OFPPS_LIVE = 4
-OFPPF_INVALID = 0
-OFPPF_10MB_HD = 1
-OFPPF_10MB_FD = 2
-OFPPF_100MB_HD = 4
-OFPPF_100MB_FD = 8
-OFPPF_1GB_HD = 16
-OFPPF_1GB_FD = 32
-OFPPF_10GB_FD = 64
-OFPPF_40GB_FD = 128
-OFPPF_100GB_FD = 256
-OFPPF_1TB_FD = 512
-OFPPF_OTHER = 1024
-OFPPF_COPPER = 2048
-OFPPF_FIBER = 4096
-OFPPF_AUTONEG = 8192
-OFPPF_PAUSE = 16384
-OFPPF_PAUSE_ASYM = 32768
-OFPPR_ADD = 0
-OFPPR_DELETE = 1
-OFPPR_MODIFY = 2
-OFPMT_STANDARD = 0
-OFPMT_OXM = 1
-OFPXMC_NXM_0 = 0
-OFPXMC_NXM_1 = 1
-OFPXMC_OPENFLOW_BASIC = 32768
-OFPXMC_EXPERIMENTER = 65535
-OFPXMT_OFB_IN_PORT = 0
-OFPXMT_OFB_IN_PHY_PORT = 1
-OFPXMT_OFB_METADATA = 2
-OFPXMT_OFB_ETH_DST = 3
-OFPXMT_OFB_ETH_SRC = 4
-OFPXMT_OFB_ETH_TYPE = 5
-OFPXMT_OFB_VLAN_VID = 6
-OFPXMT_OFB_VLAN_PCP = 7
-OFPXMT_OFB_IP_DSCP = 8
-OFPXMT_OFB_IP_ECN = 9
-OFPXMT_OFB_IP_PROTO = 10
-OFPXMT_OFB_IPV4_SRC = 11
-OFPXMT_OFB_IPV4_DST = 12
-OFPXMT_OFB_TCP_SRC = 13
-OFPXMT_OFB_TCP_DST = 14
-OFPXMT_OFB_UDP_SRC = 15
-OFPXMT_OFB_UDP_DST = 16
-OFPXMT_OFB_SCTP_SRC = 17
-OFPXMT_OFB_SCTP_DST = 18
-OFPXMT_OFB_ICMPV4_TYPE = 19
-OFPXMT_OFB_ICMPV4_CODE = 20
-OFPXMT_OFB_ARP_OP = 21
-OFPXMT_OFB_ARP_SPA = 22
-OFPXMT_OFB_ARP_TPA = 23
-OFPXMT_OFB_ARP_SHA = 24
-OFPXMT_OFB_ARP_THA = 25
-OFPXMT_OFB_IPV6_SRC = 26
-OFPXMT_OFB_IPV6_DST = 27
-OFPXMT_OFB_IPV6_FLABEL = 28
-OFPXMT_OFB_ICMPV6_TYPE = 29
-OFPXMT_OFB_ICMPV6_CODE = 30
-OFPXMT_OFB_IPV6_ND_TARGET = 31
-OFPXMT_OFB_IPV6_ND_SLL = 32
-OFPXMT_OFB_IPV6_ND_TLL = 33
-OFPXMT_OFB_MPLS_LABEL = 34
-OFPXMT_OFB_MPLS_TC = 35
-OFPXMT_OFB_MPLS_BOS = 36
-OFPXMT_OFB_PBB_ISID = 37
-OFPXMT_OFB_TUNNEL_ID = 38
-OFPXMT_OFB_IPV6_EXTHDR = 39
-OFPVID_NONE = 0
-OFPVID_PRESENT = 4096
-OFPIEH_INVALID = 0
-OFPIEH_NONEXT = 1
-OFPIEH_ESP = 2
-OFPIEH_AUTH = 4
-OFPIEH_DEST = 8
-OFPIEH_FRAG = 16
-OFPIEH_ROUTER = 32
-OFPIEH_HOP = 64
-OFPIEH_UNREP = 128
-OFPIEH_UNSEQ = 256
-OFPAT_OUTPUT = 0
-OFPAT_COPY_TTL_OUT = 11
-OFPAT_COPY_TTL_IN = 12
-OFPAT_SET_MPLS_TTL = 15
-OFPAT_DEC_MPLS_TTL = 16
-OFPAT_PUSH_VLAN = 17
-OFPAT_POP_VLAN = 18
-OFPAT_PUSH_MPLS = 19
-OFPAT_POP_MPLS = 20
-OFPAT_SET_QUEUE = 21
-OFPAT_GROUP = 22
-OFPAT_SET_NW_TTL = 23
-OFPAT_DEC_NW_TTL = 24
-OFPAT_SET_FIELD = 25
-OFPAT_PUSH_PBB = 26
-OFPAT_POP_PBB = 27
-OFPAT_EXPERIMENTER = 65535
-OFPCML_INVALID = 0
-OFPCML_MAX = 65509
-OFPCML_NO_BUFFER = 65535
-OFPIT_INVALID = 0
-OFPIT_GOTO_TABLE = 1
-OFPIT_WRITE_METADATA = 2
-OFPIT_WRITE_ACTIONS = 3
-OFPIT_APPLY_ACTIONS = 4
-OFPIT_CLEAR_ACTIONS = 5
-OFPIT_METER = 6
-OFPIT_EXPERIMENTER = 65535
-OFPFC_ADD = 0
-OFPFC_MODIFY = 1
-OFPFC_MODIFY_STRICT = 2
-OFPFC_DELETE = 3
-OFPFC_DELETE_STRICT = 4
-OFPFF_INVALID = 0
-OFPFF_SEND_FLOW_REM = 1
-OFPFF_CHECK_OVERLAP = 2
-OFPFF_RESET_COUNTS = 4
-OFPFF_NO_PKT_COUNTS = 8
-OFPFF_NO_BYT_COUNTS = 16
-OFPG_INVALID = 0
-OFPG_MAX = 2147483392
-OFPG_ALL = 2147483644
-OFPG_ANY = 2147483647
-OFPGC_ADD = 0
-OFPGC_MODIFY = 1
-OFPGC_DELETE = 2
-OFPGT_ALL = 0
-OFPGT_SELECT = 1
-OFPGT_INDIRECT = 2
-OFPGT_FF = 3
-OFPR_NO_MATCH = 0
-OFPR_ACTION = 1
-OFPR_INVALID_TTL = 2
-OFPRR_IDLE_TIMEOUT = 0
-OFPRR_HARD_TIMEOUT = 1
-OFPRR_DELETE = 2
-OFPRR_GROUP_DELETE = 3
-OFPRR_METER_DELETE = 4
-OFPM_ZERO = 0
-OFPM_MAX = 2147418112
-OFPM_SLOWPATH = 2147483645
-OFPM_CONTROLLER = 2147483646
-OFPM_ALL = 2147483647
-OFPMBT_INVALID = 0
-OFPMBT_DROP = 1
-OFPMBT_DSCP_REMARK = 2
-OFPMBT_EXPERIMENTER = 65535
-OFPMC_ADD = 0
-OFPMC_MODIFY = 1
-OFPMC_DELETE = 2
-OFPMF_INVALID = 0
-OFPMF_KBPS = 1
-OFPMF_PKTPS = 2
-OFPMF_BURST = 4
-OFPMF_STATS = 8
-OFPET_HELLO_FAILED = 0
-OFPET_BAD_REQUEST = 1
-OFPET_BAD_ACTION = 2
-OFPET_BAD_INSTRUCTION = 3
-OFPET_BAD_MATCH = 4
-OFPET_FLOW_MOD_FAILED = 5
-OFPET_GROUP_MOD_FAILED = 6
-OFPET_PORT_MOD_FAILED = 7
-OFPET_TABLE_MOD_FAILED = 8
-OFPET_QUEUE_OP_FAILED = 9
-OFPET_SWITCH_CONFIG_FAILED = 10
-OFPET_ROLE_REQUEST_FAILED = 11
-OFPET_METER_MOD_FAILED = 12
-OFPET_TABLE_FEATURES_FAILED = 13
-OFPET_EXPERIMENTER = 65535
-OFPHFC_INCOMPATIBLE = 0
-OFPHFC_EPERM = 1
-OFPBRC_BAD_VERSION = 0
-OFPBRC_BAD_TYPE = 1
-OFPBRC_BAD_MULTIPART = 2
-OFPBRC_BAD_EXPERIMENTER = 3
-OFPBRC_BAD_EXP_TYPE = 4
-OFPBRC_EPERM = 5
-OFPBRC_BAD_LEN = 6
-OFPBRC_BUFFER_EMPTY = 7
-OFPBRC_BUFFER_UNKNOWN = 8
-OFPBRC_BAD_TABLE_ID = 9
-OFPBRC_IS_SLAVE = 10
-OFPBRC_BAD_PORT = 11
-OFPBRC_BAD_PACKET = 12
-OFPBRC_MULTIPART_BUFFER_OVERFLOW = 13
-OFPBAC_BAD_TYPE = 0
-OFPBAC_BAD_LEN = 1
-OFPBAC_BAD_EXPERIMENTER = 2
-OFPBAC_BAD_EXP_TYPE = 3
-OFPBAC_BAD_OUT_PORT = 4
-OFPBAC_BAD_ARGUMENT = 5
-OFPBAC_EPERM = 6
-OFPBAC_TOO_MANY = 7
-OFPBAC_BAD_QUEUE = 8
-OFPBAC_BAD_OUT_GROUP = 9
-OFPBAC_MATCH_INCONSISTENT = 10
-OFPBAC_UNSUPPORTED_ORDER = 11
-OFPBAC_BAD_TAG = 12
-OFPBAC_BAD_SET_TYPE = 13
-OFPBAC_BAD_SET_LEN = 14
-OFPBAC_BAD_SET_ARGUMENT = 15
-OFPBIC_UNKNOWN_INST = 0
-OFPBIC_UNSUP_INST = 1
-OFPBIC_BAD_TABLE_ID = 2
-OFPBIC_UNSUP_METADATA = 3
-OFPBIC_UNSUP_METADATA_MASK = 4
-OFPBIC_BAD_EXPERIMENTER = 5
-OFPBIC_BAD_EXP_TYPE = 6
-OFPBIC_BAD_LEN = 7
-OFPBIC_EPERM = 8
-OFPBMC_BAD_TYPE = 0
-OFPBMC_BAD_LEN = 1
-OFPBMC_BAD_TAG = 2
-OFPBMC_BAD_DL_ADDR_MASK = 3
-OFPBMC_BAD_NW_ADDR_MASK = 4
-OFPBMC_BAD_WILDCARDS = 5
-OFPBMC_BAD_FIELD = 6
-OFPBMC_BAD_VALUE = 7
-OFPBMC_BAD_MASK = 8
-OFPBMC_BAD_PREREQ = 9
-OFPBMC_DUP_FIELD = 10
-OFPBMC_EPERM = 11
-OFPFMFC_UNKNOWN = 0
-OFPFMFC_TABLE_FULL = 1
-OFPFMFC_BAD_TABLE_ID = 2
-OFPFMFC_OVERLAP = 3
-OFPFMFC_EPERM = 4
-OFPFMFC_BAD_TIMEOUT = 5
-OFPFMFC_BAD_COMMAND = 6
-OFPFMFC_BAD_FLAGS = 7
-OFPGMFC_GROUP_EXISTS = 0
-OFPGMFC_INVALID_GROUP = 1
-OFPGMFC_WEIGHT_UNSUPPORTED = 2
-OFPGMFC_OUT_OF_GROUPS = 3
-OFPGMFC_OUT_OF_BUCKETS = 4
-OFPGMFC_CHAINING_UNSUPPORTED = 5
-OFPGMFC_WATCH_UNSUPPORTED = 6
-OFPGMFC_LOOP = 7
-OFPGMFC_UNKNOWN_GROUP = 8
-OFPGMFC_CHAINED_GROUP = 9
-OFPGMFC_BAD_TYPE = 10
-OFPGMFC_BAD_COMMAND = 11
-OFPGMFC_BAD_BUCKET = 12
-OFPGMFC_BAD_WATCH = 13
-OFPGMFC_EPERM = 14
-OFPPMFC_BAD_PORT = 0
-OFPPMFC_BAD_HW_ADDR = 1
-OFPPMFC_BAD_CONFIG = 2
-OFPPMFC_BAD_ADVERTISE = 3
-OFPPMFC_EPERM = 4
-OFPTMFC_BAD_TABLE = 0
-OFPTMFC_BAD_CONFIG = 1
-OFPTMFC_EPERM = 2
-OFPQOFC_BAD_PORT = 0
-OFPQOFC_BAD_QUEUE = 1
-OFPQOFC_EPERM = 2
-OFPSCFC_BAD_FLAGS = 0
-OFPSCFC_BAD_LEN = 1
-OFPSCFC_EPERM = 2
-OFPRRFC_STALE = 0
-OFPRRFC_UNSUP = 1
-OFPRRFC_BAD_ROLE = 2
-OFPMMFC_UNKNOWN = 0
-OFPMMFC_METER_EXISTS = 1
-OFPMMFC_INVALID_METER = 2
-OFPMMFC_UNKNOWN_METER = 3
-OFPMMFC_BAD_COMMAND = 4
-OFPMMFC_BAD_FLAGS = 5
-OFPMMFC_BAD_RATE = 6
-OFPMMFC_BAD_BURST = 7
-OFPMMFC_BAD_BAND = 8
-OFPMMFC_BAD_BAND_VALUE = 9
-OFPMMFC_OUT_OF_METERS = 10
-OFPMMFC_OUT_OF_BANDS = 11
-OFPTFFC_BAD_TABLE = 0
-OFPTFFC_BAD_METADATA = 1
-OFPTFFC_BAD_TYPE = 2
-OFPTFFC_BAD_LEN = 3
-OFPTFFC_BAD_ARGUMENT = 4
-OFPTFFC_EPERM = 5
-OFPMP_DESC = 0
-OFPMP_FLOW = 1
-OFPMP_AGGREGATE = 2
-OFPMP_TABLE = 3
-OFPMP_PORT_STATS = 4
-OFPMP_QUEUE = 5
-OFPMP_GROUP = 6
-OFPMP_GROUP_DESC = 7
-OFPMP_GROUP_FEATURES = 8
-OFPMP_METER = 9
-OFPMP_METER_CONFIG = 10
-OFPMP_METER_FEATURES = 11
-OFPMP_TABLE_FEATURES = 12
-OFPMP_PORT_DESC = 13
-OFPMP_EXPERIMENTER = 65535
-OFPMPF_REQ_INVALID = 0
-OFPMPF_REQ_MORE = 1
-OFPMPF_REPLY_INVALID = 0
-OFPMPF_REPLY_MORE = 1
-OFPTFPT_INSTRUCTIONS = 0
-OFPTFPT_INSTRUCTIONS_MISS = 1
-OFPTFPT_NEXT_TABLES = 2
-OFPTFPT_NEXT_TABLES_MISS = 3
-OFPTFPT_WRITE_ACTIONS = 4
-OFPTFPT_WRITE_ACTIONS_MISS = 5
-OFPTFPT_APPLY_ACTIONS = 6
-OFPTFPT_APPLY_ACTIONS_MISS = 7
-OFPTFPT_MATCH = 8
-OFPTFPT_WILDCARDS = 10
-OFPTFPT_WRITE_SETFIELD = 12
-OFPTFPT_WRITE_SETFIELD_MISS = 13
-OFPTFPT_APPLY_SETFIELD = 14
-OFPTFPT_APPLY_SETFIELD_MISS = 15
-OFPTFPT_EXPERIMENTER = 65534
-OFPTFPT_EXPERIMENTER_MISS = 65535
-OFPGFC_INVALID = 0
-OFPGFC_SELECT_WEIGHT = 1
-OFPGFC_SELECT_LIVENESS = 2
-OFPGFC_CHAINING = 4
-OFPGFC_CHAINING_CHECKS = 8
-OFPQT_INVALID = 0
-OFPQT_MIN_RATE = 1
-OFPQT_MAX_RATE = 2
-OFPQT_EXPERIMENTER = 65535
-OFPCR_ROLE_NOCHANGE = 0
-OFPCR_ROLE_EQUAL = 1
-OFPCR_ROLE_MASTER = 2
-OFPCR_ROLE_SLAVE = 3
-
-
-
-_OFP_HEADER = _descriptor.Descriptor(
-  name='ofp_header',
-  full_name='openflow_13.ofp_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='version', full_name='openflow_13.ofp_header.version', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_header.type', index=1,
-      number=2, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='xid', full_name='openflow_13.ofp_header.xid', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=34,
-  serialized_end=113,
-)
-
-
-_OFP_HELLO_ELEM_HEADER = _descriptor.Descriptor(
-  name='ofp_hello_elem_header',
-  full_name='openflow_13.ofp_hello_elem_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_hello_elem_header.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='versionbitmap', full_name='openflow_13.ofp_hello_elem_header.versionbitmap', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='element', full_name='openflow_13.ofp_hello_elem_header.element',
-      index=0, containing_type=None, fields=[]),
-  ],
-  serialized_start=116,
-  serialized_end=266,
-)
-
-
-_OFP_HELLO_ELEM_VERSIONBITMAP = _descriptor.Descriptor(
-  name='ofp_hello_elem_versionbitmap',
-  full_name='openflow_13.ofp_hello_elem_versionbitmap',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='bitmaps', full_name='openflow_13.ofp_hello_elem_versionbitmap.bitmaps', index=0,
-      number=2, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=268,
-  serialized_end=315,
-)
-
-
-_OFP_HELLO = _descriptor.Descriptor(
-  name='ofp_hello',
-  full_name='openflow_13.ofp_hello',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='elements', full_name='openflow_13.ofp_hello.elements', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=317,
-  serialized_end=382,
-)
-
-
-_OFP_SWITCH_CONFIG = _descriptor.Descriptor(
-  name='ofp_switch_config',
-  full_name='openflow_13.ofp_switch_config',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='flags', full_name='openflow_13.ofp_switch_config.flags', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='miss_send_len', full_name='openflow_13.ofp_switch_config.miss_send_len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=384,
-  serialized_end=441,
-)
-
-
-_OFP_TABLE_MOD = _descriptor.Descriptor(
-  name='ofp_table_mod',
-  full_name='openflow_13.ofp_table_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_table_mod.table_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='config', full_name='openflow_13.ofp_table_mod.config', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=443,
-  serialized_end=492,
-)
-
-
-_OFP_PORT = _descriptor.Descriptor(
-  name='ofp_port',
-  full_name='openflow_13.ofp_port',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow_13.ofp_port.port_no', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='hw_addr', full_name='openflow_13.ofp_port.hw_addr', index=1,
-      number=2, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='name', full_name='openflow_13.ofp_port.name', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='config', full_name='openflow_13.ofp_port.config', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='state', full_name='openflow_13.ofp_port.state', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='curr', full_name='openflow_13.ofp_port.curr', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='advertised', full_name='openflow_13.ofp_port.advertised', index=6,
-      number=7, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='supported', full_name='openflow_13.ofp_port.supported', index=7,
-      number=8, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='peer', full_name='openflow_13.ofp_port.peer', index=8,
-      number=9, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='curr_speed', full_name='openflow_13.ofp_port.curr_speed', index=9,
-      number=10, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='max_speed', full_name='openflow_13.ofp_port.max_speed', index=10,
-      number=11, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=495,
-  serialized_end=690,
-)
-
-
-_OFP_SWITCH_FEATURES = _descriptor.Descriptor(
-  name='ofp_switch_features',
-  full_name='openflow_13.ofp_switch_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='datapath_id', full_name='openflow_13.ofp_switch_features.datapath_id', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='n_buffers', full_name='openflow_13.ofp_switch_features.n_buffers', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='n_tables', full_name='openflow_13.ofp_switch_features.n_tables', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='auxiliary_id', full_name='openflow_13.ofp_switch_features.auxiliary_id', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='capabilities', full_name='openflow_13.ofp_switch_features.capabilities', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=692,
-  serialized_end=815,
-)
-
-
-_OFP_PORT_STATUS = _descriptor.Descriptor(
-  name='ofp_port_status',
-  full_name='openflow_13.ofp_port_status',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='openflow_13.ofp_port_status.reason', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='desc', full_name='openflow_13.ofp_port_status.desc', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=817,
-  serialized_end=917,
-)
-
-
-_OFP_PORT_MOD = _descriptor.Descriptor(
-  name='ofp_port_mod',
-  full_name='openflow_13.ofp_port_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow_13.ofp_port_mod.port_no', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='hw_addr', full_name='openflow_13.ofp_port_mod.hw_addr', index=1,
-      number=2, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='config', full_name='openflow_13.ofp_port_mod.config', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='mask', full_name='openflow_13.ofp_port_mod.mask', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='advertise', full_name='openflow_13.ofp_port_mod.advertise', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=919,
-  serialized_end=1016,
-)
-
-
-_OFP_MATCH = _descriptor.Descriptor(
-  name='ofp_match',
-  full_name='openflow_13.ofp_match',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_match.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='oxm_fields', full_name='openflow_13.ofp_match.oxm_fields', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1018,
-  serialized_end=1120,
-)
-
-
-_OFP_OXM_FIELD = _descriptor.Descriptor(
-  name='ofp_oxm_field',
-  full_name='openflow_13.ofp_oxm_field',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='oxm_class', full_name='openflow_13.ofp_oxm_field.oxm_class', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ofb_field', full_name='openflow_13.ofp_oxm_field.ofb_field', index=1,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter_field', full_name='openflow_13.ofp_oxm_field.experimenter_field', index=2,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='field', full_name='openflow_13.ofp_oxm_field.field',
-      index=0, containing_type=None, fields=[]),
-  ],
-  serialized_start=1123,
-  serialized_end=1318,
-)
-
-
-_OFP_OXM_OFB_FIELD = _descriptor.Descriptor(
-  name='ofp_oxm_ofb_field',
-  full_name='openflow_13.ofp_oxm_ofb_field',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_oxm_ofb_field.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='has_mask', full_name='openflow_13.ofp_oxm_ofb_field.has_mask', index=1,
-      number=2, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='port', full_name='openflow_13.ofp_oxm_ofb_field.port', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='physical_port', full_name='openflow_13.ofp_oxm_ofb_field.physical_port', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='table_metadata', full_name='openflow_13.ofp_oxm_ofb_field.table_metadata', index=4,
-      number=5, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='eth_dst', full_name='openflow_13.ofp_oxm_ofb_field.eth_dst', index=5,
-      number=6, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='eth_src', full_name='openflow_13.ofp_oxm_ofb_field.eth_src', index=6,
-      number=7, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='eth_type', full_name='openflow_13.ofp_oxm_ofb_field.eth_type', index=7,
-      number=8, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='vlan_vid', full_name='openflow_13.ofp_oxm_ofb_field.vlan_vid', index=8,
-      number=9, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='vlan_pcp', full_name='openflow_13.ofp_oxm_ofb_field.vlan_pcp', index=9,
-      number=10, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ip_dscp', full_name='openflow_13.ofp_oxm_ofb_field.ip_dscp', index=10,
-      number=11, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ip_ecn', full_name='openflow_13.ofp_oxm_ofb_field.ip_ecn', index=11,
-      number=12, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ip_proto', full_name='openflow_13.ofp_oxm_ofb_field.ip_proto', index=12,
-      number=13, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv4_src', full_name='openflow_13.ofp_oxm_ofb_field.ipv4_src', index=13,
-      number=14, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv4_dst', full_name='openflow_13.ofp_oxm_ofb_field.ipv4_dst', index=14,
-      number=15, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tcp_src', full_name='openflow_13.ofp_oxm_ofb_field.tcp_src', index=15,
-      number=16, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tcp_dst', full_name='openflow_13.ofp_oxm_ofb_field.tcp_dst', index=16,
-      number=17, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='udp_src', full_name='openflow_13.ofp_oxm_ofb_field.udp_src', index=17,
-      number=18, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='udp_dst', full_name='openflow_13.ofp_oxm_ofb_field.udp_dst', index=18,
-      number=19, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='sctp_src', full_name='openflow_13.ofp_oxm_ofb_field.sctp_src', index=19,
-      number=20, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='sctp_dst', full_name='openflow_13.ofp_oxm_ofb_field.sctp_dst', index=20,
-      number=21, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='icmpv4_type', full_name='openflow_13.ofp_oxm_ofb_field.icmpv4_type', index=21,
-      number=22, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='icmpv4_code', full_name='openflow_13.ofp_oxm_ofb_field.icmpv4_code', index=22,
-      number=23, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='arp_op', full_name='openflow_13.ofp_oxm_ofb_field.arp_op', index=23,
-      number=24, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='arp_spa', full_name='openflow_13.ofp_oxm_ofb_field.arp_spa', index=24,
-      number=25, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='arp_tpa', full_name='openflow_13.ofp_oxm_ofb_field.arp_tpa', index=25,
-      number=26, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='arp_sha', full_name='openflow_13.ofp_oxm_ofb_field.arp_sha', index=26,
-      number=27, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='arp_tha', full_name='openflow_13.ofp_oxm_ofb_field.arp_tha', index=27,
-      number=28, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_src', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_src', index=28,
-      number=29, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_dst', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_dst', index=29,
-      number=30, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_flabel', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_flabel', index=30,
-      number=31, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='icmpv6_type', full_name='openflow_13.ofp_oxm_ofb_field.icmpv6_type', index=31,
-      number=32, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='icmpv6_code', full_name='openflow_13.ofp_oxm_ofb_field.icmpv6_code', index=32,
-      number=33, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_nd_target', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_nd_target', index=33,
-      number=34, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_nd_ssl', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_nd_ssl', index=34,
-      number=35, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_nd_tll', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_nd_tll', index=35,
-      number=36, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='mpls_label', full_name='openflow_13.ofp_oxm_ofb_field.mpls_label', index=36,
-      number=37, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='mpls_tc', full_name='openflow_13.ofp_oxm_ofb_field.mpls_tc', index=37,
-      number=38, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='mpls_bos', full_name='openflow_13.ofp_oxm_ofb_field.mpls_bos', index=38,
-      number=39, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='pbb_isid', full_name='openflow_13.ofp_oxm_ofb_field.pbb_isid', index=39,
-      number=40, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tunnel_id', full_name='openflow_13.ofp_oxm_ofb_field.tunnel_id', index=40,
-      number=41, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_exthdr', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_exthdr', index=41,
-      number=42, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='table_metadata_mask', full_name='openflow_13.ofp_oxm_ofb_field.table_metadata_mask', index=42,
-      number=105, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='eth_dst_mask', full_name='openflow_13.ofp_oxm_ofb_field.eth_dst_mask', index=43,
-      number=106, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='eth_src_mask', full_name='openflow_13.ofp_oxm_ofb_field.eth_src_mask', index=44,
-      number=107, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='vlan_vid_mask', full_name='openflow_13.ofp_oxm_ofb_field.vlan_vid_mask', index=45,
-      number=109, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv4_src_mask', full_name='openflow_13.ofp_oxm_ofb_field.ipv4_src_mask', index=46,
-      number=114, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv4_dst_mask', full_name='openflow_13.ofp_oxm_ofb_field.ipv4_dst_mask', index=47,
-      number=115, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='arp_spa_mask', full_name='openflow_13.ofp_oxm_ofb_field.arp_spa_mask', index=48,
-      number=125, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='arp_tpa_mask', full_name='openflow_13.ofp_oxm_ofb_field.arp_tpa_mask', index=49,
-      number=126, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_src_mask', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_src_mask', index=50,
-      number=129, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_dst_mask', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_dst_mask', index=51,
-      number=130, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_flabel_mask', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_flabel_mask', index=52,
-      number=131, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='pbb_isid_mask', full_name='openflow_13.ofp_oxm_ofb_field.pbb_isid_mask', index=53,
-      number=140, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tunnel_id_mask', full_name='openflow_13.ofp_oxm_ofb_field.tunnel_id_mask', index=54,
-      number=141, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ipv6_exthdr_mask', full_name='openflow_13.ofp_oxm_ofb_field.ipv6_exthdr_mask', index=55,
-      number=142, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='value', full_name='openflow_13.ofp_oxm_ofb_field.value',
-      index=0, containing_type=None, fields=[]),
-    _descriptor.OneofDescriptor(
-      name='mask', full_name='openflow_13.ofp_oxm_ofb_field.mask',
-      index=1, containing_type=None, fields=[]),
-  ],
-  serialized_start=1321,
-  serialized_end=2612,
-)
-
-
-_OFP_OXM_EXPERIMENTER_FIELD = _descriptor.Descriptor(
-  name='ofp_oxm_experimenter_field',
-  full_name='openflow_13.ofp_oxm_experimenter_field',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='oxm_header', full_name='openflow_13.ofp_oxm_experimenter_field.oxm_header', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_oxm_experimenter_field.experimenter', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2614,
-  serialized_end=2684,
-)
-
-
-_OFP_ACTION = _descriptor.Descriptor(
-  name='ofp_action',
-  full_name='openflow_13.ofp_action',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_action.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='output', full_name='openflow_13.ofp_action.output', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='mpls_ttl', full_name='openflow_13.ofp_action.mpls_ttl', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='push', full_name='openflow_13.ofp_action.push', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='pop_mpls', full_name='openflow_13.ofp_action.pop_mpls', index=4,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='group', full_name='openflow_13.ofp_action.group', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='nw_ttl', full_name='openflow_13.ofp_action.nw_ttl', index=6,
-      number=7, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='set_field', full_name='openflow_13.ofp_action.set_field', index=7,
-      number=8, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_action.experimenter', index=8,
-      number=9, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='action', full_name='openflow_13.ofp_action.action',
-      index=0, containing_type=None, fields=[]),
-  ],
-  serialized_start=2687,
-  serialized_end=3173,
-)
-
-
-_OFP_ACTION_OUTPUT = _descriptor.Descriptor(
-  name='ofp_action_output',
-  full_name='openflow_13.ofp_action_output',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port', full_name='openflow_13.ofp_action_output.port', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='max_len', full_name='openflow_13.ofp_action_output.max_len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3175,
-  serialized_end=3225,
-)
-
-
-_OFP_ACTION_MPLS_TTL = _descriptor.Descriptor(
-  name='ofp_action_mpls_ttl',
-  full_name='openflow_13.ofp_action_mpls_ttl',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='mpls_ttl', full_name='openflow_13.ofp_action_mpls_ttl.mpls_ttl', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3227,
-  serialized_end=3266,
-)
-
-
-_OFP_ACTION_PUSH = _descriptor.Descriptor(
-  name='ofp_action_push',
-  full_name='openflow_13.ofp_action_push',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='ethertype', full_name='openflow_13.ofp_action_push.ethertype', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3268,
-  serialized_end=3304,
-)
-
-
-_OFP_ACTION_POP_MPLS = _descriptor.Descriptor(
-  name='ofp_action_pop_mpls',
-  full_name='openflow_13.ofp_action_pop_mpls',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='ethertype', full_name='openflow_13.ofp_action_pop_mpls.ethertype', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3306,
-  serialized_end=3346,
-)
-
-
-_OFP_ACTION_GROUP = _descriptor.Descriptor(
-  name='ofp_action_group',
-  full_name='openflow_13.ofp_action_group',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='group_id', full_name='openflow_13.ofp_action_group.group_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3348,
-  serialized_end=3384,
-)
-
-
-_OFP_ACTION_NW_TTL = _descriptor.Descriptor(
-  name='ofp_action_nw_ttl',
-  full_name='openflow_13.ofp_action_nw_ttl',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='nw_ttl', full_name='openflow_13.ofp_action_nw_ttl.nw_ttl', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3386,
-  serialized_end=3421,
-)
-
-
-_OFP_ACTION_SET_FIELD = _descriptor.Descriptor(
-  name='ofp_action_set_field',
-  full_name='openflow_13.ofp_action_set_field',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='field', full_name='openflow_13.ofp_action_set_field.field', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3423,
-  serialized_end=3488,
-)
-
-
-_OFP_ACTION_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_action_experimenter',
-  full_name='openflow_13.ofp_action_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_action_experimenter.experimenter', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_action_experimenter.data', index=1,
-      number=2, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3490,
-  serialized_end=3551,
-)
-
-
-_OFP_INSTRUCTION = _descriptor.Descriptor(
-  name='ofp_instruction',
-  full_name='openflow_13.ofp_instruction',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_instruction.type', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='goto_table', full_name='openflow_13.ofp_instruction.goto_table', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='write_metadata', full_name='openflow_13.ofp_instruction.write_metadata', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='actions', full_name='openflow_13.ofp_instruction.actions', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='meter', full_name='openflow_13.ofp_instruction.meter', index=4,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_instruction.experimenter', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='data', full_name='openflow_13.ofp_instruction.data',
-      index=0, containing_type=None, fields=[]),
-  ],
-  serialized_start=3554,
-  serialized_end=3904,
-)
-
-
-_OFP_INSTRUCTION_GOTO_TABLE = _descriptor.Descriptor(
-  name='ofp_instruction_goto_table',
-  full_name='openflow_13.ofp_instruction_goto_table',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_instruction_goto_table.table_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3906,
-  serialized_end=3952,
-)
-
-
-_OFP_INSTRUCTION_WRITE_METADATA = _descriptor.Descriptor(
-  name='ofp_instruction_write_metadata',
-  full_name='openflow_13.ofp_instruction_write_metadata',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='metadata', full_name='openflow_13.ofp_instruction_write_metadata.metadata', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='metadata_mask', full_name='openflow_13.ofp_instruction_write_metadata.metadata_mask', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3954,
-  serialized_end=4027,
-)
-
-
-_OFP_INSTRUCTION_ACTIONS = _descriptor.Descriptor(
-  name='ofp_instruction_actions',
-  full_name='openflow_13.ofp_instruction_actions',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='actions', full_name='openflow_13.ofp_instruction_actions.actions', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4029,
-  serialized_end=4096,
-)
-
-
-_OFP_INSTRUCTION_METER = _descriptor.Descriptor(
-  name='ofp_instruction_meter',
-  full_name='openflow_13.ofp_instruction_meter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='meter_id', full_name='openflow_13.ofp_instruction_meter.meter_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4098,
-  serialized_end=4139,
-)
-
-
-_OFP_INSTRUCTION_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_instruction_experimenter',
-  full_name='openflow_13.ofp_instruction_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_instruction_experimenter.experimenter', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_instruction_experimenter.data', index=1,
-      number=2, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4141,
-  serialized_end=4207,
-)
-
-
-_OFP_FLOW_MOD = _descriptor.Descriptor(
-  name='ofp_flow_mod',
-  full_name='openflow_13.ofp_flow_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='cookie', full_name='openflow_13.ofp_flow_mod.cookie', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cookie_mask', full_name='openflow_13.ofp_flow_mod.cookie_mask', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_flow_mod.table_id', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='command', full_name='openflow_13.ofp_flow_mod.command', index=3,
-      number=4, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='idle_timeout', full_name='openflow_13.ofp_flow_mod.idle_timeout', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='hard_timeout', full_name='openflow_13.ofp_flow_mod.hard_timeout', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='priority', full_name='openflow_13.ofp_flow_mod.priority', index=6,
-      number=7, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='buffer_id', full_name='openflow_13.ofp_flow_mod.buffer_id', index=7,
-      number=8, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='out_port', full_name='openflow_13.ofp_flow_mod.out_port', index=8,
-      number=9, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='out_group', full_name='openflow_13.ofp_flow_mod.out_group', index=9,
-      number=10, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flags', full_name='openflow_13.ofp_flow_mod.flags', index=10,
-      number=11, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='match', full_name='openflow_13.ofp_flow_mod.match', index=11,
-      number=12, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='instructions', full_name='openflow_13.ofp_flow_mod.instructions', index=12,
-      number=13, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4210,
-  serialized_end=4555,
-)
-
-
-_OFP_BUCKET = _descriptor.Descriptor(
-  name='ofp_bucket',
-  full_name='openflow_13.ofp_bucket',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='weight', full_name='openflow_13.ofp_bucket.weight', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='watch_port', full_name='openflow_13.ofp_bucket.watch_port', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='watch_group', full_name='openflow_13.ofp_bucket.watch_group', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='actions', full_name='openflow_13.ofp_bucket.actions', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4557,
-  serialized_end=4668,
-)
-
-
-_OFP_GROUP_MOD = _descriptor.Descriptor(
-  name='ofp_group_mod',
-  full_name='openflow_13.ofp_group_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='command', full_name='openflow_13.ofp_group_mod.command', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_group_mod.type', index=1,
-      number=2, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='group_id', full_name='openflow_13.ofp_group_mod.group_id', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='buckets', full_name='openflow_13.ofp_group_mod.buckets', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4671,
-  serialized_end=4842,
-)
-
-
-_OFP_PACKET_OUT = _descriptor.Descriptor(
-  name='ofp_packet_out',
-  full_name='openflow_13.ofp_packet_out',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='buffer_id', full_name='openflow_13.ofp_packet_out.buffer_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='in_port', full_name='openflow_13.ofp_packet_out.in_port', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='actions', full_name='openflow_13.ofp_packet_out.actions', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_packet_out.data', index=3,
-      number=4, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4844,
-  serialized_end=4952,
-)
-
-
-_OFP_PACKET_IN = _descriptor.Descriptor(
-  name='ofp_packet_in',
-  full_name='openflow_13.ofp_packet_in',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='buffer_id', full_name='openflow_13.ofp_packet_in.buffer_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='total_len', full_name='openflow_13.ofp_packet_in.total_len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='openflow_13.ofp_packet_in.reason', index=2,
-      number=3, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_packet_in.table_id', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cookie', full_name='openflow_13.ofp_packet_in.cookie', index=4,
-      number=5, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='match', full_name='openflow_13.ofp_packet_in.match', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_packet_in.data', index=6,
-      number=7, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4955,
-  serialized_end=5146,
-)
-
-
-_OFP_FLOW_REMOVED = _descriptor.Descriptor(
-  name='ofp_flow_removed',
-  full_name='openflow_13.ofp_flow_removed',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='cookie', full_name='openflow_13.ofp_flow_removed.cookie', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='priority', full_name='openflow_13.ofp_flow_removed.priority', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='openflow_13.ofp_flow_removed.reason', index=2,
-      number=3, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_flow_removed.table_id', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_sec', full_name='openflow_13.ofp_flow_removed.duration_sec', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_nsec', full_name='openflow_13.ofp_flow_removed.duration_nsec', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='idle_timeout', full_name='openflow_13.ofp_flow_removed.idle_timeout', index=6,
-      number=7, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='hard_timeout', full_name='openflow_13.ofp_flow_removed.hard_timeout', index=7,
-      number=8, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow_13.ofp_flow_removed.packet_count', index=8,
-      number=9, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='byte_count', full_name='openflow_13.ofp_flow_removed.byte_count', index=9,
-      number=10, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='match', full_name='openflow_13.ofp_flow_removed.match', index=10,
-      number=121, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=5149,
-  serialized_end=5443,
-)
-
-
-_OFP_METER_BAND_HEADER = _descriptor.Descriptor(
-  name='ofp_meter_band_header',
-  full_name='openflow_13.ofp_meter_band_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_meter_band_header.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='len', full_name='openflow_13.ofp_meter_band_header.len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rate', full_name='openflow_13.ofp_meter_band_header.rate', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='burst_size', full_name='openflow_13.ofp_meter_band_header.burst_size', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=5445,
-  serialized_end=5563,
-)
-
-
-_OFP_METER_BAND_DROP = _descriptor.Descriptor(
-  name='ofp_meter_band_drop',
-  full_name='openflow_13.ofp_meter_band_drop',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_meter_band_drop.type', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='len', full_name='openflow_13.ofp_meter_band_drop.len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rate', full_name='openflow_13.ofp_meter_band_drop.rate', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='burst_size', full_name='openflow_13.ofp_meter_band_drop.burst_size', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=5565,
-  serialized_end=5647,
-)
-
-
-_OFP_METER_BAND_DSCP_REMARK = _descriptor.Descriptor(
-  name='ofp_meter_band_dscp_remark',
-  full_name='openflow_13.ofp_meter_band_dscp_remark',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_meter_band_dscp_remark.type', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='len', full_name='openflow_13.ofp_meter_band_dscp_remark.len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rate', full_name='openflow_13.ofp_meter_band_dscp_remark.rate', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='burst_size', full_name='openflow_13.ofp_meter_band_dscp_remark.burst_size', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='prec_level', full_name='openflow_13.ofp_meter_band_dscp_remark.prec_level', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=5649,
-  serialized_end=5758,
-)
-
-
-_OFP_METER_BAND_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_meter_band_experimenter',
-  full_name='openflow_13.ofp_meter_band_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_meter_band_experimenter.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='len', full_name='openflow_13.ofp_meter_band_experimenter.len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rate', full_name='openflow_13.ofp_meter_band_experimenter.rate', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='burst_size', full_name='openflow_13.ofp_meter_band_experimenter.burst_size', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_meter_band_experimenter.experimenter', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=5761,
-  serialized_end=5907,
-)
-
-
-_OFP_METER_MOD = _descriptor.Descriptor(
-  name='ofp_meter_mod',
-  full_name='openflow_13.ofp_meter_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='command', full_name='openflow_13.ofp_meter_mod.command', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flags', full_name='openflow_13.ofp_meter_mod.flags', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='meter_id', full_name='openflow_13.ofp_meter_mod.meter_id', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='bands', full_name='openflow_13.ofp_meter_mod.bands', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=5910,
-  serialized_end=6062,
-)
-
-
-_OFP_ERROR_MSG = _descriptor.Descriptor(
-  name='ofp_error_msg',
-  full_name='openflow_13.ofp_error_msg',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_error_msg.type', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='code', full_name='openflow_13.ofp_error_msg.code', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_error_msg.data', index=2,
-      number=3, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6064,
-  serialized_end=6121,
-)
-
-
-_OFP_ERROR_EXPERIMENTER_MSG = _descriptor.Descriptor(
-  name='ofp_error_experimenter_msg',
-  full_name='openflow_13.ofp_error_experimenter_msg',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_error_experimenter_msg.type', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='exp_type', full_name='openflow_13.ofp_error_experimenter_msg.exp_type', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_error_experimenter_msg.experimenter', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_error_experimenter_msg.data', index=3,
-      number=4, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6123,
-  serialized_end=6219,
-)
-
-
-_OFP_MULTIPART_REQUEST = _descriptor.Descriptor(
-  name='ofp_multipart_request',
-  full_name='openflow_13.ofp_multipart_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_multipart_request.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flags', full_name='openflow_13.ofp_multipart_request.flags', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='body', full_name='openflow_13.ofp_multipart_request.body', index=2,
-      number=3, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6221,
-  serialized_end=6320,
-)
-
-
-_OFP_MULTIPART_REPLY = _descriptor.Descriptor(
-  name='ofp_multipart_reply',
-  full_name='openflow_13.ofp_multipart_reply',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_multipart_reply.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flags', full_name='openflow_13.ofp_multipart_reply.flags', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='body', full_name='openflow_13.ofp_multipart_reply.body', index=2,
-      number=3, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6322,
-  serialized_end=6419,
-)
-
-
-_OFP_DESC = _descriptor.Descriptor(
-  name='ofp_desc',
-  full_name='openflow_13.ofp_desc',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='mfr_desc', full_name='openflow_13.ofp_desc.mfr_desc', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='hw_desc', full_name='openflow_13.ofp_desc.hw_desc', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='sw_desc', full_name='openflow_13.ofp_desc.sw_desc', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='serial_num', full_name='openflow_13.ofp_desc.serial_num', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='dp_desc', full_name='openflow_13.ofp_desc.dp_desc', index=4,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6421,
-  serialized_end=6520,
-)
-
-
-_OFP_FLOW_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_flow_stats_request',
-  full_name='openflow_13.ofp_flow_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_flow_stats_request.table_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='out_port', full_name='openflow_13.ofp_flow_stats_request.out_port', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='out_group', full_name='openflow_13.ofp_flow_stats_request.out_group', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cookie', full_name='openflow_13.ofp_flow_stats_request.cookie', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cookie_mask', full_name='openflow_13.ofp_flow_stats_request.cookie_mask', index=4,
-      number=5, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='match', full_name='openflow_13.ofp_flow_stats_request.match', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6523,
-  serialized_end=6678,
-)
-
-
-_OFP_FLOW_STATS = _descriptor.Descriptor(
-  name='ofp_flow_stats',
-  full_name='openflow_13.ofp_flow_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_flow_stats.table_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_sec', full_name='openflow_13.ofp_flow_stats.duration_sec', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_nsec', full_name='openflow_13.ofp_flow_stats.duration_nsec', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='priority', full_name='openflow_13.ofp_flow_stats.priority', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='idle_timeout', full_name='openflow_13.ofp_flow_stats.idle_timeout', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='hard_timeout', full_name='openflow_13.ofp_flow_stats.hard_timeout', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flags', full_name='openflow_13.ofp_flow_stats.flags', index=6,
-      number=7, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cookie', full_name='openflow_13.ofp_flow_stats.cookie', index=7,
-      number=8, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow_13.ofp_flow_stats.packet_count', index=8,
-      number=9, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='byte_count', full_name='openflow_13.ofp_flow_stats.byte_count', index=9,
-      number=10, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='match', full_name='openflow_13.ofp_flow_stats.match', index=10,
-      number=12, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='instructions', full_name='openflow_13.ofp_flow_stats.instructions', index=11,
-      number=13, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6681,
-  serialized_end=6986,
-)
-
-
-_OFP_AGGREGATE_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_aggregate_stats_request',
-  full_name='openflow_13.ofp_aggregate_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_aggregate_stats_request.table_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='out_port', full_name='openflow_13.ofp_aggregate_stats_request.out_port', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='out_group', full_name='openflow_13.ofp_aggregate_stats_request.out_group', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cookie', full_name='openflow_13.ofp_aggregate_stats_request.cookie', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cookie_mask', full_name='openflow_13.ofp_aggregate_stats_request.cookie_mask', index=4,
-      number=5, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='match', full_name='openflow_13.ofp_aggregate_stats_request.match', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=6989,
-  serialized_end=7149,
-)
-
-
-_OFP_AGGREGATE_STATS_REPLY = _descriptor.Descriptor(
-  name='ofp_aggregate_stats_reply',
-  full_name='openflow_13.ofp_aggregate_stats_reply',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow_13.ofp_aggregate_stats_reply.packet_count', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='byte_count', full_name='openflow_13.ofp_aggregate_stats_reply.byte_count', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flow_count', full_name='openflow_13.ofp_aggregate_stats_reply.flow_count', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=7151,
-  serialized_end=7240,
-)
-
-
-_OFP_TABLE_FEATURE_PROPERTY = _descriptor.Descriptor(
-  name='ofp_table_feature_property',
-  full_name='openflow_13.ofp_table_feature_property',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_table_feature_property.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='instructions', full_name='openflow_13.ofp_table_feature_property.instructions', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='next_tables', full_name='openflow_13.ofp_table_feature_property.next_tables', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='actions', full_name='openflow_13.ofp_table_feature_property.actions', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='oxm', full_name='openflow_13.ofp_table_feature_property.oxm', index=4,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_table_feature_property.experimenter', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='value', full_name='openflow_13.ofp_table_feature_property.value',
-      index=0, containing_type=None, fields=[]),
-  ],
-  serialized_start=7243,
-  serialized_end=7676,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_INSTRUCTIONS = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_instructions',
-  full_name='openflow_13.ofp_table_feature_prop_instructions',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='instructions', full_name='openflow_13.ofp_table_feature_prop_instructions.instructions', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=7678,
-  serialized_end=7767,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_NEXT_TABLES = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_next_tables',
-  full_name='openflow_13.ofp_table_feature_prop_next_tables',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='next_table_ids', full_name='openflow_13.ofp_table_feature_prop_next_tables.next_table_ids', index=0,
-      number=1, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=7769,
-  serialized_end=7829,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_ACTIONS = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_actions',
-  full_name='openflow_13.ofp_table_feature_prop_actions',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='actions', full_name='openflow_13.ofp_table_feature_prop_actions.actions', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=7831,
-  serialized_end=7905,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_OXM = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_oxm',
-  full_name='openflow_13.ofp_table_feature_prop_oxm',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='oxm_ids', full_name='openflow_13.ofp_table_feature_prop_oxm.oxm_ids', index=0,
-      number=3, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=7907,
-  serialized_end=7952,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_experimenter',
-  full_name='openflow_13.ofp_table_feature_prop_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_table_feature_prop_experimenter.experimenter', index=0,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='exp_type', full_name='openflow_13.ofp_table_feature_prop_experimenter.exp_type', index=1,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter_data', full_name='openflow_13.ofp_table_feature_prop_experimenter.experimenter_data', index=2,
-      number=4, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=7954,
-  serialized_end=8058,
-)
-
-
-_OFP_TABLE_FEATURES = _descriptor.Descriptor(
-  name='ofp_table_features',
-  full_name='openflow_13.ofp_table_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_table_features.table_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='name', full_name='openflow_13.ofp_table_features.name', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='metadata_match', full_name='openflow_13.ofp_table_features.metadata_match', index=2,
-      number=3, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='metadata_write', full_name='openflow_13.ofp_table_features.metadata_write', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='config', full_name='openflow_13.ofp_table_features.config', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='max_entries', full_name='openflow_13.ofp_table_features.max_entries', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='properties', full_name='openflow_13.ofp_table_features.properties', index=6,
-      number=7, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8061,
-  serialized_end=8259,
-)
-
-
-_OFP_TABLE_STATS = _descriptor.Descriptor(
-  name='ofp_table_stats',
-  full_name='openflow_13.ofp_table_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow_13.ofp_table_stats.table_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='active_count', full_name='openflow_13.ofp_table_stats.active_count', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='lookup_count', full_name='openflow_13.ofp_table_stats.lookup_count', index=2,
-      number=3, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='matched_count', full_name='openflow_13.ofp_table_stats.matched_count', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8261,
-  serialized_end=8363,
-)
-
-
-_OFP_PORT_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_port_stats_request',
-  full_name='openflow_13.ofp_port_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow_13.ofp_port_stats_request.port_no', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8365,
-  serialized_end=8406,
-)
-
-
-_OFP_PORT_STATS = _descriptor.Descriptor(
-  name='ofp_port_stats',
-  full_name='openflow_13.ofp_port_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow_13.ofp_port_stats.port_no', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rx_packets', full_name='openflow_13.ofp_port_stats.rx_packets', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tx_packets', full_name='openflow_13.ofp_port_stats.tx_packets', index=2,
-      number=3, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rx_bytes', full_name='openflow_13.ofp_port_stats.rx_bytes', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tx_bytes', full_name='openflow_13.ofp_port_stats.tx_bytes', index=4,
-      number=5, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rx_dropped', full_name='openflow_13.ofp_port_stats.rx_dropped', index=5,
-      number=6, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tx_dropped', full_name='openflow_13.ofp_port_stats.tx_dropped', index=6,
-      number=7, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rx_errors', full_name='openflow_13.ofp_port_stats.rx_errors', index=7,
-      number=8, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tx_errors', full_name='openflow_13.ofp_port_stats.tx_errors', index=8,
-      number=9, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rx_frame_err', full_name='openflow_13.ofp_port_stats.rx_frame_err', index=9,
-      number=10, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rx_over_err', full_name='openflow_13.ofp_port_stats.rx_over_err', index=10,
-      number=11, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rx_crc_err', full_name='openflow_13.ofp_port_stats.rx_crc_err', index=11,
-      number=12, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='collisions', full_name='openflow_13.ofp_port_stats.collisions', index=12,
-      number=13, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_sec', full_name='openflow_13.ofp_port_stats.duration_sec', index=13,
-      number=14, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_nsec', full_name='openflow_13.ofp_port_stats.duration_nsec', index=14,
-      number=15, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8409,
-  serialized_end=8724,
-)
-
-
-_OFP_GROUP_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_group_stats_request',
-  full_name='openflow_13.ofp_group_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='group_id', full_name='openflow_13.ofp_group_stats_request.group_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8726,
-  serialized_end=8769,
-)
-
-
-_OFP_BUCKET_COUNTER = _descriptor.Descriptor(
-  name='ofp_bucket_counter',
-  full_name='openflow_13.ofp_bucket_counter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow_13.ofp_bucket_counter.packet_count', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='byte_count', full_name='openflow_13.ofp_bucket_counter.byte_count', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8771,
-  serialized_end=8833,
-)
-
-
-_OFP_GROUP_STATS = _descriptor.Descriptor(
-  name='ofp_group_stats',
-  full_name='openflow_13.ofp_group_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='group_id', full_name='openflow_13.ofp_group_stats.group_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ref_count', full_name='openflow_13.ofp_group_stats.ref_count', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow_13.ofp_group_stats.packet_count', index=2,
-      number=3, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='byte_count', full_name='openflow_13.ofp_group_stats.byte_count', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_sec', full_name='openflow_13.ofp_group_stats.duration_sec', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_nsec', full_name='openflow_13.ofp_group_stats.duration_nsec', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='bucket_stats', full_name='openflow_13.ofp_group_stats.bucket_stats', index=6,
-      number=7, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8836,
-  serialized_end=9032,
-)
-
-
-_OFP_GROUP_DESC = _descriptor.Descriptor(
-  name='ofp_group_desc',
-  full_name='openflow_13.ofp_group_desc',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_group_desc.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='group_id', full_name='openflow_13.ofp_group_desc.group_id', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='buckets', full_name='openflow_13.ofp_group_desc.buckets', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9034,
-  serialized_end=9153,
-)
-
-
-_OFP_GROUP_ENTRY = _descriptor.Descriptor(
-  name='ofp_group_entry',
-  full_name='openflow_13.ofp_group_entry',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='desc', full_name='openflow_13.ofp_group_entry.desc', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='stats', full_name='openflow_13.ofp_group_entry.stats', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9155,
-  serialized_end=9260,
-)
-
-
-_OFP_GROUP_FEATURES = _descriptor.Descriptor(
-  name='ofp_group_features',
-  full_name='openflow_13.ofp_group_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='types', full_name='openflow_13.ofp_group_features.types', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='capabilities', full_name='openflow_13.ofp_group_features.capabilities', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='max_groups', full_name='openflow_13.ofp_group_features.max_groups', index=2,
-      number=3, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='actions', full_name='openflow_13.ofp_group_features.actions', index=3,
-      number=4, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9262,
-  serialized_end=9356,
-)
-
-
-_OFP_METER_MULTIPART_REQUEST = _descriptor.Descriptor(
-  name='ofp_meter_multipart_request',
-  full_name='openflow_13.ofp_meter_multipart_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='meter_id', full_name='openflow_13.ofp_meter_multipart_request.meter_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9358,
-  serialized_end=9405,
-)
-
-
-_OFP_METER_BAND_STATS = _descriptor.Descriptor(
-  name='ofp_meter_band_stats',
-  full_name='openflow_13.ofp_meter_band_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='packet_band_count', full_name='openflow_13.ofp_meter_band_stats.packet_band_count', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='byte_band_count', full_name='openflow_13.ofp_meter_band_stats.byte_band_count', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9407,
-  serialized_end=9481,
-)
-
-
-_OFP_METER_STATS = _descriptor.Descriptor(
-  name='ofp_meter_stats',
-  full_name='openflow_13.ofp_meter_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='meter_id', full_name='openflow_13.ofp_meter_stats.meter_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flow_count', full_name='openflow_13.ofp_meter_stats.flow_count', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='packet_in_count', full_name='openflow_13.ofp_meter_stats.packet_in_count', index=2,
-      number=3, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='byte_in_count', full_name='openflow_13.ofp_meter_stats.byte_in_count', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_sec', full_name='openflow_13.ofp_meter_stats.duration_sec', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_nsec', full_name='openflow_13.ofp_meter_stats.duration_nsec', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='band_stats', full_name='openflow_13.ofp_meter_stats.band_stats', index=6,
-      number=7, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9484,
-  serialized_end=9687,
-)
-
-
-_OFP_METER_CONFIG = _descriptor.Descriptor(
-  name='ofp_meter_config',
-  full_name='openflow_13.ofp_meter_config',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='flags', full_name='openflow_13.ofp_meter_config.flags', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='meter_id', full_name='openflow_13.ofp_meter_config.meter_id', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='bands', full_name='openflow_13.ofp_meter_config.bands', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9689,
-  serialized_end=9791,
-)
-
-
-_OFP_METER_FEATURES = _descriptor.Descriptor(
-  name='ofp_meter_features',
-  full_name='openflow_13.ofp_meter_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='max_meter', full_name='openflow_13.ofp_meter_features.max_meter', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='band_types', full_name='openflow_13.ofp_meter_features.band_types', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='capabilities', full_name='openflow_13.ofp_meter_features.capabilities', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='max_bands', full_name='openflow_13.ofp_meter_features.max_bands', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='max_color', full_name='openflow_13.ofp_meter_features.max_color', index=4,
-      number=5, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9793,
-  serialized_end=9912,
-)
-
-
-_OFP_EXPERIMENTER_MULTIPART_HEADER = _descriptor.Descriptor(
-  name='ofp_experimenter_multipart_header',
-  full_name='openflow_13.ofp_experimenter_multipart_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_experimenter_multipart_header.experimenter', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='exp_type', full_name='openflow_13.ofp_experimenter_multipart_header.exp_type', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_experimenter_multipart_header.data', index=2,
-      number=3, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9914,
-  serialized_end=10003,
-)
-
-
-_OFP_EXPERIMENTER_HEADER = _descriptor.Descriptor(
-  name='ofp_experimenter_header',
-  full_name='openflow_13.ofp_experimenter_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_experimenter_header.experimenter', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='exp_type', full_name='openflow_13.ofp_experimenter_header.exp_type', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_experimenter_header.data', index=2,
-      number=3, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10005,
-  serialized_end=10084,
-)
-
-
-_OFP_QUEUE_PROP_HEADER = _descriptor.Descriptor(
-  name='ofp_queue_prop_header',
-  full_name='openflow_13.ofp_queue_prop_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='property', full_name='openflow_13.ofp_queue_prop_header.property', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='len', full_name='openflow_13.ofp_queue_prop_header.len', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10086,
-  serialized_end=10140,
-)
-
-
-_OFP_QUEUE_PROP_MIN_RATE = _descriptor.Descriptor(
-  name='ofp_queue_prop_min_rate',
-  full_name='openflow_13.ofp_queue_prop_min_rate',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='prop_header', full_name='openflow_13.ofp_queue_prop_min_rate.prop_header', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rate', full_name='openflow_13.ofp_queue_prop_min_rate.rate', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10142,
-  serialized_end=10238,
-)
-
-
-_OFP_QUEUE_PROP_MAX_RATE = _descriptor.Descriptor(
-  name='ofp_queue_prop_max_rate',
-  full_name='openflow_13.ofp_queue_prop_max_rate',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='prop_header', full_name='openflow_13.ofp_queue_prop_max_rate.prop_header', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rate', full_name='openflow_13.ofp_queue_prop_max_rate.rate', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10240,
-  serialized_end=10336,
-)
-
-
-_OFP_QUEUE_PROP_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_queue_prop_experimenter',
-  full_name='openflow_13.ofp_queue_prop_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='prop_header', full_name='openflow_13.ofp_queue_prop_experimenter.prop_header', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow_13.ofp_queue_prop_experimenter.experimenter', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='data', full_name='openflow_13.ofp_queue_prop_experimenter.data', index=2,
-      number=3, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10338,
-  serialized_end=10460,
-)
-
-
-_OFP_PACKET_QUEUE = _descriptor.Descriptor(
-  name='ofp_packet_queue',
-  full_name='openflow_13.ofp_packet_queue',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='queue_id', full_name='openflow_13.ofp_packet_queue.queue_id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='port', full_name='openflow_13.ofp_packet_queue.port', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='properties', full_name='openflow_13.ofp_packet_queue.properties', index=2,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10462,
-  serialized_end=10568,
-)
-
-
-_OFP_QUEUE_GET_CONFIG_REQUEST = _descriptor.Descriptor(
-  name='ofp_queue_get_config_request',
-  full_name='openflow_13.ofp_queue_get_config_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port', full_name='openflow_13.ofp_queue_get_config_request.port', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10570,
-  serialized_end=10614,
-)
-
-
-_OFP_QUEUE_GET_CONFIG_REPLY = _descriptor.Descriptor(
-  name='ofp_queue_get_config_reply',
-  full_name='openflow_13.ofp_queue_get_config_reply',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port', full_name='openflow_13.ofp_queue_get_config_reply.port', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='queues', full_name='openflow_13.ofp_queue_get_config_reply.queues', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10616,
-  serialized_end=10705,
-)
-
-
-_OFP_ACTION_SET_QUEUE = _descriptor.Descriptor(
-  name='ofp_action_set_queue',
-  full_name='openflow_13.ofp_action_set_queue',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow_13.ofp_action_set_queue.type', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='queue_id', full_name='openflow_13.ofp_action_set_queue.queue_id', index=1,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10707,
-  serialized_end=10761,
-)
-
-
-_OFP_QUEUE_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_queue_stats_request',
-  full_name='openflow_13.ofp_queue_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow_13.ofp_queue_stats_request.port_no', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='queue_id', full_name='openflow_13.ofp_queue_stats_request.queue_id', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10763,
-  serialized_end=10823,
-)
-
-
-_OFP_QUEUE_STATS = _descriptor.Descriptor(
-  name='ofp_queue_stats',
-  full_name='openflow_13.ofp_queue_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow_13.ofp_queue_stats.port_no', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='queue_id', full_name='openflow_13.ofp_queue_stats.queue_id', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tx_bytes', full_name='openflow_13.ofp_queue_stats.tx_bytes', index=2,
-      number=3, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tx_packets', full_name='openflow_13.ofp_queue_stats.tx_packets', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='tx_errors', full_name='openflow_13.ofp_queue_stats.tx_errors', index=4,
-      number=5, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_sec', full_name='openflow_13.ofp_queue_stats.duration_sec', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='duration_nsec', full_name='openflow_13.ofp_queue_stats.duration_nsec', index=6,
-      number=7, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10826,
-  serialized_end=10980,
-)
-
-
-_OFP_ROLE_REQUEST = _descriptor.Descriptor(
-  name='ofp_role_request',
-  full_name='openflow_13.ofp_role_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='role', full_name='openflow_13.ofp_role_request.role', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='generation_id', full_name='openflow_13.ofp_role_request.generation_id', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=10982,
-  serialized_end=11071,
-)
-
-
-_OFP_ASYNC_CONFIG = _descriptor.Descriptor(
-  name='ofp_async_config',
-  full_name='openflow_13.ofp_async_config',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='packet_in_mask', full_name='openflow_13.ofp_async_config.packet_in_mask', index=0,
-      number=1, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='port_status_mask', full_name='openflow_13.ofp_async_config.port_status_mask', index=1,
-      number=2, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flow_removed_mask', full_name='openflow_13.ofp_async_config.flow_removed_mask', index=2,
-      number=3, type=13, cpp_type=3, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=11073,
-  serialized_end=11168,
-)
-
-_OFP_HEADER.fields_by_name['type'].enum_type = _OFP_TYPE
-_OFP_HELLO_ELEM_HEADER.fields_by_name['type'].enum_type = _OFP_HELLO_ELEM_TYPE
-_OFP_HELLO_ELEM_HEADER.fields_by_name['versionbitmap'].message_type = _OFP_HELLO_ELEM_VERSIONBITMAP
-_OFP_HELLO_ELEM_HEADER.oneofs_by_name['element'].fields.append(
-  _OFP_HELLO_ELEM_HEADER.fields_by_name['versionbitmap'])
-_OFP_HELLO_ELEM_HEADER.fields_by_name['versionbitmap'].containing_oneof = _OFP_HELLO_ELEM_HEADER.oneofs_by_name['element']
-_OFP_HELLO.fields_by_name['elements'].message_type = _OFP_HELLO_ELEM_HEADER
-_OFP_PORT_STATUS.fields_by_name['reason'].enum_type = _OFP_PORT_REASON
-_OFP_PORT_STATUS.fields_by_name['desc'].message_type = _OFP_PORT
-_OFP_MATCH.fields_by_name['type'].enum_type = _OFP_MATCH_TYPE
-_OFP_MATCH.fields_by_name['oxm_fields'].message_type = _OFP_OXM_FIELD
-_OFP_OXM_FIELD.fields_by_name['oxm_class'].enum_type = _OFP_OXM_CLASS
-_OFP_OXM_FIELD.fields_by_name['ofb_field'].message_type = _OFP_OXM_OFB_FIELD
-_OFP_OXM_FIELD.fields_by_name['experimenter_field'].message_type = _OFP_OXM_EXPERIMENTER_FIELD
-_OFP_OXM_FIELD.oneofs_by_name['field'].fields.append(
-  _OFP_OXM_FIELD.fields_by_name['ofb_field'])
-_OFP_OXM_FIELD.fields_by_name['ofb_field'].containing_oneof = _OFP_OXM_FIELD.oneofs_by_name['field']
-_OFP_OXM_FIELD.oneofs_by_name['field'].fields.append(
-  _OFP_OXM_FIELD.fields_by_name['experimenter_field'])
-_OFP_OXM_FIELD.fields_by_name['experimenter_field'].containing_oneof = _OFP_OXM_FIELD.oneofs_by_name['field']
-_OFP_OXM_OFB_FIELD.fields_by_name['type'].enum_type = _OXM_OFB_FIELD_TYPES
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['port'])
-_OFP_OXM_OFB_FIELD.fields_by_name['port'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['physical_port'])
-_OFP_OXM_OFB_FIELD.fields_by_name['physical_port'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['table_metadata'])
-_OFP_OXM_OFB_FIELD.fields_by_name['table_metadata'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['eth_dst'])
-_OFP_OXM_OFB_FIELD.fields_by_name['eth_dst'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['eth_src'])
-_OFP_OXM_OFB_FIELD.fields_by_name['eth_src'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['eth_type'])
-_OFP_OXM_OFB_FIELD.fields_by_name['eth_type'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['vlan_vid'])
-_OFP_OXM_OFB_FIELD.fields_by_name['vlan_vid'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['vlan_pcp'])
-_OFP_OXM_OFB_FIELD.fields_by_name['vlan_pcp'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ip_dscp'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ip_dscp'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ip_ecn'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ip_ecn'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ip_proto'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ip_proto'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv4_src'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv4_src'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv4_dst'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv4_dst'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['tcp_src'])
-_OFP_OXM_OFB_FIELD.fields_by_name['tcp_src'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['tcp_dst'])
-_OFP_OXM_OFB_FIELD.fields_by_name['tcp_dst'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['udp_src'])
-_OFP_OXM_OFB_FIELD.fields_by_name['udp_src'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['udp_dst'])
-_OFP_OXM_OFB_FIELD.fields_by_name['udp_dst'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['sctp_src'])
-_OFP_OXM_OFB_FIELD.fields_by_name['sctp_src'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['sctp_dst'])
-_OFP_OXM_OFB_FIELD.fields_by_name['sctp_dst'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['icmpv4_type'])
-_OFP_OXM_OFB_FIELD.fields_by_name['icmpv4_type'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['icmpv4_code'])
-_OFP_OXM_OFB_FIELD.fields_by_name['icmpv4_code'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['arp_op'])
-_OFP_OXM_OFB_FIELD.fields_by_name['arp_op'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['arp_spa'])
-_OFP_OXM_OFB_FIELD.fields_by_name['arp_spa'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['arp_tpa'])
-_OFP_OXM_OFB_FIELD.fields_by_name['arp_tpa'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['arp_sha'])
-_OFP_OXM_OFB_FIELD.fields_by_name['arp_sha'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['arp_tha'])
-_OFP_OXM_OFB_FIELD.fields_by_name['arp_tha'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_src'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_src'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_dst'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_dst'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_flabel'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_flabel'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['icmpv6_type'])
-_OFP_OXM_OFB_FIELD.fields_by_name['icmpv6_type'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['icmpv6_code'])
-_OFP_OXM_OFB_FIELD.fields_by_name['icmpv6_code'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_nd_target'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_nd_target'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_nd_ssl'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_nd_ssl'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_nd_tll'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_nd_tll'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['mpls_label'])
-_OFP_OXM_OFB_FIELD.fields_by_name['mpls_label'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['mpls_tc'])
-_OFP_OXM_OFB_FIELD.fields_by_name['mpls_tc'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['mpls_bos'])
-_OFP_OXM_OFB_FIELD.fields_by_name['mpls_bos'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['pbb_isid'])
-_OFP_OXM_OFB_FIELD.fields_by_name['pbb_isid'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['tunnel_id'])
-_OFP_OXM_OFB_FIELD.fields_by_name['tunnel_id'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['value'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_exthdr'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_exthdr'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['value']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['table_metadata_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['table_metadata_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['eth_dst_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['eth_dst_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['eth_src_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['eth_src_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['vlan_vid_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['vlan_vid_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv4_src_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv4_src_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv4_dst_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv4_dst_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['arp_spa_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['arp_spa_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['arp_tpa_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['arp_tpa_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_src_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_src_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_dst_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_dst_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_flabel_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_flabel_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['pbb_isid_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['pbb_isid_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['tunnel_id_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['tunnel_id_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_OXM_OFB_FIELD.oneofs_by_name['mask'].fields.append(
-  _OFP_OXM_OFB_FIELD.fields_by_name['ipv6_exthdr_mask'])
-_OFP_OXM_OFB_FIELD.fields_by_name['ipv6_exthdr_mask'].containing_oneof = _OFP_OXM_OFB_FIELD.oneofs_by_name['mask']
-_OFP_ACTION.fields_by_name['type'].enum_type = _OFP_ACTION_TYPE
-_OFP_ACTION.fields_by_name['output'].message_type = _OFP_ACTION_OUTPUT
-_OFP_ACTION.fields_by_name['mpls_ttl'].message_type = _OFP_ACTION_MPLS_TTL
-_OFP_ACTION.fields_by_name['push'].message_type = _OFP_ACTION_PUSH
-_OFP_ACTION.fields_by_name['pop_mpls'].message_type = _OFP_ACTION_POP_MPLS
-_OFP_ACTION.fields_by_name['group'].message_type = _OFP_ACTION_GROUP
-_OFP_ACTION.fields_by_name['nw_ttl'].message_type = _OFP_ACTION_NW_TTL
-_OFP_ACTION.fields_by_name['set_field'].message_type = _OFP_ACTION_SET_FIELD
-_OFP_ACTION.fields_by_name['experimenter'].message_type = _OFP_ACTION_EXPERIMENTER
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['output'])
-_OFP_ACTION.fields_by_name['output'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['mpls_ttl'])
-_OFP_ACTION.fields_by_name['mpls_ttl'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['push'])
-_OFP_ACTION.fields_by_name['push'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['pop_mpls'])
-_OFP_ACTION.fields_by_name['pop_mpls'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['group'])
-_OFP_ACTION.fields_by_name['group'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['nw_ttl'])
-_OFP_ACTION.fields_by_name['nw_ttl'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['set_field'])
-_OFP_ACTION.fields_by_name['set_field'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION.oneofs_by_name['action'].fields.append(
-  _OFP_ACTION.fields_by_name['experimenter'])
-_OFP_ACTION.fields_by_name['experimenter'].containing_oneof = _OFP_ACTION.oneofs_by_name['action']
-_OFP_ACTION_SET_FIELD.fields_by_name['field'].message_type = _OFP_OXM_FIELD
-_OFP_INSTRUCTION.fields_by_name['goto_table'].message_type = _OFP_INSTRUCTION_GOTO_TABLE
-_OFP_INSTRUCTION.fields_by_name['write_metadata'].message_type = _OFP_INSTRUCTION_WRITE_METADATA
-_OFP_INSTRUCTION.fields_by_name['actions'].message_type = _OFP_INSTRUCTION_ACTIONS
-_OFP_INSTRUCTION.fields_by_name['meter'].message_type = _OFP_INSTRUCTION_METER
-_OFP_INSTRUCTION.fields_by_name['experimenter'].message_type = _OFP_INSTRUCTION_EXPERIMENTER
-_OFP_INSTRUCTION.oneofs_by_name['data'].fields.append(
-  _OFP_INSTRUCTION.fields_by_name['goto_table'])
-_OFP_INSTRUCTION.fields_by_name['goto_table'].containing_oneof = _OFP_INSTRUCTION.oneofs_by_name['data']
-_OFP_INSTRUCTION.oneofs_by_name['data'].fields.append(
-  _OFP_INSTRUCTION.fields_by_name['write_metadata'])
-_OFP_INSTRUCTION.fields_by_name['write_metadata'].containing_oneof = _OFP_INSTRUCTION.oneofs_by_name['data']
-_OFP_INSTRUCTION.oneofs_by_name['data'].fields.append(
-  _OFP_INSTRUCTION.fields_by_name['actions'])
-_OFP_INSTRUCTION.fields_by_name['actions'].containing_oneof = _OFP_INSTRUCTION.oneofs_by_name['data']
-_OFP_INSTRUCTION.oneofs_by_name['data'].fields.append(
-  _OFP_INSTRUCTION.fields_by_name['meter'])
-_OFP_INSTRUCTION.fields_by_name['meter'].containing_oneof = _OFP_INSTRUCTION.oneofs_by_name['data']
-_OFP_INSTRUCTION.oneofs_by_name['data'].fields.append(
-  _OFP_INSTRUCTION.fields_by_name['experimenter'])
-_OFP_INSTRUCTION.fields_by_name['experimenter'].containing_oneof = _OFP_INSTRUCTION.oneofs_by_name['data']
-_OFP_INSTRUCTION_ACTIONS.fields_by_name['actions'].message_type = _OFP_ACTION
-_OFP_FLOW_MOD.fields_by_name['command'].enum_type = _OFP_FLOW_MOD_COMMAND
-_OFP_FLOW_MOD.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_FLOW_MOD.fields_by_name['instructions'].message_type = _OFP_INSTRUCTION
-_OFP_BUCKET.fields_by_name['actions'].message_type = _OFP_ACTION
-_OFP_GROUP_MOD.fields_by_name['command'].enum_type = _OFP_GROUP_MOD_COMMAND
-_OFP_GROUP_MOD.fields_by_name['type'].enum_type = _OFP_GROUP_TYPE
-_OFP_GROUP_MOD.fields_by_name['buckets'].message_type = _OFP_BUCKET
-_OFP_PACKET_OUT.fields_by_name['actions'].message_type = _OFP_ACTION
-_OFP_PACKET_IN.fields_by_name['reason'].enum_type = _OFP_PACKET_IN_REASON
-_OFP_PACKET_IN.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_FLOW_REMOVED.fields_by_name['reason'].enum_type = _OFP_FLOW_REMOVED_REASON
-_OFP_FLOW_REMOVED.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_METER_BAND_HEADER.fields_by_name['type'].enum_type = _OFP_METER_BAND_TYPE
-_OFP_METER_BAND_EXPERIMENTER.fields_by_name['type'].enum_type = _OFP_METER_BAND_TYPE
-_OFP_METER_MOD.fields_by_name['command'].enum_type = _OFP_METER_MOD_COMMAND
-_OFP_METER_MOD.fields_by_name['bands'].message_type = _OFP_METER_BAND_HEADER
-_OFP_MULTIPART_REQUEST.fields_by_name['type'].enum_type = _OFP_MULTIPART_TYPE
-_OFP_MULTIPART_REPLY.fields_by_name['type'].enum_type = _OFP_MULTIPART_TYPE
-_OFP_FLOW_STATS_REQUEST.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_FLOW_STATS.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_FLOW_STATS.fields_by_name['instructions'].message_type = _OFP_INSTRUCTION
-_OFP_AGGREGATE_STATS_REQUEST.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['type'].enum_type = _OFP_TABLE_FEATURE_PROP_TYPE
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['instructions'].message_type = _OFP_TABLE_FEATURE_PROP_INSTRUCTIONS
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['next_tables'].message_type = _OFP_TABLE_FEATURE_PROP_NEXT_TABLES
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['actions'].message_type = _OFP_TABLE_FEATURE_PROP_ACTIONS
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['oxm'].message_type = _OFP_TABLE_FEATURE_PROP_OXM
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['experimenter'].message_type = _OFP_TABLE_FEATURE_PROP_EXPERIMENTER
-_OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value'].fields.append(
-  _OFP_TABLE_FEATURE_PROPERTY.fields_by_name['instructions'])
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['instructions'].containing_oneof = _OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value']
-_OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value'].fields.append(
-  _OFP_TABLE_FEATURE_PROPERTY.fields_by_name['next_tables'])
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['next_tables'].containing_oneof = _OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value']
-_OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value'].fields.append(
-  _OFP_TABLE_FEATURE_PROPERTY.fields_by_name['actions'])
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['actions'].containing_oneof = _OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value']
-_OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value'].fields.append(
-  _OFP_TABLE_FEATURE_PROPERTY.fields_by_name['oxm'])
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['oxm'].containing_oneof = _OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value']
-_OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value'].fields.append(
-  _OFP_TABLE_FEATURE_PROPERTY.fields_by_name['experimenter'])
-_OFP_TABLE_FEATURE_PROPERTY.fields_by_name['experimenter'].containing_oneof = _OFP_TABLE_FEATURE_PROPERTY.oneofs_by_name['value']
-_OFP_TABLE_FEATURE_PROP_INSTRUCTIONS.fields_by_name['instructions'].message_type = _OFP_INSTRUCTION
-_OFP_TABLE_FEATURE_PROP_ACTIONS.fields_by_name['actions'].message_type = _OFP_ACTION
-_OFP_TABLE_FEATURES.fields_by_name['properties'].message_type = _OFP_TABLE_FEATURE_PROPERTY
-_OFP_GROUP_STATS.fields_by_name['bucket_stats'].message_type = _OFP_BUCKET_COUNTER
-_OFP_GROUP_DESC.fields_by_name['type'].enum_type = _OFP_GROUP_TYPE
-_OFP_GROUP_DESC.fields_by_name['buckets'].message_type = _OFP_BUCKET
-_OFP_GROUP_ENTRY.fields_by_name['desc'].message_type = _OFP_GROUP_DESC
-_OFP_GROUP_ENTRY.fields_by_name['stats'].message_type = _OFP_GROUP_STATS
-_OFP_METER_STATS.fields_by_name['band_stats'].message_type = _OFP_METER_BAND_STATS
-_OFP_METER_CONFIG.fields_by_name['bands'].message_type = _OFP_METER_BAND_HEADER
-_OFP_QUEUE_PROP_MIN_RATE.fields_by_name['prop_header'].message_type = _OFP_QUEUE_PROP_HEADER
-_OFP_QUEUE_PROP_MAX_RATE.fields_by_name['prop_header'].message_type = _OFP_QUEUE_PROP_HEADER
-_OFP_QUEUE_PROP_EXPERIMENTER.fields_by_name['prop_header'].message_type = _OFP_QUEUE_PROP_HEADER
-_OFP_PACKET_QUEUE.fields_by_name['properties'].message_type = _OFP_QUEUE_PROP_HEADER
-_OFP_QUEUE_GET_CONFIG_REPLY.fields_by_name['queues'].message_type = _OFP_PACKET_QUEUE
-_OFP_ROLE_REQUEST.fields_by_name['role'].enum_type = _OFP_CONTROLLER_ROLE
-DESCRIPTOR.message_types_by_name['ofp_header'] = _OFP_HEADER
-DESCRIPTOR.message_types_by_name['ofp_hello_elem_header'] = _OFP_HELLO_ELEM_HEADER
-DESCRIPTOR.message_types_by_name['ofp_hello_elem_versionbitmap'] = _OFP_HELLO_ELEM_VERSIONBITMAP
-DESCRIPTOR.message_types_by_name['ofp_hello'] = _OFP_HELLO
-DESCRIPTOR.message_types_by_name['ofp_switch_config'] = _OFP_SWITCH_CONFIG
-DESCRIPTOR.message_types_by_name['ofp_table_mod'] = _OFP_TABLE_MOD
-DESCRIPTOR.message_types_by_name['ofp_port'] = _OFP_PORT
-DESCRIPTOR.message_types_by_name['ofp_switch_features'] = _OFP_SWITCH_FEATURES
-DESCRIPTOR.message_types_by_name['ofp_port_status'] = _OFP_PORT_STATUS
-DESCRIPTOR.message_types_by_name['ofp_port_mod'] = _OFP_PORT_MOD
-DESCRIPTOR.message_types_by_name['ofp_match'] = _OFP_MATCH
-DESCRIPTOR.message_types_by_name['ofp_oxm_field'] = _OFP_OXM_FIELD
-DESCRIPTOR.message_types_by_name['ofp_oxm_ofb_field'] = _OFP_OXM_OFB_FIELD
-DESCRIPTOR.message_types_by_name['ofp_oxm_experimenter_field'] = _OFP_OXM_EXPERIMENTER_FIELD
-DESCRIPTOR.message_types_by_name['ofp_action'] = _OFP_ACTION
-DESCRIPTOR.message_types_by_name['ofp_action_output'] = _OFP_ACTION_OUTPUT
-DESCRIPTOR.message_types_by_name['ofp_action_mpls_ttl'] = _OFP_ACTION_MPLS_TTL
-DESCRIPTOR.message_types_by_name['ofp_action_push'] = _OFP_ACTION_PUSH
-DESCRIPTOR.message_types_by_name['ofp_action_pop_mpls'] = _OFP_ACTION_POP_MPLS
-DESCRIPTOR.message_types_by_name['ofp_action_group'] = _OFP_ACTION_GROUP
-DESCRIPTOR.message_types_by_name['ofp_action_nw_ttl'] = _OFP_ACTION_NW_TTL
-DESCRIPTOR.message_types_by_name['ofp_action_set_field'] = _OFP_ACTION_SET_FIELD
-DESCRIPTOR.message_types_by_name['ofp_action_experimenter'] = _OFP_ACTION_EXPERIMENTER
-DESCRIPTOR.message_types_by_name['ofp_instruction'] = _OFP_INSTRUCTION
-DESCRIPTOR.message_types_by_name['ofp_instruction_goto_table'] = _OFP_INSTRUCTION_GOTO_TABLE
-DESCRIPTOR.message_types_by_name['ofp_instruction_write_metadata'] = _OFP_INSTRUCTION_WRITE_METADATA
-DESCRIPTOR.message_types_by_name['ofp_instruction_actions'] = _OFP_INSTRUCTION_ACTIONS
-DESCRIPTOR.message_types_by_name['ofp_instruction_meter'] = _OFP_INSTRUCTION_METER
-DESCRIPTOR.message_types_by_name['ofp_instruction_experimenter'] = _OFP_INSTRUCTION_EXPERIMENTER
-DESCRIPTOR.message_types_by_name['ofp_flow_mod'] = _OFP_FLOW_MOD
-DESCRIPTOR.message_types_by_name['ofp_bucket'] = _OFP_BUCKET
-DESCRIPTOR.message_types_by_name['ofp_group_mod'] = _OFP_GROUP_MOD
-DESCRIPTOR.message_types_by_name['ofp_packet_out'] = _OFP_PACKET_OUT
-DESCRIPTOR.message_types_by_name['ofp_packet_in'] = _OFP_PACKET_IN
-DESCRIPTOR.message_types_by_name['ofp_flow_removed'] = _OFP_FLOW_REMOVED
-DESCRIPTOR.message_types_by_name['ofp_meter_band_header'] = _OFP_METER_BAND_HEADER
-DESCRIPTOR.message_types_by_name['ofp_meter_band_drop'] = _OFP_METER_BAND_DROP
-DESCRIPTOR.message_types_by_name['ofp_meter_band_dscp_remark'] = _OFP_METER_BAND_DSCP_REMARK
-DESCRIPTOR.message_types_by_name['ofp_meter_band_experimenter'] = _OFP_METER_BAND_EXPERIMENTER
-DESCRIPTOR.message_types_by_name['ofp_meter_mod'] = _OFP_METER_MOD
-DESCRIPTOR.message_types_by_name['ofp_error_msg'] = _OFP_ERROR_MSG
-DESCRIPTOR.message_types_by_name['ofp_error_experimenter_msg'] = _OFP_ERROR_EXPERIMENTER_MSG
-DESCRIPTOR.message_types_by_name['ofp_multipart_request'] = _OFP_MULTIPART_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_multipart_reply'] = _OFP_MULTIPART_REPLY
-DESCRIPTOR.message_types_by_name['ofp_desc'] = _OFP_DESC
-DESCRIPTOR.message_types_by_name['ofp_flow_stats_request'] = _OFP_FLOW_STATS_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_flow_stats'] = _OFP_FLOW_STATS
-DESCRIPTOR.message_types_by_name['ofp_aggregate_stats_request'] = _OFP_AGGREGATE_STATS_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_aggregate_stats_reply'] = _OFP_AGGREGATE_STATS_REPLY
-DESCRIPTOR.message_types_by_name['ofp_table_feature_property'] = _OFP_TABLE_FEATURE_PROPERTY
-DESCRIPTOR.message_types_by_name['ofp_table_feature_prop_instructions'] = _OFP_TABLE_FEATURE_PROP_INSTRUCTIONS
-DESCRIPTOR.message_types_by_name['ofp_table_feature_prop_next_tables'] = _OFP_TABLE_FEATURE_PROP_NEXT_TABLES
-DESCRIPTOR.message_types_by_name['ofp_table_feature_prop_actions'] = _OFP_TABLE_FEATURE_PROP_ACTIONS
-DESCRIPTOR.message_types_by_name['ofp_table_feature_prop_oxm'] = _OFP_TABLE_FEATURE_PROP_OXM
-DESCRIPTOR.message_types_by_name['ofp_table_feature_prop_experimenter'] = _OFP_TABLE_FEATURE_PROP_EXPERIMENTER
-DESCRIPTOR.message_types_by_name['ofp_table_features'] = _OFP_TABLE_FEATURES
-DESCRIPTOR.message_types_by_name['ofp_table_stats'] = _OFP_TABLE_STATS
-DESCRIPTOR.message_types_by_name['ofp_port_stats_request'] = _OFP_PORT_STATS_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_port_stats'] = _OFP_PORT_STATS
-DESCRIPTOR.message_types_by_name['ofp_group_stats_request'] = _OFP_GROUP_STATS_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_bucket_counter'] = _OFP_BUCKET_COUNTER
-DESCRIPTOR.message_types_by_name['ofp_group_stats'] = _OFP_GROUP_STATS
-DESCRIPTOR.message_types_by_name['ofp_group_desc'] = _OFP_GROUP_DESC
-DESCRIPTOR.message_types_by_name['ofp_group_entry'] = _OFP_GROUP_ENTRY
-DESCRIPTOR.message_types_by_name['ofp_group_features'] = _OFP_GROUP_FEATURES
-DESCRIPTOR.message_types_by_name['ofp_meter_multipart_request'] = _OFP_METER_MULTIPART_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_meter_band_stats'] = _OFP_METER_BAND_STATS
-DESCRIPTOR.message_types_by_name['ofp_meter_stats'] = _OFP_METER_STATS
-DESCRIPTOR.message_types_by_name['ofp_meter_config'] = _OFP_METER_CONFIG
-DESCRIPTOR.message_types_by_name['ofp_meter_features'] = _OFP_METER_FEATURES
-DESCRIPTOR.message_types_by_name['ofp_experimenter_multipart_header'] = _OFP_EXPERIMENTER_MULTIPART_HEADER
-DESCRIPTOR.message_types_by_name['ofp_experimenter_header'] = _OFP_EXPERIMENTER_HEADER
-DESCRIPTOR.message_types_by_name['ofp_queue_prop_header'] = _OFP_QUEUE_PROP_HEADER
-DESCRIPTOR.message_types_by_name['ofp_queue_prop_min_rate'] = _OFP_QUEUE_PROP_MIN_RATE
-DESCRIPTOR.message_types_by_name['ofp_queue_prop_max_rate'] = _OFP_QUEUE_PROP_MAX_RATE
-DESCRIPTOR.message_types_by_name['ofp_queue_prop_experimenter'] = _OFP_QUEUE_PROP_EXPERIMENTER
-DESCRIPTOR.message_types_by_name['ofp_packet_queue'] = _OFP_PACKET_QUEUE
-DESCRIPTOR.message_types_by_name['ofp_queue_get_config_request'] = _OFP_QUEUE_GET_CONFIG_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_queue_get_config_reply'] = _OFP_QUEUE_GET_CONFIG_REPLY
-DESCRIPTOR.message_types_by_name['ofp_action_set_queue'] = _OFP_ACTION_SET_QUEUE
-DESCRIPTOR.message_types_by_name['ofp_queue_stats_request'] = _OFP_QUEUE_STATS_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_queue_stats'] = _OFP_QUEUE_STATS
-DESCRIPTOR.message_types_by_name['ofp_role_request'] = _OFP_ROLE_REQUEST
-DESCRIPTOR.message_types_by_name['ofp_async_config'] = _OFP_ASYNC_CONFIG
-DESCRIPTOR.enum_types_by_name['ofp_port_no'] = _OFP_PORT_NO
-DESCRIPTOR.enum_types_by_name['ofp_type'] = _OFP_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_hello_elem_type'] = _OFP_HELLO_ELEM_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_config_flags'] = _OFP_CONFIG_FLAGS
-DESCRIPTOR.enum_types_by_name['ofp_table_config'] = _OFP_TABLE_CONFIG
-DESCRIPTOR.enum_types_by_name['ofp_table'] = _OFP_TABLE
-DESCRIPTOR.enum_types_by_name['ofp_capabilities'] = _OFP_CAPABILITIES
-DESCRIPTOR.enum_types_by_name['ofp_port_config'] = _OFP_PORT_CONFIG
-DESCRIPTOR.enum_types_by_name['ofp_port_state'] = _OFP_PORT_STATE
-DESCRIPTOR.enum_types_by_name['ofp_port_features'] = _OFP_PORT_FEATURES
-DESCRIPTOR.enum_types_by_name['ofp_port_reason'] = _OFP_PORT_REASON
-DESCRIPTOR.enum_types_by_name['ofp_match_type'] = _OFP_MATCH_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_oxm_class'] = _OFP_OXM_CLASS
-DESCRIPTOR.enum_types_by_name['oxm_ofb_field_types'] = _OXM_OFB_FIELD_TYPES
-DESCRIPTOR.enum_types_by_name['ofp_vlan_id'] = _OFP_VLAN_ID
-DESCRIPTOR.enum_types_by_name['ofp_ipv6exthdr_flags'] = _OFP_IPV6EXTHDR_FLAGS
-DESCRIPTOR.enum_types_by_name['ofp_action_type'] = _OFP_ACTION_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_controller_max_len'] = _OFP_CONTROLLER_MAX_LEN
-DESCRIPTOR.enum_types_by_name['ofp_instruction_type'] = _OFP_INSTRUCTION_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_flow_mod_command'] = _OFP_FLOW_MOD_COMMAND
-DESCRIPTOR.enum_types_by_name['ofp_flow_mod_flags'] = _OFP_FLOW_MOD_FLAGS
-DESCRIPTOR.enum_types_by_name['ofp_group'] = _OFP_GROUP
-DESCRIPTOR.enum_types_by_name['ofp_group_mod_command'] = _OFP_GROUP_MOD_COMMAND
-DESCRIPTOR.enum_types_by_name['ofp_group_type'] = _OFP_GROUP_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_packet_in_reason'] = _OFP_PACKET_IN_REASON
-DESCRIPTOR.enum_types_by_name['ofp_flow_removed_reason'] = _OFP_FLOW_REMOVED_REASON
-DESCRIPTOR.enum_types_by_name['ofp_meter'] = _OFP_METER
-DESCRIPTOR.enum_types_by_name['ofp_meter_band_type'] = _OFP_METER_BAND_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_meter_mod_command'] = _OFP_METER_MOD_COMMAND
-DESCRIPTOR.enum_types_by_name['ofp_meter_flags'] = _OFP_METER_FLAGS
-DESCRIPTOR.enum_types_by_name['ofp_error_type'] = _OFP_ERROR_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_hello_failed_code'] = _OFP_HELLO_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_bad_request_code'] = _OFP_BAD_REQUEST_CODE
-DESCRIPTOR.enum_types_by_name['ofp_bad_action_code'] = _OFP_BAD_ACTION_CODE
-DESCRIPTOR.enum_types_by_name['ofp_bad_instruction_code'] = _OFP_BAD_INSTRUCTION_CODE
-DESCRIPTOR.enum_types_by_name['ofp_bad_match_code'] = _OFP_BAD_MATCH_CODE
-DESCRIPTOR.enum_types_by_name['ofp_flow_mod_failed_code'] = _OFP_FLOW_MOD_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_group_mod_failed_code'] = _OFP_GROUP_MOD_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_port_mod_failed_code'] = _OFP_PORT_MOD_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_table_mod_failed_code'] = _OFP_TABLE_MOD_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_queue_op_failed_code'] = _OFP_QUEUE_OP_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_switch_config_failed_code'] = _OFP_SWITCH_CONFIG_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_role_request_failed_code'] = _OFP_ROLE_REQUEST_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_meter_mod_failed_code'] = _OFP_METER_MOD_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_table_features_failed_code'] = _OFP_TABLE_FEATURES_FAILED_CODE
-DESCRIPTOR.enum_types_by_name['ofp_multipart_type'] = _OFP_MULTIPART_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_multipart_request_flags'] = _OFP_MULTIPART_REQUEST_FLAGS
-DESCRIPTOR.enum_types_by_name['ofp_multipart_reply_flags'] = _OFP_MULTIPART_REPLY_FLAGS
-DESCRIPTOR.enum_types_by_name['ofp_table_feature_prop_type'] = _OFP_TABLE_FEATURE_PROP_TYPE
-DESCRIPTOR.enum_types_by_name['ofp_group_capabilities'] = _OFP_GROUP_CAPABILITIES
-DESCRIPTOR.enum_types_by_name['ofp_queue_properties'] = _OFP_QUEUE_PROPERTIES
-DESCRIPTOR.enum_types_by_name['ofp_controller_role'] = _OFP_CONTROLLER_ROLE
-
-ofp_header = _reflection.GeneratedProtocolMessageType('ofp_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_header)
-  ))
-_sym_db.RegisterMessage(ofp_header)
-
-ofp_hello_elem_header = _reflection.GeneratedProtocolMessageType('ofp_hello_elem_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_HELLO_ELEM_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_hello_elem_header)
-  ))
-_sym_db.RegisterMessage(ofp_hello_elem_header)
-
-ofp_hello_elem_versionbitmap = _reflection.GeneratedProtocolMessageType('ofp_hello_elem_versionbitmap', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_HELLO_ELEM_VERSIONBITMAP,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_hello_elem_versionbitmap)
-  ))
-_sym_db.RegisterMessage(ofp_hello_elem_versionbitmap)
-
-ofp_hello = _reflection.GeneratedProtocolMessageType('ofp_hello', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_HELLO,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_hello)
-  ))
-_sym_db.RegisterMessage(ofp_hello)
-
-ofp_switch_config = _reflection.GeneratedProtocolMessageType('ofp_switch_config', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_SWITCH_CONFIG,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_switch_config)
-  ))
-_sym_db.RegisterMessage(ofp_switch_config)
-
-ofp_table_mod = _reflection.GeneratedProtocolMessageType('ofp_table_mod', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_MOD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_mod)
-  ))
-_sym_db.RegisterMessage(ofp_table_mod)
-
-ofp_port = _reflection.GeneratedProtocolMessageType('ofp_port', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PORT,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_port)
-  ))
-_sym_db.RegisterMessage(ofp_port)
-
-ofp_switch_features = _reflection.GeneratedProtocolMessageType('ofp_switch_features', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_SWITCH_FEATURES,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_switch_features)
-  ))
-_sym_db.RegisterMessage(ofp_switch_features)
-
-ofp_port_status = _reflection.GeneratedProtocolMessageType('ofp_port_status', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PORT_STATUS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_port_status)
-  ))
-_sym_db.RegisterMessage(ofp_port_status)
-
-ofp_port_mod = _reflection.GeneratedProtocolMessageType('ofp_port_mod', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PORT_MOD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_port_mod)
-  ))
-_sym_db.RegisterMessage(ofp_port_mod)
-
-ofp_match = _reflection.GeneratedProtocolMessageType('ofp_match', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_MATCH,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_match)
-  ))
-_sym_db.RegisterMessage(ofp_match)
-
-ofp_oxm_field = _reflection.GeneratedProtocolMessageType('ofp_oxm_field', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_OXM_FIELD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_oxm_field)
-  ))
-_sym_db.RegisterMessage(ofp_oxm_field)
-
-ofp_oxm_ofb_field = _reflection.GeneratedProtocolMessageType('ofp_oxm_ofb_field', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_OXM_OFB_FIELD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_oxm_ofb_field)
-  ))
-_sym_db.RegisterMessage(ofp_oxm_ofb_field)
-
-ofp_oxm_experimenter_field = _reflection.GeneratedProtocolMessageType('ofp_oxm_experimenter_field', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_OXM_EXPERIMENTER_FIELD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_oxm_experimenter_field)
-  ))
-_sym_db.RegisterMessage(ofp_oxm_experimenter_field)
-
-ofp_action = _reflection.GeneratedProtocolMessageType('ofp_action', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action)
-  ))
-_sym_db.RegisterMessage(ofp_action)
-
-ofp_action_output = _reflection.GeneratedProtocolMessageType('ofp_action_output', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_OUTPUT,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_output)
-  ))
-_sym_db.RegisterMessage(ofp_action_output)
-
-ofp_action_mpls_ttl = _reflection.GeneratedProtocolMessageType('ofp_action_mpls_ttl', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_MPLS_TTL,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_mpls_ttl)
-  ))
-_sym_db.RegisterMessage(ofp_action_mpls_ttl)
-
-ofp_action_push = _reflection.GeneratedProtocolMessageType('ofp_action_push', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_PUSH,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_push)
-  ))
-_sym_db.RegisterMessage(ofp_action_push)
-
-ofp_action_pop_mpls = _reflection.GeneratedProtocolMessageType('ofp_action_pop_mpls', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_POP_MPLS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_pop_mpls)
-  ))
-_sym_db.RegisterMessage(ofp_action_pop_mpls)
-
-ofp_action_group = _reflection.GeneratedProtocolMessageType('ofp_action_group', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_GROUP,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_group)
-  ))
-_sym_db.RegisterMessage(ofp_action_group)
-
-ofp_action_nw_ttl = _reflection.GeneratedProtocolMessageType('ofp_action_nw_ttl', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_NW_TTL,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_nw_ttl)
-  ))
-_sym_db.RegisterMessage(ofp_action_nw_ttl)
-
-ofp_action_set_field = _reflection.GeneratedProtocolMessageType('ofp_action_set_field', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_SET_FIELD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_set_field)
-  ))
-_sym_db.RegisterMessage(ofp_action_set_field)
-
-ofp_action_experimenter = _reflection.GeneratedProtocolMessageType('ofp_action_experimenter', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_EXPERIMENTER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_experimenter)
-  ))
-_sym_db.RegisterMessage(ofp_action_experimenter)
-
-ofp_instruction = _reflection.GeneratedProtocolMessageType('ofp_instruction', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_INSTRUCTION,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_instruction)
-  ))
-_sym_db.RegisterMessage(ofp_instruction)
-
-ofp_instruction_goto_table = _reflection.GeneratedProtocolMessageType('ofp_instruction_goto_table', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_INSTRUCTION_GOTO_TABLE,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_instruction_goto_table)
-  ))
-_sym_db.RegisterMessage(ofp_instruction_goto_table)
-
-ofp_instruction_write_metadata = _reflection.GeneratedProtocolMessageType('ofp_instruction_write_metadata', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_INSTRUCTION_WRITE_METADATA,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_instruction_write_metadata)
-  ))
-_sym_db.RegisterMessage(ofp_instruction_write_metadata)
-
-ofp_instruction_actions = _reflection.GeneratedProtocolMessageType('ofp_instruction_actions', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_INSTRUCTION_ACTIONS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_instruction_actions)
-  ))
-_sym_db.RegisterMessage(ofp_instruction_actions)
-
-ofp_instruction_meter = _reflection.GeneratedProtocolMessageType('ofp_instruction_meter', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_INSTRUCTION_METER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_instruction_meter)
-  ))
-_sym_db.RegisterMessage(ofp_instruction_meter)
-
-ofp_instruction_experimenter = _reflection.GeneratedProtocolMessageType('ofp_instruction_experimenter', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_INSTRUCTION_EXPERIMENTER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_instruction_experimenter)
-  ))
-_sym_db.RegisterMessage(ofp_instruction_experimenter)
-
-ofp_flow_mod = _reflection.GeneratedProtocolMessageType('ofp_flow_mod', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_FLOW_MOD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_flow_mod)
-  ))
-_sym_db.RegisterMessage(ofp_flow_mod)
-
-ofp_bucket = _reflection.GeneratedProtocolMessageType('ofp_bucket', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_BUCKET,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_bucket)
-  ))
-_sym_db.RegisterMessage(ofp_bucket)
-
-ofp_group_mod = _reflection.GeneratedProtocolMessageType('ofp_group_mod', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_GROUP_MOD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_group_mod)
-  ))
-_sym_db.RegisterMessage(ofp_group_mod)
-
-ofp_packet_out = _reflection.GeneratedProtocolMessageType('ofp_packet_out', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PACKET_OUT,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_packet_out)
-  ))
-_sym_db.RegisterMessage(ofp_packet_out)
-
-ofp_packet_in = _reflection.GeneratedProtocolMessageType('ofp_packet_in', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PACKET_IN,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_packet_in)
-  ))
-_sym_db.RegisterMessage(ofp_packet_in)
-
-ofp_flow_removed = _reflection.GeneratedProtocolMessageType('ofp_flow_removed', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_FLOW_REMOVED,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_flow_removed)
-  ))
-_sym_db.RegisterMessage(ofp_flow_removed)
-
-ofp_meter_band_header = _reflection.GeneratedProtocolMessageType('ofp_meter_band_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_BAND_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_band_header)
-  ))
-_sym_db.RegisterMessage(ofp_meter_band_header)
-
-ofp_meter_band_drop = _reflection.GeneratedProtocolMessageType('ofp_meter_band_drop', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_BAND_DROP,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_band_drop)
-  ))
-_sym_db.RegisterMessage(ofp_meter_band_drop)
-
-ofp_meter_band_dscp_remark = _reflection.GeneratedProtocolMessageType('ofp_meter_band_dscp_remark', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_BAND_DSCP_REMARK,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_band_dscp_remark)
-  ))
-_sym_db.RegisterMessage(ofp_meter_band_dscp_remark)
-
-ofp_meter_band_experimenter = _reflection.GeneratedProtocolMessageType('ofp_meter_band_experimenter', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_BAND_EXPERIMENTER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_band_experimenter)
-  ))
-_sym_db.RegisterMessage(ofp_meter_band_experimenter)
-
-ofp_meter_mod = _reflection.GeneratedProtocolMessageType('ofp_meter_mod', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_MOD,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_mod)
-  ))
-_sym_db.RegisterMessage(ofp_meter_mod)
-
-ofp_error_msg = _reflection.GeneratedProtocolMessageType('ofp_error_msg', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ERROR_MSG,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_error_msg)
-  ))
-_sym_db.RegisterMessage(ofp_error_msg)
-
-ofp_error_experimenter_msg = _reflection.GeneratedProtocolMessageType('ofp_error_experimenter_msg', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ERROR_EXPERIMENTER_MSG,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_error_experimenter_msg)
-  ))
-_sym_db.RegisterMessage(ofp_error_experimenter_msg)
-
-ofp_multipart_request = _reflection.GeneratedProtocolMessageType('ofp_multipart_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_MULTIPART_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_multipart_request)
-  ))
-_sym_db.RegisterMessage(ofp_multipart_request)
-
-ofp_multipart_reply = _reflection.GeneratedProtocolMessageType('ofp_multipart_reply', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_MULTIPART_REPLY,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_multipart_reply)
-  ))
-_sym_db.RegisterMessage(ofp_multipart_reply)
-
-ofp_desc = _reflection.GeneratedProtocolMessageType('ofp_desc', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_DESC,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_desc)
-  ))
-_sym_db.RegisterMessage(ofp_desc)
-
-ofp_flow_stats_request = _reflection.GeneratedProtocolMessageType('ofp_flow_stats_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_FLOW_STATS_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_flow_stats_request)
-  ))
-_sym_db.RegisterMessage(ofp_flow_stats_request)
-
-ofp_flow_stats = _reflection.GeneratedProtocolMessageType('ofp_flow_stats', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_FLOW_STATS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_flow_stats)
-  ))
-_sym_db.RegisterMessage(ofp_flow_stats)
-
-ofp_aggregate_stats_request = _reflection.GeneratedProtocolMessageType('ofp_aggregate_stats_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_AGGREGATE_STATS_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_aggregate_stats_request)
-  ))
-_sym_db.RegisterMessage(ofp_aggregate_stats_request)
-
-ofp_aggregate_stats_reply = _reflection.GeneratedProtocolMessageType('ofp_aggregate_stats_reply', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_AGGREGATE_STATS_REPLY,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_aggregate_stats_reply)
-  ))
-_sym_db.RegisterMessage(ofp_aggregate_stats_reply)
-
-ofp_table_feature_property = _reflection.GeneratedProtocolMessageType('ofp_table_feature_property', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURE_PROPERTY,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_feature_property)
-  ))
-_sym_db.RegisterMessage(ofp_table_feature_property)
-
-ofp_table_feature_prop_instructions = _reflection.GeneratedProtocolMessageType('ofp_table_feature_prop_instructions', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURE_PROP_INSTRUCTIONS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_feature_prop_instructions)
-  ))
-_sym_db.RegisterMessage(ofp_table_feature_prop_instructions)
-
-ofp_table_feature_prop_next_tables = _reflection.GeneratedProtocolMessageType('ofp_table_feature_prop_next_tables', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURE_PROP_NEXT_TABLES,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_feature_prop_next_tables)
-  ))
-_sym_db.RegisterMessage(ofp_table_feature_prop_next_tables)
-
-ofp_table_feature_prop_actions = _reflection.GeneratedProtocolMessageType('ofp_table_feature_prop_actions', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURE_PROP_ACTIONS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_feature_prop_actions)
-  ))
-_sym_db.RegisterMessage(ofp_table_feature_prop_actions)
-
-ofp_table_feature_prop_oxm = _reflection.GeneratedProtocolMessageType('ofp_table_feature_prop_oxm', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURE_PROP_OXM,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_feature_prop_oxm)
-  ))
-_sym_db.RegisterMessage(ofp_table_feature_prop_oxm)
-
-ofp_table_feature_prop_experimenter = _reflection.GeneratedProtocolMessageType('ofp_table_feature_prop_experimenter', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURE_PROP_EXPERIMENTER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_feature_prop_experimenter)
-  ))
-_sym_db.RegisterMessage(ofp_table_feature_prop_experimenter)
-
-ofp_table_features = _reflection.GeneratedProtocolMessageType('ofp_table_features', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURES,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_features)
-  ))
-_sym_db.RegisterMessage(ofp_table_features)
-
-ofp_table_stats = _reflection.GeneratedProtocolMessageType('ofp_table_stats', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_STATS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_table_stats)
-  ))
-_sym_db.RegisterMessage(ofp_table_stats)
-
-ofp_port_stats_request = _reflection.GeneratedProtocolMessageType('ofp_port_stats_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PORT_STATS_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_port_stats_request)
-  ))
-_sym_db.RegisterMessage(ofp_port_stats_request)
-
-ofp_port_stats = _reflection.GeneratedProtocolMessageType('ofp_port_stats', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PORT_STATS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_port_stats)
-  ))
-_sym_db.RegisterMessage(ofp_port_stats)
-
-ofp_group_stats_request = _reflection.GeneratedProtocolMessageType('ofp_group_stats_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_GROUP_STATS_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_group_stats_request)
-  ))
-_sym_db.RegisterMessage(ofp_group_stats_request)
-
-ofp_bucket_counter = _reflection.GeneratedProtocolMessageType('ofp_bucket_counter', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_BUCKET_COUNTER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_bucket_counter)
-  ))
-_sym_db.RegisterMessage(ofp_bucket_counter)
-
-ofp_group_stats = _reflection.GeneratedProtocolMessageType('ofp_group_stats', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_GROUP_STATS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_group_stats)
-  ))
-_sym_db.RegisterMessage(ofp_group_stats)
-
-ofp_group_desc = _reflection.GeneratedProtocolMessageType('ofp_group_desc', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_GROUP_DESC,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_group_desc)
-  ))
-_sym_db.RegisterMessage(ofp_group_desc)
-
-ofp_group_entry = _reflection.GeneratedProtocolMessageType('ofp_group_entry', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_GROUP_ENTRY,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_group_entry)
-  ))
-_sym_db.RegisterMessage(ofp_group_entry)
-
-ofp_group_features = _reflection.GeneratedProtocolMessageType('ofp_group_features', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_GROUP_FEATURES,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_group_features)
-  ))
-_sym_db.RegisterMessage(ofp_group_features)
-
-ofp_meter_multipart_request = _reflection.GeneratedProtocolMessageType('ofp_meter_multipart_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_MULTIPART_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_multipart_request)
-  ))
-_sym_db.RegisterMessage(ofp_meter_multipart_request)
-
-ofp_meter_band_stats = _reflection.GeneratedProtocolMessageType('ofp_meter_band_stats', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_BAND_STATS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_band_stats)
-  ))
-_sym_db.RegisterMessage(ofp_meter_band_stats)
-
-ofp_meter_stats = _reflection.GeneratedProtocolMessageType('ofp_meter_stats', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_STATS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_stats)
-  ))
-_sym_db.RegisterMessage(ofp_meter_stats)
-
-ofp_meter_config = _reflection.GeneratedProtocolMessageType('ofp_meter_config', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_CONFIG,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_config)
-  ))
-_sym_db.RegisterMessage(ofp_meter_config)
-
-ofp_meter_features = _reflection.GeneratedProtocolMessageType('ofp_meter_features', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_METER_FEATURES,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_meter_features)
-  ))
-_sym_db.RegisterMessage(ofp_meter_features)
-
-ofp_experimenter_multipart_header = _reflection.GeneratedProtocolMessageType('ofp_experimenter_multipart_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_EXPERIMENTER_MULTIPART_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_experimenter_multipart_header)
-  ))
-_sym_db.RegisterMessage(ofp_experimenter_multipart_header)
-
-ofp_experimenter_header = _reflection.GeneratedProtocolMessageType('ofp_experimenter_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_EXPERIMENTER_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_experimenter_header)
-  ))
-_sym_db.RegisterMessage(ofp_experimenter_header)
-
-ofp_queue_prop_header = _reflection.GeneratedProtocolMessageType('ofp_queue_prop_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_PROP_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_prop_header)
-  ))
-_sym_db.RegisterMessage(ofp_queue_prop_header)
-
-ofp_queue_prop_min_rate = _reflection.GeneratedProtocolMessageType('ofp_queue_prop_min_rate', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_PROP_MIN_RATE,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_prop_min_rate)
-  ))
-_sym_db.RegisterMessage(ofp_queue_prop_min_rate)
-
-ofp_queue_prop_max_rate = _reflection.GeneratedProtocolMessageType('ofp_queue_prop_max_rate', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_PROP_MAX_RATE,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_prop_max_rate)
-  ))
-_sym_db.RegisterMessage(ofp_queue_prop_max_rate)
-
-ofp_queue_prop_experimenter = _reflection.GeneratedProtocolMessageType('ofp_queue_prop_experimenter', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_PROP_EXPERIMENTER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_prop_experimenter)
-  ))
-_sym_db.RegisterMessage(ofp_queue_prop_experimenter)
-
-ofp_packet_queue = _reflection.GeneratedProtocolMessageType('ofp_packet_queue', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_PACKET_QUEUE,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_packet_queue)
-  ))
-_sym_db.RegisterMessage(ofp_packet_queue)
-
-ofp_queue_get_config_request = _reflection.GeneratedProtocolMessageType('ofp_queue_get_config_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_GET_CONFIG_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_get_config_request)
-  ))
-_sym_db.RegisterMessage(ofp_queue_get_config_request)
-
-ofp_queue_get_config_reply = _reflection.GeneratedProtocolMessageType('ofp_queue_get_config_reply', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_GET_CONFIG_REPLY,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_get_config_reply)
-  ))
-_sym_db.RegisterMessage(ofp_queue_get_config_reply)
-
-ofp_action_set_queue = _reflection.GeneratedProtocolMessageType('ofp_action_set_queue', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_SET_QUEUE,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_action_set_queue)
-  ))
-_sym_db.RegisterMessage(ofp_action_set_queue)
-
-ofp_queue_stats_request = _reflection.GeneratedProtocolMessageType('ofp_queue_stats_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_STATS_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_stats_request)
-  ))
-_sym_db.RegisterMessage(ofp_queue_stats_request)
-
-ofp_queue_stats = _reflection.GeneratedProtocolMessageType('ofp_queue_stats', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_QUEUE_STATS,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_queue_stats)
-  ))
-_sym_db.RegisterMessage(ofp_queue_stats)
-
-ofp_role_request = _reflection.GeneratedProtocolMessageType('ofp_role_request', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ROLE_REQUEST,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_role_request)
-  ))
-_sym_db.RegisterMessage(ofp_role_request)
-
-ofp_async_config = _reflection.GeneratedProtocolMessageType('ofp_async_config', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ASYNC_CONFIG,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow_13.ofp_async_config)
-  ))
-_sym_db.RegisterMessage(ofp_async_config)
-
-
-import grpc
-from grpc.beta import implementations as beta_implementations
-from grpc.beta import interfaces as beta_interfaces
-from grpc.framework.common import cardinality
-from grpc.framework.interfaces.face import utilities as face_utilities
-# @@protoc_insertion_point(module_scope)
diff --git a/ofagent/protos/schema_pb2.py b/ofagent/protos/schema_pb2.py
deleted file mode 100644
index 9f54c3a..0000000
--- a/ofagent/protos/schema_pb2.py
+++ /dev/null
@@ -1,251 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: schema.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='schema.proto',
-  package='schema',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0cschema.proto\x12\x06schema\x1a\x1cgoogle/api/annotations.proto\"A\n\tProtoFile\x12\x11\n\tfile_name\x18\x01 \x01(\t\x12\r\n\x05proto\x18\x02 \x01(\t\x12\x12\n\ndescriptor\x18\x03 \x01(\x0c\",\n\x07Schemas\x12!\n\x06protos\x18\x01 \x03(\x0b\x32\x11.schema.ProtoFile\"\r\n\x0bNullMessage2S\n\rSchemaService\x12\x42\n\tGetSchema\x12\x13.schema.NullMessage\x1a\x0f.schema.Schemas\"\x0f\x82\xd3\xe4\x93\x02\t\x12\x07/schemab\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-_PROTOFILE = _descriptor.Descriptor(
-  name='ProtoFile',
-  full_name='schema.ProtoFile',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='file_name', full_name='schema.ProtoFile.file_name', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='proto', full_name='schema.ProtoFile.proto', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='descriptor', full_name='schema.ProtoFile.descriptor', index=2,
-      number=3, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=54,
-  serialized_end=119,
-)
-
-
-_SCHEMAS = _descriptor.Descriptor(
-  name='Schemas',
-  full_name='schema.Schemas',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='protos', full_name='schema.Schemas.protos', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=121,
-  serialized_end=165,
-)
-
-
-_NULLMESSAGE = _descriptor.Descriptor(
-  name='NullMessage',
-  full_name='schema.NullMessage',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=167,
-  serialized_end=180,
-)
-
-_SCHEMAS.fields_by_name['protos'].message_type = _PROTOFILE
-DESCRIPTOR.message_types_by_name['ProtoFile'] = _PROTOFILE
-DESCRIPTOR.message_types_by_name['Schemas'] = _SCHEMAS
-DESCRIPTOR.message_types_by_name['NullMessage'] = _NULLMESSAGE
-
-ProtoFile = _reflection.GeneratedProtocolMessageType('ProtoFile', (_message.Message,), dict(
-  DESCRIPTOR = _PROTOFILE,
-  __module__ = 'schema_pb2'
-  # @@protoc_insertion_point(class_scope:schema.ProtoFile)
-  ))
-_sym_db.RegisterMessage(ProtoFile)
-
-Schemas = _reflection.GeneratedProtocolMessageType('Schemas', (_message.Message,), dict(
-  DESCRIPTOR = _SCHEMAS,
-  __module__ = 'schema_pb2'
-  # @@protoc_insertion_point(class_scope:schema.Schemas)
-  ))
-_sym_db.RegisterMessage(Schemas)
-
-NullMessage = _reflection.GeneratedProtocolMessageType('NullMessage', (_message.Message,), dict(
-  DESCRIPTOR = _NULLMESSAGE,
-  __module__ = 'schema_pb2'
-  # @@protoc_insertion_point(class_scope:schema.NullMessage)
-  ))
-_sym_db.RegisterMessage(NullMessage)
-
-
-import grpc
-from grpc.beta import implementations as beta_implementations
-from grpc.beta import interfaces as beta_interfaces
-from grpc.framework.common import cardinality
-from grpc.framework.interfaces.face import utilities as face_utilities
-
-
-class SchemaServiceStub(object):
-  """Schema services
-  """
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.GetSchema = channel.unary_unary(
-        '/schema.SchemaService/GetSchema',
-        request_serializer=NullMessage.SerializeToString,
-        response_deserializer=Schemas.FromString,
-        )
-
-
-class SchemaServiceServicer(object):
-  """Schema services
-  """
-
-  def GetSchema(self, request, context):
-    """Return active grpc schemas
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-
-def add_SchemaServiceServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'GetSchema': grpc.unary_unary_rpc_method_handler(
-          servicer.GetSchema,
-          request_deserializer=NullMessage.FromString,
-          response_serializer=Schemas.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'schema.SchemaService', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaSchemaServiceServicer(object):
-  """Schema services
-  """
-  def GetSchema(self, request, context):
-    """Return active grpc schemas
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaSchemaServiceStub(object):
-  """Schema services
-  """
-  def GetSchema(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Return active grpc schemas
-    """
-    raise NotImplementedError()
-  GetSchema.future = None
-
-
-def beta_create_SchemaService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('schema.SchemaService', 'GetSchema'): NullMessage.FromString,
-  }
-  response_serializers = {
-    ('schema.SchemaService', 'GetSchema'): Schemas.SerializeToString,
-  }
-  method_implementations = {
-    ('schema.SchemaService', 'GetSchema'): face_utilities.unary_unary_inline(servicer.GetSchema),
-  }
-  server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
-  return beta_implementations.server(method_implementations, options=server_options)
-
-
-def beta_create_SchemaService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
-  request_serializers = {
-    ('schema.SchemaService', 'GetSchema'): NullMessage.SerializeToString,
-  }
-  response_deserializers = {
-    ('schema.SchemaService', 'GetSchema'): Schemas.FromString,
-  }
-  cardinalities = {
-    'GetSchema': cardinality.Cardinality.UNARY_UNARY,
-  }
-  stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
-  return beta_implementations.dynamic_stub(channel, 'schema.SchemaService', cardinalities, options=stub_options)
-# @@protoc_insertion_point(module_scope)
diff --git a/ofagent/protos/third_party/__init__.py b/ofagent/protos/third_party/__init__.py
deleted file mode 100644
index 0608e8c..0000000
--- a/ofagent/protos/third_party/__init__.py
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# Copyright 2016 the original author or authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-"""
-This helps loading http_pb2 and annotations_pb2.
-Without this, the Python importer will not be able to process the lines:
-from google.api import http_pb2 or
-from google.api import annotations_pb2
-(Without importing these, the protobuf loader will not recognize http options
-in the protobuf definitions.)
-"""
-
-from importlib import import_module
-import os
-import sys
-
-
-class GoogleApiImporter(object):
-
-    def find_module(self, full_name, path=None):
-        if full_name == 'google.api':
-            self.path = [os.path.dirname(__file__)]
-            return self
-
-    def load_module(self, name):
-        if name in sys.modules:
-            return sys.modules[name]
-        full_name = 'voltha.protos.third_party.' + name
-        import_module(full_name)
-        module = sys.modules[full_name]
-        sys.modules[name] = module
-        return module
-
-
-sys.meta_path.append(GoogleApiImporter())
-from google.api import http_pb2, annotations_pb2
-_ = http_pb2, annotations_pb2
diff --git a/ofagent/protos/third_party/google/__init__.py b/ofagent/protos/third_party/google/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/ofagent/protos/third_party/google/__init__.py
+++ /dev/null
diff --git a/ofagent/protos/third_party/google/api/__init__.py b/ofagent/protos/third_party/google/api/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/ofagent/protos/third_party/google/api/__init__.py
+++ /dev/null
diff --git a/ofagent/protos/third_party/google/api/annotations_pb2.py b/ofagent/protos/third_party/google/api/annotations_pb2.py
deleted file mode 100644
index 2121854..0000000
--- a/ofagent/protos/third_party/google/api/annotations_pb2.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: third_party/google/api/annotations.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from google.api import http_pb2 as google_dot_api_dot_http__pb2
-from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='third_party/google/api/annotations.proto',
-  package='google.api',
-  syntax='proto3',
-  serialized_pb=_b('\n(third_party/google/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:E\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b\x32\x14.google.api.HttpRuleB$\n\x0e\x63om.google.apiB\x10\x41nnotationsProtoP\x01\x62\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_http__pb2.DESCRIPTOR,google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-HTTP_FIELD_NUMBER = 72295728
-http = _descriptor.FieldDescriptor(
-  name='http', full_name='google.api.http', index=0,
-  number=72295728, type=11, cpp_type=10, label=1,
-  has_default_value=False, default_value=None,
-  message_type=None, enum_type=None, containing_type=None,
-  is_extension=True, extension_scope=None,
-  options=None)
-
-DESCRIPTOR.extensions_by_name['http'] = http
-
-http.message_type = google_dot_api_dot_http__pb2._HTTPRULE
-google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(http)
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\016com.google.apiB\020AnnotationsProtoP\001'))
-import grpc
-from grpc.beta import implementations as beta_implementations
-from grpc.beta import interfaces as beta_interfaces
-from grpc.framework.common import cardinality
-from grpc.framework.interfaces.face import utilities as face_utilities
-# @@protoc_insertion_point(module_scope)
diff --git a/ofagent/protos/third_party/google/api/http_pb2.py b/ofagent/protos/third_party/google/api/http_pb2.py
deleted file mode 100644
index b3abb3f..0000000
--- a/ofagent/protos/third_party/google/api/http_pb2.py
+++ /dev/null
@@ -1,194 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: third_party/google/api/http.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='third_party/google/api/http.proto',
-  package='google.api',
-  syntax='proto3',
-  serialized_pb=_b('\n!third_party/google/api/http.proto\x12\ngoogle.api\"\xd8\x01\n\x08HttpRule\x12\r\n\x03get\x18\x02 \x01(\tH\x00\x12\r\n\x03put\x18\x03 \x01(\tH\x00\x12\x0e\n\x04post\x18\x04 \x01(\tH\x00\x12\x10\n\x06\x64\x65lete\x18\x05 \x01(\tH\x00\x12\x0f\n\x05patch\x18\x06 \x01(\tH\x00\x12/\n\x06\x63ustom\x18\x08 \x01(\x0b\x32\x1d.google.api.CustomHttpPatternH\x00\x12\x0c\n\x04\x62ody\x18\x07 \x01(\t\x12\x31\n\x13\x61\x64\x64itional_bindings\x18\x0b \x03(\x0b\x32\x14.google.api.HttpRuleB\t\n\x07pattern\"/\n\x11\x43ustomHttpPattern\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\tB\x1d\n\x0e\x63om.google.apiB\tHttpProtoP\x01\x62\x06proto3')
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-_HTTPRULE = _descriptor.Descriptor(
-  name='HttpRule',
-  full_name='google.api.HttpRule',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='get', full_name='google.api.HttpRule.get', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='put', full_name='google.api.HttpRule.put', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='post', full_name='google.api.HttpRule.post', index=2,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='delete', full_name='google.api.HttpRule.delete', index=3,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='patch', full_name='google.api.HttpRule.patch', index=4,
-      number=6, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='custom', full_name='google.api.HttpRule.custom', index=5,
-      number=8, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='body', full_name='google.api.HttpRule.body', index=6,
-      number=7, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='additional_bindings', full_name='google.api.HttpRule.additional_bindings', index=7,
-      number=11, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='pattern', full_name='google.api.HttpRule.pattern',
-      index=0, containing_type=None, fields=[]),
-  ],
-  serialized_start=50,
-  serialized_end=266,
-)
-
-
-_CUSTOMHTTPPATTERN = _descriptor.Descriptor(
-  name='CustomHttpPattern',
-  full_name='google.api.CustomHttpPattern',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='kind', full_name='google.api.CustomHttpPattern.kind', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='path', full_name='google.api.CustomHttpPattern.path', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=268,
-  serialized_end=315,
-)
-
-_HTTPRULE.fields_by_name['custom'].message_type = _CUSTOMHTTPPATTERN
-_HTTPRULE.fields_by_name['additional_bindings'].message_type = _HTTPRULE
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['get'])
-_HTTPRULE.fields_by_name['get'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['put'])
-_HTTPRULE.fields_by_name['put'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['post'])
-_HTTPRULE.fields_by_name['post'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['delete'])
-_HTTPRULE.fields_by_name['delete'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['patch'])
-_HTTPRULE.fields_by_name['patch'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-_HTTPRULE.oneofs_by_name['pattern'].fields.append(
-  _HTTPRULE.fields_by_name['custom'])
-_HTTPRULE.fields_by_name['custom'].containing_oneof = _HTTPRULE.oneofs_by_name['pattern']
-DESCRIPTOR.message_types_by_name['HttpRule'] = _HTTPRULE
-DESCRIPTOR.message_types_by_name['CustomHttpPattern'] = _CUSTOMHTTPPATTERN
-
-HttpRule = _reflection.GeneratedProtocolMessageType('HttpRule', (_message.Message,), dict(
-  DESCRIPTOR = _HTTPRULE,
-  __module__ = 'third_party.google.api.http_pb2'
-  # @@protoc_insertion_point(class_scope:google.api.HttpRule)
-  ))
-_sym_db.RegisterMessage(HttpRule)
-
-CustomHttpPattern = _reflection.GeneratedProtocolMessageType('CustomHttpPattern', (_message.Message,), dict(
-  DESCRIPTOR = _CUSTOMHTTPPATTERN,
-  __module__ = 'third_party.google.api.http_pb2'
-  # @@protoc_insertion_point(class_scope:google.api.CustomHttpPattern)
-  ))
-_sym_db.RegisterMessage(CustomHttpPattern)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\016com.google.apiB\tHttpProtoP\001'))
-import grpc
-from grpc.beta import implementations as beta_implementations
-from grpc.beta import interfaces as beta_interfaces
-from grpc.framework.common import cardinality
-from grpc.framework.interfaces.face import utilities as face_utilities
-# @@protoc_insertion_point(module_scope)
diff --git a/ofagent/protos/voltha_pb2.py b/ofagent/protos/voltha_pb2.py
deleted file mode 100644
index 3135e84..0000000
--- a/ofagent/protos/voltha_pb2.py
+++ /dev/null
@@ -1,2073 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: voltha.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-import openflow_13_pb2 as openflow__13__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='voltha.proto',
-  package='voltha',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0cvoltha.proto\x12\x06voltha\x1a\x1cgoogle/api/annotations.proto\x1a\x11openflow_13.proto\"\r\n\x0bNullMessage\"v\n\x0cHealthStatus\x12/\n\x05state\x18\x01 \x01(\x0e\x32 .voltha.HealthStatus.HealthState\"5\n\x0bHealthState\x12\x0b\n\x07HEALTHY\x10\x00\x12\x0e\n\nOVERLOADED\x10\x01\x12\t\n\x05\x44YING\x10\x02\"q\n\x07\x41\x64\x64ress\x12\n\n\x02id\x18\x07 \x01(\t\x12\x0e\n\x06street\x18\x01 \x01(\t\x12\x0f\n\x07street2\x18\x02 \x01(\t\x12\x0f\n\x07street3\x18\x03 \x01(\t\x12\x0c\n\x04\x63ity\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x0b\n\x03zip\x18\x06 \x01(\r\"/\n\tAddresses\x12\"\n\taddresses\x18\x01 \x03(\x0b\x32\x0f.voltha.Address\"\x9f\x01\n\x0bMoreComplex\x12$\n\x06health\x18\x01 \x01(\x0b\x32\x14.voltha.HealthStatus\x12\x13\n\x0b\x66oo_counter\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\x12%\n\x08\x63hildren\x18\x04 \x03(\x0b\x32\x13.voltha.MoreComplex\x12 \n\x07\x61\x64\x64ress\x18\x05 \x01(\x0b\x32\x0f.voltha.Address\"\x10\n\x02ID\x12\n\n\x02id\x18\x01 \x01(\t\"\x18\n\nSubscriber\x12\n\n\x02id\x18\x01 \x01(\t\"0\n\x0bSubscribers\x12!\n\x05items\x18\x01 \x03(\x0b\x32\x12.voltha.Subscriber\"U\n\rLogicalDevice\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x61tapath_id\x18\x02 \x01(\x04\x12#\n\x04\x64\x65sc\x18\x03 \x01(\x0b\x32\x15.openflow_13.ofp_desc\"6\n\x0eLogicalDevices\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.voltha.LogicalDevice\"4\n\x0cLogicalPorts\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.openflow_13.ofp_port\"\x97\x01\n\x14LogicalDeviceDetails\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x61tapath_id\x18\x02 \x01(\x04\x12#\n\x04\x64\x65sc\x18\x03 \x01(\x0b\x32\x15.openflow_13.ofp_desc\x12\x39\n\x0fswitch_features\x18\x04 \x01(\x0b\x32 .openflow_13.ofp_switch_features\"J\n\x0f\x46lowTableUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\x08\x66low_mod\x18\x02 \x01(\x0b\x32\x19.openflow_13.ofp_flow_mod\"M\n\x10GroupTableUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12-\n\tgroup_mod\x18\x02 \x01(\x0b\x32\x1a.openflow_13.ofp_group_mod\"3\n\x05\x46lows\x12*\n\x05items\x18\x01 \x03(\x0b\x32\x1b.openflow_13.ofp_flow_stats\"9\n\nFlowGroups\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.openflow_13.ofp_group_entry\"E\n\x08PacketIn\x12\n\n\x02id\x18\x01 \x01(\t\x12-\n\tpacket_in\x18\x02 \x01(\x0b\x32\x1a.openflow_13.ofp_packet_in\"H\n\tPacketOut\x12\n\n\x02id\x18\x01 \x01(\t\x12/\n\npacket_out\x18\x02 \x01(\x0b\x32\x1b.openflow_13.ofp_packet_out2^\n\rHealthService\x12M\n\x0fGetHealthStatus\x12\x13.voltha.NullMessage\x1a\x14.voltha.HealthStatus\"\x0f\x82\xd3\xe4\x93\x02\t\x12\x07/health2\xc4\t\n\x12VolthaLogicalLayer\x12Y\n\x12ListLogicalDevices\x12\x13.voltha.NullMessage\x1a\x16.voltha.LogicalDevices\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/local/devices\x12Y\n\x10GetLogicalDevice\x12\n.voltha.ID\x1a\x1c.voltha.LogicalDeviceDetails\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/local/devices/{id}\x12]\n\x16ListLogicalDevicePorts\x12\n.voltha.ID\x1a\x14.voltha.LogicalPorts\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/local/devices/{id}/ports\x12\x65\n\x0fUpdateFlowTable\x12\x17.voltha.FlowTableUpdate\x1a\x13.voltha.NullMessage\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/local/devices/{id}/flows:\x01*\x12O\n\x0fListDeviceFlows\x12\n.voltha.ID\x1a\r.voltha.Flows\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/local/devices/{id}/flows\x12h\n\x10UpdateGroupTable\x12\x18.voltha.GroupTableUpdate\x1a\x13.voltha.NullMessage\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/local/devices/{id}/groups:\x01*\x12Z\n\x14ListDeviceFlowGroups\x12\n.voltha.ID\x1a\x12.voltha.FlowGroups\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/local/devices/{id}/groups\x12>\n\x10StreamPacketsOut\x12\x11.voltha.PacketOut\x1a\x13.voltha.NullMessage\"\x00(\x01\x12=\n\x10ReceivePacketsIn\x12\x13.voltha.NullMessage\x1a\x10.voltha.PacketIn\"\x00\x30\x01\x12S\n\x10\x43reateSubscriber\x12\x12.voltha.Subscriber\x1a\x12.voltha.Subscriber\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/subscribers:\x01*\x12J\n\rGetSubscriber\x12\n.voltha.ID\x1a\x12.voltha.Subscriber\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/subscribers/{id}\x12X\n\x10UpdateSubscriber\x12\x12.voltha.Subscriber\x1a\x12.voltha.Subscriber\"\x1c\x82\xd3\xe4\x93\x02\x16\x32\x11/subscribers/{id}:\x01*\x12N\n\x10\x44\x65leteSubscriber\x12\n.voltha.ID\x1a\x13.voltha.NullMessage\"\x19\x82\xd3\xe4\x93\x02\x13*\x11/subscribers/{id}\x12Q\n\x0fListSubscribers\x12\x13.voltha.NullMessage\x1a\x13.voltha.Subscribers\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/subscribers2\x85\x03\n\x0e\x45xampleService\x12H\n\rCreateAddress\x12\x0f.voltha.Address\x1a\x0f.voltha.Address\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/addresses:\x01*\x12\x42\n\nGetAddress\x12\n.voltha.ID\x1a\x0f.voltha.Address\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/addresses/{id}\x12M\n\rUpdateAddress\x12\x0f.voltha.Address\x1a\x0f.voltha.Address\"\x1a\x82\xd3\xe4\x93\x02\x14\x32\x0f/addresses/{id}:\x01*\x12I\n\rDeleteAddress\x12\n.voltha.ID\x1a\x13.voltha.NullMessage\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/addresses/{id}\x12K\n\rListAddresses\x12\x13.voltha.NullMessage\x1a\x11.voltha.Addresses\"\x12\x82\xd3\xe4\x93\x02\x0c\x12\n/addresses2\xfd\x04\n\x08OpenFlow\x12<\n\x08GetHello\x12\x16.openflow_13.ofp_hello\x1a\x16.openflow_13.ofp_hello\"\x00\x12\x41\n\x0b\x45\x63hoRequest\x12\x17.openflow_13.ofp_header\x1a\x17.openflow_13.ofp_header\"\x00\x12\x63\n\x13\x45xperimenterRequest\x12$.openflow_13.ofp_experimenter_header\x1a$.openflow_13.ofp_experimenter_header\"\x00\x12P\n\x11GetSwitchFeatures\x12\x17.openflow_13.ofp_header\x1a .openflow_13.ofp_switch_features\"\x00\x12L\n\x0fGetSwitchConfig\x12\x17.openflow_13.ofp_header\x1a\x1e.openflow_13.ofp_switch_config\"\x00\x12\x46\n\tSetConfig\x12\x1e.openflow_13.ofp_switch_config\x1a\x17.openflow_13.ofp_header\"\x00\x12R\n\x17ReceivePacketInMessages\x12\x17.openflow_13.ofp_header\x1a\x1a.openflow_13.ofp_packet_in\"\x00\x30\x01\x12O\n\x15SendPacketOutMessages\x12\x1b.openflow_13.ofp_packet_out\x1a\x17.openflow_13.ofp_header\"\x00\x42<\n\x13org.opencord.volthaB\x0cVolthaProtos\xaa\x02\x16Opencord.Voltha.Volthab\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,openflow__13__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-_HEALTHSTATUS_HEALTHSTATE = _descriptor.EnumDescriptor(
-  name='HealthState',
-  full_name='voltha.HealthStatus.HealthState',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='HEALTHY', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OVERLOADED', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='DYING', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=153,
-  serialized_end=206,
-)
-_sym_db.RegisterEnumDescriptor(_HEALTHSTATUS_HEALTHSTATE)
-
-
-_NULLMESSAGE = _descriptor.Descriptor(
-  name='NullMessage',
-  full_name='voltha.NullMessage',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=73,
-  serialized_end=86,
-)
-
-
-_HEALTHSTATUS = _descriptor.Descriptor(
-  name='HealthStatus',
-  full_name='voltha.HealthStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='state', full_name='voltha.HealthStatus.state', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _HEALTHSTATUS_HEALTHSTATE,
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=88,
-  serialized_end=206,
-)
-
-
-_ADDRESS = _descriptor.Descriptor(
-  name='Address',
-  full_name='voltha.Address',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.Address.id', index=0,
-      number=7, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='street', full_name='voltha.Address.street', index=1,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='street2', full_name='voltha.Address.street2', index=2,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='street3', full_name='voltha.Address.street3', index=3,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='city', full_name='voltha.Address.city', index=4,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='state', full_name='voltha.Address.state', index=5,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='zip', full_name='voltha.Address.zip', index=6,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=208,
-  serialized_end=321,
-)
-
-
-_ADDRESSES = _descriptor.Descriptor(
-  name='Addresses',
-  full_name='voltha.Addresses',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='addresses', full_name='voltha.Addresses.addresses', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=323,
-  serialized_end=370,
-)
-
-
-_MORECOMPLEX = _descriptor.Descriptor(
-  name='MoreComplex',
-  full_name='voltha.MoreComplex',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='health', full_name='voltha.MoreComplex.health', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='foo_counter', full_name='voltha.MoreComplex.foo_counter', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='name', full_name='voltha.MoreComplex.name', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='children', full_name='voltha.MoreComplex.children', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='address', full_name='voltha.MoreComplex.address', index=4,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=373,
-  serialized_end=532,
-)
-
-
-_ID = _descriptor.Descriptor(
-  name='ID',
-  full_name='voltha.ID',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.ID.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=534,
-  serialized_end=550,
-)
-
-
-_SUBSCRIBER = _descriptor.Descriptor(
-  name='Subscriber',
-  full_name='voltha.Subscriber',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.Subscriber.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=552,
-  serialized_end=576,
-)
-
-
-_SUBSCRIBERS = _descriptor.Descriptor(
-  name='Subscribers',
-  full_name='voltha.Subscribers',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='items', full_name='voltha.Subscribers.items', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=578,
-  serialized_end=626,
-)
-
-
-_LOGICALDEVICE = _descriptor.Descriptor(
-  name='LogicalDevice',
-  full_name='voltha.LogicalDevice',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.LogicalDevice.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='datapath_id', full_name='voltha.LogicalDevice.datapath_id', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='desc', full_name='voltha.LogicalDevice.desc', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=628,
-  serialized_end=713,
-)
-
-
-_LOGICALDEVICES = _descriptor.Descriptor(
-  name='LogicalDevices',
-  full_name='voltha.LogicalDevices',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='items', full_name='voltha.LogicalDevices.items', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=715,
-  serialized_end=769,
-)
-
-
-_LOGICALPORTS = _descriptor.Descriptor(
-  name='LogicalPorts',
-  full_name='voltha.LogicalPorts',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='items', full_name='voltha.LogicalPorts.items', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=771,
-  serialized_end=823,
-)
-
-
-_LOGICALDEVICEDETAILS = _descriptor.Descriptor(
-  name='LogicalDeviceDetails',
-  full_name='voltha.LogicalDeviceDetails',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.LogicalDeviceDetails.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='datapath_id', full_name='voltha.LogicalDeviceDetails.datapath_id', index=1,
-      number=2, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='desc', full_name='voltha.LogicalDeviceDetails.desc', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='switch_features', full_name='voltha.LogicalDeviceDetails.switch_features', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=826,
-  serialized_end=977,
-)
-
-
-_FLOWTABLEUPDATE = _descriptor.Descriptor(
-  name='FlowTableUpdate',
-  full_name='voltha.FlowTableUpdate',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.FlowTableUpdate.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='flow_mod', full_name='voltha.FlowTableUpdate.flow_mod', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=979,
-  serialized_end=1053,
-)
-
-
-_GROUPTABLEUPDATE = _descriptor.Descriptor(
-  name='GroupTableUpdate',
-  full_name='voltha.GroupTableUpdate',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.GroupTableUpdate.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='group_mod', full_name='voltha.GroupTableUpdate.group_mod', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1055,
-  serialized_end=1132,
-)
-
-
-_FLOWS = _descriptor.Descriptor(
-  name='Flows',
-  full_name='voltha.Flows',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='items', full_name='voltha.Flows.items', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1134,
-  serialized_end=1185,
-)
-
-
-_FLOWGROUPS = _descriptor.Descriptor(
-  name='FlowGroups',
-  full_name='voltha.FlowGroups',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='items', full_name='voltha.FlowGroups.items', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1187,
-  serialized_end=1244,
-)
-
-
-_PACKETIN = _descriptor.Descriptor(
-  name='PacketIn',
-  full_name='voltha.PacketIn',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.PacketIn.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='packet_in', full_name='voltha.PacketIn.packet_in', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1246,
-  serialized_end=1315,
-)
-
-
-_PACKETOUT = _descriptor.Descriptor(
-  name='PacketOut',
-  full_name='voltha.PacketOut',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.PacketOut.id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='packet_out', full_name='voltha.PacketOut.packet_out', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1317,
-  serialized_end=1389,
-)
-
-_HEALTHSTATUS.fields_by_name['state'].enum_type = _HEALTHSTATUS_HEALTHSTATE
-_HEALTHSTATUS_HEALTHSTATE.containing_type = _HEALTHSTATUS
-_ADDRESSES.fields_by_name['addresses'].message_type = _ADDRESS
-_MORECOMPLEX.fields_by_name['health'].message_type = _HEALTHSTATUS
-_MORECOMPLEX.fields_by_name['children'].message_type = _MORECOMPLEX
-_MORECOMPLEX.fields_by_name['address'].message_type = _ADDRESS
-_SUBSCRIBERS.fields_by_name['items'].message_type = _SUBSCRIBER
-_LOGICALDEVICE.fields_by_name['desc'].message_type = openflow__13__pb2._OFP_DESC
-_LOGICALDEVICES.fields_by_name['items'].message_type = _LOGICALDEVICE
-_LOGICALPORTS.fields_by_name['items'].message_type = openflow__13__pb2._OFP_PORT
-_LOGICALDEVICEDETAILS.fields_by_name['desc'].message_type = openflow__13__pb2._OFP_DESC
-_LOGICALDEVICEDETAILS.fields_by_name['switch_features'].message_type = openflow__13__pb2._OFP_SWITCH_FEATURES
-_FLOWTABLEUPDATE.fields_by_name['flow_mod'].message_type = openflow__13__pb2._OFP_FLOW_MOD
-_GROUPTABLEUPDATE.fields_by_name['group_mod'].message_type = openflow__13__pb2._OFP_GROUP_MOD
-_FLOWS.fields_by_name['items'].message_type = openflow__13__pb2._OFP_FLOW_STATS
-_FLOWGROUPS.fields_by_name['items'].message_type = openflow__13__pb2._OFP_GROUP_ENTRY
-_PACKETIN.fields_by_name['packet_in'].message_type = openflow__13__pb2._OFP_PACKET_IN
-_PACKETOUT.fields_by_name['packet_out'].message_type = openflow__13__pb2._OFP_PACKET_OUT
-DESCRIPTOR.message_types_by_name['NullMessage'] = _NULLMESSAGE
-DESCRIPTOR.message_types_by_name['HealthStatus'] = _HEALTHSTATUS
-DESCRIPTOR.message_types_by_name['Address'] = _ADDRESS
-DESCRIPTOR.message_types_by_name['Addresses'] = _ADDRESSES
-DESCRIPTOR.message_types_by_name['MoreComplex'] = _MORECOMPLEX
-DESCRIPTOR.message_types_by_name['ID'] = _ID
-DESCRIPTOR.message_types_by_name['Subscriber'] = _SUBSCRIBER
-DESCRIPTOR.message_types_by_name['Subscribers'] = _SUBSCRIBERS
-DESCRIPTOR.message_types_by_name['LogicalDevice'] = _LOGICALDEVICE
-DESCRIPTOR.message_types_by_name['LogicalDevices'] = _LOGICALDEVICES
-DESCRIPTOR.message_types_by_name['LogicalPorts'] = _LOGICALPORTS
-DESCRIPTOR.message_types_by_name['LogicalDeviceDetails'] = _LOGICALDEVICEDETAILS
-DESCRIPTOR.message_types_by_name['FlowTableUpdate'] = _FLOWTABLEUPDATE
-DESCRIPTOR.message_types_by_name['GroupTableUpdate'] = _GROUPTABLEUPDATE
-DESCRIPTOR.message_types_by_name['Flows'] = _FLOWS
-DESCRIPTOR.message_types_by_name['FlowGroups'] = _FLOWGROUPS
-DESCRIPTOR.message_types_by_name['PacketIn'] = _PACKETIN
-DESCRIPTOR.message_types_by_name['PacketOut'] = _PACKETOUT
-
-NullMessage = _reflection.GeneratedProtocolMessageType('NullMessage', (_message.Message,), dict(
-  DESCRIPTOR = _NULLMESSAGE,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.NullMessage)
-  ))
-_sym_db.RegisterMessage(NullMessage)
-
-HealthStatus = _reflection.GeneratedProtocolMessageType('HealthStatus', (_message.Message,), dict(
-  DESCRIPTOR = _HEALTHSTATUS,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.HealthStatus)
-  ))
-_sym_db.RegisterMessage(HealthStatus)
-
-Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), dict(
-  DESCRIPTOR = _ADDRESS,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Address)
-  ))
-_sym_db.RegisterMessage(Address)
-
-Addresses = _reflection.GeneratedProtocolMessageType('Addresses', (_message.Message,), dict(
-  DESCRIPTOR = _ADDRESSES,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Addresses)
-  ))
-_sym_db.RegisterMessage(Addresses)
-
-MoreComplex = _reflection.GeneratedProtocolMessageType('MoreComplex', (_message.Message,), dict(
-  DESCRIPTOR = _MORECOMPLEX,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.MoreComplex)
-  ))
-_sym_db.RegisterMessage(MoreComplex)
-
-ID = _reflection.GeneratedProtocolMessageType('ID', (_message.Message,), dict(
-  DESCRIPTOR = _ID,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.ID)
-  ))
-_sym_db.RegisterMessage(ID)
-
-Subscriber = _reflection.GeneratedProtocolMessageType('Subscriber', (_message.Message,), dict(
-  DESCRIPTOR = _SUBSCRIBER,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Subscriber)
-  ))
-_sym_db.RegisterMessage(Subscriber)
-
-Subscribers = _reflection.GeneratedProtocolMessageType('Subscribers', (_message.Message,), dict(
-  DESCRIPTOR = _SUBSCRIBERS,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Subscribers)
-  ))
-_sym_db.RegisterMessage(Subscribers)
-
-LogicalDevice = _reflection.GeneratedProtocolMessageType('LogicalDevice', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALDEVICE,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalDevice)
-  ))
-_sym_db.RegisterMessage(LogicalDevice)
-
-LogicalDevices = _reflection.GeneratedProtocolMessageType('LogicalDevices', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALDEVICES,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalDevices)
-  ))
-_sym_db.RegisterMessage(LogicalDevices)
-
-LogicalPorts = _reflection.GeneratedProtocolMessageType('LogicalPorts', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALPORTS,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalPorts)
-  ))
-_sym_db.RegisterMessage(LogicalPorts)
-
-LogicalDeviceDetails = _reflection.GeneratedProtocolMessageType('LogicalDeviceDetails', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALDEVICEDETAILS,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalDeviceDetails)
-  ))
-_sym_db.RegisterMessage(LogicalDeviceDetails)
-
-FlowTableUpdate = _reflection.GeneratedProtocolMessageType('FlowTableUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _FLOWTABLEUPDATE,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.FlowTableUpdate)
-  ))
-_sym_db.RegisterMessage(FlowTableUpdate)
-
-GroupTableUpdate = _reflection.GeneratedProtocolMessageType('GroupTableUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _GROUPTABLEUPDATE,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.GroupTableUpdate)
-  ))
-_sym_db.RegisterMessage(GroupTableUpdate)
-
-Flows = _reflection.GeneratedProtocolMessageType('Flows', (_message.Message,), dict(
-  DESCRIPTOR = _FLOWS,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Flows)
-  ))
-_sym_db.RegisterMessage(Flows)
-
-FlowGroups = _reflection.GeneratedProtocolMessageType('FlowGroups', (_message.Message,), dict(
-  DESCRIPTOR = _FLOWGROUPS,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.FlowGroups)
-  ))
-_sym_db.RegisterMessage(FlowGroups)
-
-PacketIn = _reflection.GeneratedProtocolMessageType('PacketIn', (_message.Message,), dict(
-  DESCRIPTOR = _PACKETIN,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.PacketIn)
-  ))
-_sym_db.RegisterMessage(PacketIn)
-
-PacketOut = _reflection.GeneratedProtocolMessageType('PacketOut', (_message.Message,), dict(
-  DESCRIPTOR = _PACKETOUT,
-  __module__ = 'voltha_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.PacketOut)
-  ))
-_sym_db.RegisterMessage(PacketOut)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023org.opencord.volthaB\014VolthaProtos\252\002\026Opencord.Voltha.Voltha'))
-import grpc
-from grpc.beta import implementations as beta_implementations
-from grpc.beta import interfaces as beta_interfaces
-from grpc.framework.common import cardinality
-from grpc.framework.interfaces.face import utilities as face_utilities
-
-
-class HealthServiceStub(object):
-  """Health related services
-  """
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.GetHealthStatus = channel.unary_unary(
-        '/voltha.HealthService/GetHealthStatus',
-        request_serializer=NullMessage.SerializeToString,
-        response_deserializer=HealthStatus.FromString,
-        )
-
-
-class HealthServiceServicer(object):
-  """Health related services
-  """
-
-  def GetHealthStatus(self, request, context):
-    """Return current health status of a Voltha instance
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-
-def add_HealthServiceServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'GetHealthStatus': grpc.unary_unary_rpc_method_handler(
-          servicer.GetHealthStatus,
-          request_deserializer=NullMessage.FromString,
-          response_serializer=HealthStatus.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'voltha.HealthService', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaHealthServiceServicer(object):
-  """Health related services
-  """
-  def GetHealthStatus(self, request, context):
-    """Return current health status of a Voltha instance
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaHealthServiceStub(object):
-  """Health related services
-  """
-  def GetHealthStatus(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Return current health status of a Voltha instance
-    """
-    raise NotImplementedError()
-  GetHealthStatus.future = None
-
-
-def beta_create_HealthService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('voltha.HealthService', 'GetHealthStatus'): NullMessage.FromString,
-  }
-  response_serializers = {
-    ('voltha.HealthService', 'GetHealthStatus'): HealthStatus.SerializeToString,
-  }
-  method_implementations = {
-    ('voltha.HealthService', 'GetHealthStatus'): face_utilities.unary_unary_inline(servicer.GetHealthStatus),
-  }
-  server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
-  return beta_implementations.server(method_implementations, options=server_options)
-
-
-def beta_create_HealthService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
-  request_serializers = {
-    ('voltha.HealthService', 'GetHealthStatus'): NullMessage.SerializeToString,
-  }
-  response_deserializers = {
-    ('voltha.HealthService', 'GetHealthStatus'): HealthStatus.FromString,
-  }
-  cardinalities = {
-    'GetHealthStatus': cardinality.Cardinality.UNARY_UNARY,
-  }
-  stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
-  return beta_implementations.dynamic_stub(channel, 'voltha.HealthService', cardinalities, options=stub_options)
-
-
-class VolthaLogicalLayerStub(object):
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.ListLogicalDevices = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListLogicalDevices',
-        request_serializer=NullMessage.SerializeToString,
-        response_deserializer=LogicalDevices.FromString,
-        )
-    self.GetLogicalDevice = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/GetLogicalDevice',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=LogicalDeviceDetails.FromString,
-        )
-    self.ListLogicalDevicePorts = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListLogicalDevicePorts',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=LogicalPorts.FromString,
-        )
-    self.UpdateFlowTable = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/UpdateFlowTable',
-        request_serializer=FlowTableUpdate.SerializeToString,
-        response_deserializer=NullMessage.FromString,
-        )
-    self.ListDeviceFlows = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListDeviceFlows',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=Flows.FromString,
-        )
-    self.UpdateGroupTable = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/UpdateGroupTable',
-        request_serializer=GroupTableUpdate.SerializeToString,
-        response_deserializer=NullMessage.FromString,
-        )
-    self.ListDeviceFlowGroups = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListDeviceFlowGroups',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=FlowGroups.FromString,
-        )
-    self.StreamPacketsOut = channel.stream_unary(
-        '/voltha.VolthaLogicalLayer/StreamPacketsOut',
-        request_serializer=PacketOut.SerializeToString,
-        response_deserializer=NullMessage.FromString,
-        )
-    self.ReceivePacketsIn = channel.unary_stream(
-        '/voltha.VolthaLogicalLayer/ReceivePacketsIn',
-        request_serializer=NullMessage.SerializeToString,
-        response_deserializer=PacketIn.FromString,
-        )
-    self.CreateSubscriber = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/CreateSubscriber',
-        request_serializer=Subscriber.SerializeToString,
-        response_deserializer=Subscriber.FromString,
-        )
-    self.GetSubscriber = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/GetSubscriber',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=Subscriber.FromString,
-        )
-    self.UpdateSubscriber = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/UpdateSubscriber',
-        request_serializer=Subscriber.SerializeToString,
-        response_deserializer=Subscriber.FromString,
-        )
-    self.DeleteSubscriber = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/DeleteSubscriber',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=NullMessage.FromString,
-        )
-    self.ListSubscribers = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListSubscribers',
-        request_serializer=NullMessage.SerializeToString,
-        response_deserializer=Subscribers.FromString,
-        )
-
-
-class VolthaLogicalLayerServicer(object):
-
-  def ListLogicalDevices(self, request, context):
-    """List logical devices owned by this Voltha instance
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def GetLogicalDevice(self, request, context):
-    """Get detailed info on logical device owned by this Voltha instance
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ListLogicalDevicePorts(self, request, context):
-    """List ports of a logical device
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def UpdateFlowTable(self, request, context):
-    """Update flow table for device
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ListDeviceFlows(self, request, context):
-    """List all flows of a logical device
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def UpdateGroupTable(self, request, context):
-    """Update group tabel for device
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ListDeviceFlowGroups(self, request, context):
-    """List all flow groups of a logical device
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def StreamPacketsOut(self, request_iterator, context):
-    """Stream control packets to the dataplane
-    This does not have an HTTP representation
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ReceivePacketsIn(self, request, context):
-    """Receive control packet stream
-    This does not have an HTTP representation
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def CreateSubscriber(self, request, context):
-    """Create a subscriber record
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def GetSubscriber(self, request, context):
-    """Return an subscriber by ID
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def UpdateSubscriber(self, request, context):
-    """Update an existing subscriber record by ID
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def DeleteSubscriber(self, request, context):
-    """Delete a subscriber record by ID
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ListSubscribers(self, request, context):
-    """List subscribers
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-
-def add_VolthaLogicalLayerServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'ListLogicalDevices': grpc.unary_unary_rpc_method_handler(
-          servicer.ListLogicalDevices,
-          request_deserializer=NullMessage.FromString,
-          response_serializer=LogicalDevices.SerializeToString,
-      ),
-      'GetLogicalDevice': grpc.unary_unary_rpc_method_handler(
-          servicer.GetLogicalDevice,
-          request_deserializer=ID.FromString,
-          response_serializer=LogicalDeviceDetails.SerializeToString,
-      ),
-      'ListLogicalDevicePorts': grpc.unary_unary_rpc_method_handler(
-          servicer.ListLogicalDevicePorts,
-          request_deserializer=ID.FromString,
-          response_serializer=LogicalPorts.SerializeToString,
-      ),
-      'UpdateFlowTable': grpc.unary_unary_rpc_method_handler(
-          servicer.UpdateFlowTable,
-          request_deserializer=FlowTableUpdate.FromString,
-          response_serializer=NullMessage.SerializeToString,
-      ),
-      'ListDeviceFlows': grpc.unary_unary_rpc_method_handler(
-          servicer.ListDeviceFlows,
-          request_deserializer=ID.FromString,
-          response_serializer=Flows.SerializeToString,
-      ),
-      'UpdateGroupTable': grpc.unary_unary_rpc_method_handler(
-          servicer.UpdateGroupTable,
-          request_deserializer=GroupTableUpdate.FromString,
-          response_serializer=NullMessage.SerializeToString,
-      ),
-      'ListDeviceFlowGroups': grpc.unary_unary_rpc_method_handler(
-          servicer.ListDeviceFlowGroups,
-          request_deserializer=ID.FromString,
-          response_serializer=FlowGroups.SerializeToString,
-      ),
-      'StreamPacketsOut': grpc.stream_unary_rpc_method_handler(
-          servicer.StreamPacketsOut,
-          request_deserializer=PacketOut.FromString,
-          response_serializer=NullMessage.SerializeToString,
-      ),
-      'ReceivePacketsIn': grpc.unary_stream_rpc_method_handler(
-          servicer.ReceivePacketsIn,
-          request_deserializer=NullMessage.FromString,
-          response_serializer=PacketIn.SerializeToString,
-      ),
-      'CreateSubscriber': grpc.unary_unary_rpc_method_handler(
-          servicer.CreateSubscriber,
-          request_deserializer=Subscriber.FromString,
-          response_serializer=Subscriber.SerializeToString,
-      ),
-      'GetSubscriber': grpc.unary_unary_rpc_method_handler(
-          servicer.GetSubscriber,
-          request_deserializer=ID.FromString,
-          response_serializer=Subscriber.SerializeToString,
-      ),
-      'UpdateSubscriber': grpc.unary_unary_rpc_method_handler(
-          servicer.UpdateSubscriber,
-          request_deserializer=Subscriber.FromString,
-          response_serializer=Subscriber.SerializeToString,
-      ),
-      'DeleteSubscriber': grpc.unary_unary_rpc_method_handler(
-          servicer.DeleteSubscriber,
-          request_deserializer=ID.FromString,
-          response_serializer=NullMessage.SerializeToString,
-      ),
-      'ListSubscribers': grpc.unary_unary_rpc_method_handler(
-          servicer.ListSubscribers,
-          request_deserializer=NullMessage.FromString,
-          response_serializer=Subscribers.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'voltha.VolthaLogicalLayer', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaVolthaLogicalLayerServicer(object):
-  def ListLogicalDevices(self, request, context):
-    """List logical devices owned by this Voltha instance
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def GetLogicalDevice(self, request, context):
-    """Get detailed info on logical device owned by this Voltha instance
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ListLogicalDevicePorts(self, request, context):
-    """List ports of a logical device
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def UpdateFlowTable(self, request, context):
-    """Update flow table for device
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ListDeviceFlows(self, request, context):
-    """List all flows of a logical device
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def UpdateGroupTable(self, request, context):
-    """Update group tabel for device
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ListDeviceFlowGroups(self, request, context):
-    """List all flow groups of a logical device
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def StreamPacketsOut(self, request_iterator, context):
-    """Stream control packets to the dataplane
-    This does not have an HTTP representation
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ReceivePacketsIn(self, request, context):
-    """Receive control packet stream
-    This does not have an HTTP representation
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def CreateSubscriber(self, request, context):
-    """Create a subscriber record
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def GetSubscriber(self, request, context):
-    """Return an subscriber by ID
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def UpdateSubscriber(self, request, context):
-    """Update an existing subscriber record by ID
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def DeleteSubscriber(self, request, context):
-    """Delete a subscriber record by ID
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ListSubscribers(self, request, context):
-    """List subscribers
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaVolthaLogicalLayerStub(object):
-  def ListLogicalDevices(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """List logical devices owned by this Voltha instance
-    """
-    raise NotImplementedError()
-  ListLogicalDevices.future = None
-  def GetLogicalDevice(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Get detailed info on logical device owned by this Voltha instance
-    """
-    raise NotImplementedError()
-  GetLogicalDevice.future = None
-  def ListLogicalDevicePorts(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """List ports of a logical device
-    """
-    raise NotImplementedError()
-  ListLogicalDevicePorts.future = None
-  def UpdateFlowTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Update flow table for device
-    """
-    raise NotImplementedError()
-  UpdateFlowTable.future = None
-  def ListDeviceFlows(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """List all flows of a logical device
-    """
-    raise NotImplementedError()
-  ListDeviceFlows.future = None
-  def UpdateGroupTable(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Update group tabel for device
-    """
-    raise NotImplementedError()
-  UpdateGroupTable.future = None
-  def ListDeviceFlowGroups(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """List all flow groups of a logical device
-    """
-    raise NotImplementedError()
-  ListDeviceFlowGroups.future = None
-  def StreamPacketsOut(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Stream control packets to the dataplane
-    This does not have an HTTP representation
-    """
-    raise NotImplementedError()
-  StreamPacketsOut.future = None
-  def ReceivePacketsIn(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Receive control packet stream
-    This does not have an HTTP representation
-    """
-    raise NotImplementedError()
-  def CreateSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Create a subscriber record
-    """
-    raise NotImplementedError()
-  CreateSubscriber.future = None
-  def GetSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Return an subscriber by ID
-    """
-    raise NotImplementedError()
-  GetSubscriber.future = None
-  def UpdateSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Update an existing subscriber record by ID
-    """
-    raise NotImplementedError()
-  UpdateSubscriber.future = None
-  def DeleteSubscriber(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Delete a subscriber record by ID
-    """
-    raise NotImplementedError()
-  DeleteSubscriber.future = None
-  def ListSubscribers(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """List subscribers
-    """
-    raise NotImplementedError()
-  ListSubscribers.future = None
-
-
-def beta_create_VolthaLogicalLayer_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.FromString,
-    ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'GetSubscriber'): ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): NullMessage.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListSubscribers'): NullMessage.FromString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): NullMessage.FromString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): PacketOut.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): FlowTableUpdate.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): GroupTableUpdate.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.FromString,
-  }
-  response_serializers = {
-    ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): NullMessage.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): LogicalDeviceDetails.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'GetSubscriber'): Subscriber.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): FlowGroups.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): Flows.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): LogicalPorts.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): LogicalDevices.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListSubscribers'): Subscribers.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): PacketIn.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): NullMessage.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): NullMessage.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): NullMessage.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.SerializeToString,
-  }
-  method_implementations = {
-    ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): face_utilities.unary_unary_inline(servicer.CreateSubscriber),
-    ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): face_utilities.unary_unary_inline(servicer.DeleteSubscriber),
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): face_utilities.unary_unary_inline(servicer.GetLogicalDevice),
-    ('voltha.VolthaLogicalLayer', 'GetSubscriber'): face_utilities.unary_unary_inline(servicer.GetSubscriber),
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): face_utilities.unary_unary_inline(servicer.ListDeviceFlowGroups),
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): face_utilities.unary_unary_inline(servicer.ListDeviceFlows),
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): face_utilities.unary_unary_inline(servicer.ListLogicalDevicePorts),
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): face_utilities.unary_unary_inline(servicer.ListLogicalDevices),
-    ('voltha.VolthaLogicalLayer', 'ListSubscribers'): face_utilities.unary_unary_inline(servicer.ListSubscribers),
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): face_utilities.unary_stream_inline(servicer.ReceivePacketsIn),
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): face_utilities.stream_unary_inline(servicer.StreamPacketsOut),
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): face_utilities.unary_unary_inline(servicer.UpdateFlowTable),
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): face_utilities.unary_unary_inline(servicer.UpdateGroupTable),
-    ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): face_utilities.unary_unary_inline(servicer.UpdateSubscriber),
-  }
-  server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
-  return beta_implementations.server(method_implementations, options=server_options)
-
-
-def beta_create_VolthaLogicalLayer_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
-  request_serializers = {
-    ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'GetSubscriber'): ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): NullMessage.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListSubscribers'): NullMessage.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): NullMessage.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): PacketOut.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): FlowTableUpdate.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): GroupTableUpdate.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.SerializeToString,
-  }
-  response_deserializers = {
-    ('voltha.VolthaLogicalLayer', 'CreateSubscriber'): Subscriber.FromString,
-    ('voltha.VolthaLogicalLayer', 'DeleteSubscriber'): NullMessage.FromString,
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): LogicalDeviceDetails.FromString,
-    ('voltha.VolthaLogicalLayer', 'GetSubscriber'): Subscriber.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): FlowGroups.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): Flows.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): LogicalPorts.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): LogicalDevices.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListSubscribers'): Subscribers.FromString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): PacketIn.FromString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): NullMessage.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): NullMessage.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): NullMessage.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateSubscriber'): Subscriber.FromString,
-  }
-  cardinalities = {
-    'CreateSubscriber': cardinality.Cardinality.UNARY_UNARY,
-    'DeleteSubscriber': cardinality.Cardinality.UNARY_UNARY,
-    'GetLogicalDevice': cardinality.Cardinality.UNARY_UNARY,
-    'GetSubscriber': cardinality.Cardinality.UNARY_UNARY,
-    'ListDeviceFlowGroups': cardinality.Cardinality.UNARY_UNARY,
-    'ListDeviceFlows': cardinality.Cardinality.UNARY_UNARY,
-    'ListLogicalDevicePorts': cardinality.Cardinality.UNARY_UNARY,
-    'ListLogicalDevices': cardinality.Cardinality.UNARY_UNARY,
-    'ListSubscribers': cardinality.Cardinality.UNARY_UNARY,
-    'ReceivePacketsIn': cardinality.Cardinality.UNARY_STREAM,
-    'StreamPacketsOut': cardinality.Cardinality.STREAM_UNARY,
-    'UpdateFlowTable': cardinality.Cardinality.UNARY_UNARY,
-    'UpdateGroupTable': cardinality.Cardinality.UNARY_UNARY,
-    'UpdateSubscriber': cardinality.Cardinality.UNARY_UNARY,
-  }
-  stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
-  return beta_implementations.dynamic_stub(channel, 'voltha.VolthaLogicalLayer', cardinalities, options=stub_options)
-
-
-class ExampleServiceStub(object):
-  """(placeholder) This is an example service
-  """
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.CreateAddress = channel.unary_unary(
-        '/voltha.ExampleService/CreateAddress',
-        request_serializer=Address.SerializeToString,
-        response_deserializer=Address.FromString,
-        )
-    self.GetAddress = channel.unary_unary(
-        '/voltha.ExampleService/GetAddress',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=Address.FromString,
-        )
-    self.UpdateAddress = channel.unary_unary(
-        '/voltha.ExampleService/UpdateAddress',
-        request_serializer=Address.SerializeToString,
-        response_deserializer=Address.FromString,
-        )
-    self.DeleteAddress = channel.unary_unary(
-        '/voltha.ExampleService/DeleteAddress',
-        request_serializer=ID.SerializeToString,
-        response_deserializer=NullMessage.FromString,
-        )
-    self.ListAddresses = channel.unary_unary(
-        '/voltha.ExampleService/ListAddresses',
-        request_serializer=NullMessage.SerializeToString,
-        response_deserializer=Addresses.FromString,
-        )
-
-
-class ExampleServiceServicer(object):
-  """(placeholder) This is an example service
-  """
-
-  def CreateAddress(self, request, context):
-    """Create an address record
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def GetAddress(self, request, context):
-    """Return an address by ID
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def UpdateAddress(self, request, context):
-    """Update an existing address record by ID
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def DeleteAddress(self, request, context):
-    """Delete an address record by ID
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ListAddresses(self, request, context):
-    """Return a bit more complex objects
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-
-def add_ExampleServiceServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'CreateAddress': grpc.unary_unary_rpc_method_handler(
-          servicer.CreateAddress,
-          request_deserializer=Address.FromString,
-          response_serializer=Address.SerializeToString,
-      ),
-      'GetAddress': grpc.unary_unary_rpc_method_handler(
-          servicer.GetAddress,
-          request_deserializer=ID.FromString,
-          response_serializer=Address.SerializeToString,
-      ),
-      'UpdateAddress': grpc.unary_unary_rpc_method_handler(
-          servicer.UpdateAddress,
-          request_deserializer=Address.FromString,
-          response_serializer=Address.SerializeToString,
-      ),
-      'DeleteAddress': grpc.unary_unary_rpc_method_handler(
-          servicer.DeleteAddress,
-          request_deserializer=ID.FromString,
-          response_serializer=NullMessage.SerializeToString,
-      ),
-      'ListAddresses': grpc.unary_unary_rpc_method_handler(
-          servicer.ListAddresses,
-          request_deserializer=NullMessage.FromString,
-          response_serializer=Addresses.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'voltha.ExampleService', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaExampleServiceServicer(object):
-  """(placeholder) This is an example service
-  """
-  def CreateAddress(self, request, context):
-    """Create an address record
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def GetAddress(self, request, context):
-    """Return an address by ID
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def UpdateAddress(self, request, context):
-    """Update an existing address record by ID
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def DeleteAddress(self, request, context):
-    """Delete an address record by ID
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ListAddresses(self, request, context):
-    """Return a bit more complex objects
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaExampleServiceStub(object):
-  """(placeholder) This is an example service
-  """
-  def CreateAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Create an address record
-    """
-    raise NotImplementedError()
-  CreateAddress.future = None
-  def GetAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Return an address by ID
-    """
-    raise NotImplementedError()
-  GetAddress.future = None
-  def UpdateAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Update an existing address record by ID
-    """
-    raise NotImplementedError()
-  UpdateAddress.future = None
-  def DeleteAddress(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Delete an address record by ID
-    """
-    raise NotImplementedError()
-  DeleteAddress.future = None
-  def ListAddresses(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """Return a bit more complex objects
-    """
-    raise NotImplementedError()
-  ListAddresses.future = None
-
-
-def beta_create_ExampleService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('voltha.ExampleService', 'CreateAddress'): Address.FromString,
-    ('voltha.ExampleService', 'DeleteAddress'): ID.FromString,
-    ('voltha.ExampleService', 'GetAddress'): ID.FromString,
-    ('voltha.ExampleService', 'ListAddresses'): NullMessage.FromString,
-    ('voltha.ExampleService', 'UpdateAddress'): Address.FromString,
-  }
-  response_serializers = {
-    ('voltha.ExampleService', 'CreateAddress'): Address.SerializeToString,
-    ('voltha.ExampleService', 'DeleteAddress'): NullMessage.SerializeToString,
-    ('voltha.ExampleService', 'GetAddress'): Address.SerializeToString,
-    ('voltha.ExampleService', 'ListAddresses'): Addresses.SerializeToString,
-    ('voltha.ExampleService', 'UpdateAddress'): Address.SerializeToString,
-  }
-  method_implementations = {
-    ('voltha.ExampleService', 'CreateAddress'): face_utilities.unary_unary_inline(servicer.CreateAddress),
-    ('voltha.ExampleService', 'DeleteAddress'): face_utilities.unary_unary_inline(servicer.DeleteAddress),
-    ('voltha.ExampleService', 'GetAddress'): face_utilities.unary_unary_inline(servicer.GetAddress),
-    ('voltha.ExampleService', 'ListAddresses'): face_utilities.unary_unary_inline(servicer.ListAddresses),
-    ('voltha.ExampleService', 'UpdateAddress'): face_utilities.unary_unary_inline(servicer.UpdateAddress),
-  }
-  server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
-  return beta_implementations.server(method_implementations, options=server_options)
-
-
-def beta_create_ExampleService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
-  request_serializers = {
-    ('voltha.ExampleService', 'CreateAddress'): Address.SerializeToString,
-    ('voltha.ExampleService', 'DeleteAddress'): ID.SerializeToString,
-    ('voltha.ExampleService', 'GetAddress'): ID.SerializeToString,
-    ('voltha.ExampleService', 'ListAddresses'): NullMessage.SerializeToString,
-    ('voltha.ExampleService', 'UpdateAddress'): Address.SerializeToString,
-  }
-  response_deserializers = {
-    ('voltha.ExampleService', 'CreateAddress'): Address.FromString,
-    ('voltha.ExampleService', 'DeleteAddress'): NullMessage.FromString,
-    ('voltha.ExampleService', 'GetAddress'): Address.FromString,
-    ('voltha.ExampleService', 'ListAddresses'): Addresses.FromString,
-    ('voltha.ExampleService', 'UpdateAddress'): Address.FromString,
-  }
-  cardinalities = {
-    'CreateAddress': cardinality.Cardinality.UNARY_UNARY,
-    'DeleteAddress': cardinality.Cardinality.UNARY_UNARY,
-    'GetAddress': cardinality.Cardinality.UNARY_UNARY,
-    'ListAddresses': cardinality.Cardinality.UNARY_UNARY,
-    'UpdateAddress': cardinality.Cardinality.UNARY_UNARY,
-  }
-  stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
-  return beta_implementations.dynamic_stub(channel, 'voltha.ExampleService', cardinalities, options=stub_options)
-
-
-class OpenFlowStub(object):
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.GetHello = channel.unary_unary(
-        '/voltha.OpenFlow/GetHello',
-        request_serializer=openflow__13__pb2.ofp_hello.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_hello.FromString,
-        )
-    self.EchoRequest = channel.unary_unary(
-        '/voltha.OpenFlow/EchoRequest',
-        request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_header.FromString,
-        )
-    self.ExperimenterRequest = channel.unary_unary(
-        '/voltha.OpenFlow/ExperimenterRequest',
-        request_serializer=openflow__13__pb2.ofp_experimenter_header.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_experimenter_header.FromString,
-        )
-    self.GetSwitchFeatures = channel.unary_unary(
-        '/voltha.OpenFlow/GetSwitchFeatures',
-        request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_switch_features.FromString,
-        )
-    self.GetSwitchConfig = channel.unary_unary(
-        '/voltha.OpenFlow/GetSwitchConfig',
-        request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_switch_config.FromString,
-        )
-    self.SetConfig = channel.unary_unary(
-        '/voltha.OpenFlow/SetConfig',
-        request_serializer=openflow__13__pb2.ofp_switch_config.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_header.FromString,
-        )
-    self.ReceivePacketInMessages = channel.unary_stream(
-        '/voltha.OpenFlow/ReceivePacketInMessages',
-        request_serializer=openflow__13__pb2.ofp_header.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_packet_in.FromString,
-        )
-    self.SendPacketOutMessages = channel.unary_unary(
-        '/voltha.OpenFlow/SendPacketOutMessages',
-        request_serializer=openflow__13__pb2.ofp_packet_out.SerializeToString,
-        response_deserializer=openflow__13__pb2.ofp_header.FromString,
-        )
-
-
-class OpenFlowServicer(object):
-
-  def GetHello(self, request, context):
-    """
-    Hello message handshake, initiated by the client (controller)
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def EchoRequest(self, request, context):
-    """
-    Echo request / reply, initiated by the client (controller)
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ExperimenterRequest(self, request, context):
-    """
-    Experimental (extension) RPC
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def GetSwitchFeatures(self, request, context):
-    """
-    Get Switch Features
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def GetSwitchConfig(self, request, context):
-    """
-    Get Switch Config
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def SetConfig(self, request, context):
-    """
-    Set Config
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ReceivePacketInMessages(self, request, context):
-    """
-    Receive Packet-In messages
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def SendPacketOutMessages(self, request, context):
-    """
-    Send Packet-Out messages
-    TODO http option
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-
-def add_OpenFlowServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'GetHello': grpc.unary_unary_rpc_method_handler(
-          servicer.GetHello,
-          request_deserializer=openflow__13__pb2.ofp_hello.FromString,
-          response_serializer=openflow__13__pb2.ofp_hello.SerializeToString,
-      ),
-      'EchoRequest': grpc.unary_unary_rpc_method_handler(
-          servicer.EchoRequest,
-          request_deserializer=openflow__13__pb2.ofp_header.FromString,
-          response_serializer=openflow__13__pb2.ofp_header.SerializeToString,
-      ),
-      'ExperimenterRequest': grpc.unary_unary_rpc_method_handler(
-          servicer.ExperimenterRequest,
-          request_deserializer=openflow__13__pb2.ofp_experimenter_header.FromString,
-          response_serializer=openflow__13__pb2.ofp_experimenter_header.SerializeToString,
-      ),
-      'GetSwitchFeatures': grpc.unary_unary_rpc_method_handler(
-          servicer.GetSwitchFeatures,
-          request_deserializer=openflow__13__pb2.ofp_header.FromString,
-          response_serializer=openflow__13__pb2.ofp_switch_features.SerializeToString,
-      ),
-      'GetSwitchConfig': grpc.unary_unary_rpc_method_handler(
-          servicer.GetSwitchConfig,
-          request_deserializer=openflow__13__pb2.ofp_header.FromString,
-          response_serializer=openflow__13__pb2.ofp_switch_config.SerializeToString,
-      ),
-      'SetConfig': grpc.unary_unary_rpc_method_handler(
-          servicer.SetConfig,
-          request_deserializer=openflow__13__pb2.ofp_switch_config.FromString,
-          response_serializer=openflow__13__pb2.ofp_header.SerializeToString,
-      ),
-      'ReceivePacketInMessages': grpc.unary_stream_rpc_method_handler(
-          servicer.ReceivePacketInMessages,
-          request_deserializer=openflow__13__pb2.ofp_header.FromString,
-          response_serializer=openflow__13__pb2.ofp_packet_in.SerializeToString,
-      ),
-      'SendPacketOutMessages': grpc.unary_unary_rpc_method_handler(
-          servicer.SendPacketOutMessages,
-          request_deserializer=openflow__13__pb2.ofp_packet_out.FromString,
-          response_serializer=openflow__13__pb2.ofp_header.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'voltha.OpenFlow', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaOpenFlowServicer(object):
-  def GetHello(self, request, context):
-    """
-    Hello message handshake, initiated by the client (controller)
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def EchoRequest(self, request, context):
-    """
-    Echo request / reply, initiated by the client (controller)
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ExperimenterRequest(self, request, context):
-    """
-    Experimental (extension) RPC
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def GetSwitchFeatures(self, request, context):
-    """
-    Get Switch Features
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def GetSwitchConfig(self, request, context):
-    """
-    Get Switch Config
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def SetConfig(self, request, context):
-    """
-    Set Config
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ReceivePacketInMessages(self, request, context):
-    """
-    Receive Packet-In messages
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def SendPacketOutMessages(self, request, context):
-    """
-    Send Packet-Out messages
-    TODO http option
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaOpenFlowStub(object):
-  def GetHello(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Hello message handshake, initiated by the client (controller)
-    TODO http option
-    """
-    raise NotImplementedError()
-  GetHello.future = None
-  def EchoRequest(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Echo request / reply, initiated by the client (controller)
-    TODO http option
-    """
-    raise NotImplementedError()
-  EchoRequest.future = None
-  def ExperimenterRequest(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Experimental (extension) RPC
-    TODO http option
-    """
-    raise NotImplementedError()
-  ExperimenterRequest.future = None
-  def GetSwitchFeatures(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Get Switch Features
-    TODO http option
-    """
-    raise NotImplementedError()
-  GetSwitchFeatures.future = None
-  def GetSwitchConfig(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Get Switch Config
-    TODO http option
-    """
-    raise NotImplementedError()
-  GetSwitchConfig.future = None
-  def SetConfig(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Set Config
-    TODO http option
-    """
-    raise NotImplementedError()
-  SetConfig.future = None
-  def ReceivePacketInMessages(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Receive Packet-In messages
-    TODO http option
-    """
-    raise NotImplementedError()
-  def SendPacketOutMessages(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """
-    Send Packet-Out messages
-    TODO http option
-    """
-    raise NotImplementedError()
-  SendPacketOutMessages.future = None
-
-
-def beta_create_OpenFlow_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.FromString,
-    ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.FromString,
-    ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.FromString,
-    ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_header.FromString,
-    ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_header.FromString,
-    ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_header.FromString,
-    ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_packet_out.FromString,
-    ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_switch_config.FromString,
-  }
-  response_serializers = {
-    ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.SerializeToString,
-    ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.SerializeToString,
-    ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.SerializeToString,
-    ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_switch_config.SerializeToString,
-    ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_switch_features.SerializeToString,
-    ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_packet_in.SerializeToString,
-    ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_header.SerializeToString,
-    ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_header.SerializeToString,
-  }
-  method_implementations = {
-    ('voltha.OpenFlow', 'EchoRequest'): face_utilities.unary_unary_inline(servicer.EchoRequest),
-    ('voltha.OpenFlow', 'ExperimenterRequest'): face_utilities.unary_unary_inline(servicer.ExperimenterRequest),
-    ('voltha.OpenFlow', 'GetHello'): face_utilities.unary_unary_inline(servicer.GetHello),
-    ('voltha.OpenFlow', 'GetSwitchConfig'): face_utilities.unary_unary_inline(servicer.GetSwitchConfig),
-    ('voltha.OpenFlow', 'GetSwitchFeatures'): face_utilities.unary_unary_inline(servicer.GetSwitchFeatures),
-    ('voltha.OpenFlow', 'ReceivePacketInMessages'): face_utilities.unary_stream_inline(servicer.ReceivePacketInMessages),
-    ('voltha.OpenFlow', 'SendPacketOutMessages'): face_utilities.unary_unary_inline(servicer.SendPacketOutMessages),
-    ('voltha.OpenFlow', 'SetConfig'): face_utilities.unary_unary_inline(servicer.SetConfig),
-  }
-  server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
-  return beta_implementations.server(method_implementations, options=server_options)
-
-
-def beta_create_OpenFlow_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
-  request_serializers = {
-    ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.SerializeToString,
-    ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.SerializeToString,
-    ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.SerializeToString,
-    ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_header.SerializeToString,
-    ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_header.SerializeToString,
-    ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_header.SerializeToString,
-    ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_packet_out.SerializeToString,
-    ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_switch_config.SerializeToString,
-  }
-  response_deserializers = {
-    ('voltha.OpenFlow', 'EchoRequest'): openflow__13__pb2.ofp_header.FromString,
-    ('voltha.OpenFlow', 'ExperimenterRequest'): openflow__13__pb2.ofp_experimenter_header.FromString,
-    ('voltha.OpenFlow', 'GetHello'): openflow__13__pb2.ofp_hello.FromString,
-    ('voltha.OpenFlow', 'GetSwitchConfig'): openflow__13__pb2.ofp_switch_config.FromString,
-    ('voltha.OpenFlow', 'GetSwitchFeatures'): openflow__13__pb2.ofp_switch_features.FromString,
-    ('voltha.OpenFlow', 'ReceivePacketInMessages'): openflow__13__pb2.ofp_packet_in.FromString,
-    ('voltha.OpenFlow', 'SendPacketOutMessages'): openflow__13__pb2.ofp_header.FromString,
-    ('voltha.OpenFlow', 'SetConfig'): openflow__13__pb2.ofp_header.FromString,
-  }
-  cardinalities = {
-    'EchoRequest': cardinality.Cardinality.UNARY_UNARY,
-    'ExperimenterRequest': cardinality.Cardinality.UNARY_UNARY,
-    'GetHello': cardinality.Cardinality.UNARY_UNARY,
-    'GetSwitchConfig': cardinality.Cardinality.UNARY_UNARY,
-    'GetSwitchFeatures': cardinality.Cardinality.UNARY_UNARY,
-    'ReceivePacketInMessages': cardinality.Cardinality.UNARY_STREAM,
-    'SendPacketOutMessages': cardinality.Cardinality.UNARY_UNARY,
-    'SetConfig': cardinality.Cardinality.UNARY_UNARY,
-  }
-  stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
-  return beta_implementations.dynamic_stub(channel, 'voltha.OpenFlow', cardinalities, options=stub_options)
-# @@protoc_insertion_point(module_scope)
