diff --git a/ofagent/connection_mgr.py b/ofagent/connection_mgr.py
index 0bb2f89..b55d47a 100644
--- a/ofagent/connection_mgr.py
+++ b/ofagent/connection_mgr.py
@@ -23,14 +23,16 @@
 from common.utils.consulhelpers import get_endpoint_from_consul
 from structlog import get_logger
 import grpc
-from ofagent.protos import third_party
+# from ofagent.protos import third_party
 from protos import voltha_pb2
 from grpc_client import GrpcClient
 
 from agent import Agent
+from google.protobuf.empty_pb2 import Empty
+
 
 log = get_logger()
-_ = third_party
+# _ = third_party
 
 class ConnectionManager(object):
 
@@ -121,8 +123,7 @@
             log.info('Retrieve devices from voltha')
             try:
                 stub = voltha_pb2.VolthaLogicalLayerStub(self.channel)
-                devices = stub.ListLogicalDevices(
-                    voltha_pb2.NullMessage()).items
+                devices = stub.ListLogicalDevices(Empty()).items
                 for device in devices:
                     log.info("Devices {} -> {}".format(device.id,
                                                             device.datapath_id))
diff --git a/ofagent/grpc_client.py b/ofagent/grpc_client.py
index 5b6b0a8..a4475b5 100644
--- a/ofagent/grpc_client.py
+++ b/ofagent/grpc_client.py
@@ -27,7 +27,8 @@
 from twisted.internet.defer import inlineCallbacks, returnValue, DeferredQueue
 
 from protos.voltha_pb2 import ID, VolthaLogicalLayerStub, FlowTableUpdate, \
-    GroupTableUpdate, NullMessage, PacketOut
+    GroupTableUpdate, PacketOut
+from google.protobuf import empty_pb2
 
 
 log = get_logger()
@@ -81,7 +82,7 @@
 
         def receive_packet_in_stream():
             streaming_rpc_method = self.logical_stub.ReceivePacketsIn
-            iterator = streaming_rpc_method(NullMessage())
+            iterator = streaming_rpc_method(empty_pb2.Empty())
             for packet_in in iterator:
                 reactor.callFromThread(self.packet_in_queue.put,
                                        packet_in)
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)
