diff --git a/.gitignore b/.gitignore
index 2b3e6ef..1e1f0e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,7 +32,7 @@
 
 # Protobuf output files
 voltha/**/*.desc
-ofagent/protos/**/*_pb2.py
+**/*_pb2.py
 
 # Editors
 *.bak
diff --git a/Makefile b/Makefile
index 9ca87aa..d6286bf 100644
--- a/Makefile
+++ b/Makefile
@@ -125,7 +125,7 @@
 	        uname -s > ${VENVDIR}/.built; \
 	    fi
 
-utest: venv
+utest: venv protos
 	@ echo "Executing all unit tests"
 	. ${VENVDIR}/bin/activate && \
 	    nosetests tests --exclude-dir=./tests/itests/
diff --git a/chameleon/protoc_plugins/descriptor.desc b/chameleon/protoc_plugins/descriptor.desc
deleted file mode 100644
index ac12c36..0000000
--- a/chameleon/protoc_plugins/descriptor.desc
+++ /dev/null
Binary files differ
diff --git a/chameleon/protos/Makefile b/chameleon/protos/Makefile
index 9222ab1..cc5b3e8 100644
--- a/chameleon/protos/Makefile
+++ b/chameleon/protos/Makefile
@@ -22,7 +22,7 @@
 
 default: build
 
-PROTO_FILES := $(wildcard *.proto)
+PROTO_FILES := $(wildcard *.proto) $(wildcard third_party/google/api/*proto)
 PROTO_PB2_FILES := $(foreach f,$(PROTO_FILES),$(subst .proto,_pb2.py,$(f)))
 PROTO_DESC_FILES := $(foreach f,$(PROTO_FILES),$(subst .proto,.desc,$(f)))
 
@@ -35,6 +35,7 @@
 	@echo "Building protocol buffer artifacts from $<"
 	env LD_LIBRARY_PATH=$(PROTOC_LIBDIR) python -m grpc.tools.protoc \
 	    -I. \
+	    -I./third_party \
 	    --python_out=. \
 	    --grpc_python_out=. \
 	    $<
diff --git a/chameleon/protos/schema.desc b/chameleon/protos/schema.desc
deleted file mode 100644
index 3cb025f..0000000
--- a/chameleon/protos/schema.desc
+++ /dev/null
Binary files differ
diff --git a/chameleon/protos/schema_pb2.py b/chameleon/protos/schema_pb2.py
deleted file mode 100644
index 6f45cc6..0000000
--- a/chameleon/protos/schema_pb2.py
+++ /dev/null
@@ -1,246 +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.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='schema.proto',
-  package='schema',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0cschema.proto\x12\x06schema\x1a\x1bgoogle/protobuf/empty.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\"B\n\x07Schemas\x12!\n\x06protos\x18\x01 \x03(\x0b\x32\x11.schema.ProtoFile\x12\x14\n\x0cswagger_from\x18\x02 \x01(\t2G\n\rSchemaService\x12\x36\n\tGetSchema\x12\x16.google.protobuf.Empty\x1a\x0f.schema.Schemas\"\x00\x62\x06proto3')
-  ,
-  dependencies=[google_dot_protobuf_dot_empty__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=53,
-  serialized_end=118,
-)
-
-
-_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),
-    _descriptor.FieldDescriptor(
-      name='swagger_from', full_name='schema.Schemas.swagger_from', 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=120,
-  serialized_end=186,
-)
-
-_SCHEMAS.fields_by_name['protos'].message_type = _PROTOFILE
-DESCRIPTOR.message_types_by_name['ProtoFile'] = _PROTOFILE
-DESCRIPTOR.message_types_by_name['Schemas'] = _SCHEMAS
-
-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)
-
-
-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=google_dot_protobuf_dot_empty__pb2.Empty.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=google_dot_protobuf_dot_empty__pb2.Empty.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):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This class was generated
-  only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
-  """Schema services
-  """
-  def GetSchema(self, request, context):
-    """Return active grpc schemas
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaSchemaServiceStub(object):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This class was generated
-  only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
-  """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):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This function was
-  generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
-  request_deserializers = {
-    ('schema.SchemaService', 'GetSchema'): google_dot_protobuf_dot_empty__pb2.Empty.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):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This function was
-  generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
-  request_serializers = {
-    ('schema.SchemaService', 'GetSchema'): google_dot_protobuf_dot_empty__pb2.Empty.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/chameleon/protos/third_party/google/api/annotations.desc b/chameleon/protos/third_party/google/api/annotations.desc
deleted file mode 100644
index d159f06..0000000
--- a/chameleon/protos/third_party/google/api/annotations.desc
+++ /dev/null
Binary files differ
diff --git a/chameleon/protos/third_party/google/api/annotations_pb2.py b/chameleon/protos/third_party/google/api/annotations_pb2.py
deleted file mode 100644
index 2121854..0000000
--- a/chameleon/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/chameleon/protos/third_party/google/api/http.desc b/chameleon/protos/third_party/google/api/http.desc
deleted file mode 100644
index 7b2513a..0000000
--- a/chameleon/protos/third_party/google/api/http.desc
+++ /dev/null
Binary files differ
diff --git a/chameleon/protos/third_party/google/api/http_pb2.py b/chameleon/protos/third_party/google/api/http_pb2.py
deleted file mode 100644
index b3abb3f..0000000
--- a/chameleon/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/experiments/addressbook_pb2.py b/experiments/addressbook_pb2.py
deleted file mode 100644
index e545fb3..0000000
--- a/experiments/addressbook_pb2.py
+++ /dev/null
@@ -1,206 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: addressbook.proto
-
-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='addressbook.proto',
-  package='tutorial',
-  syntax='proto3',
-  serialized_pb=b'\n\x11\x61\x64\x64ressbook.proto\x12\x08tutorial\"\xd5\x01\n\x06Person\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x05\x12\r\n\x05\x65mail\x18\x03 \x01(\t\x12,\n\x06phones\x18\x04 \x03(\x0b\x32\x1c.tutorial.Person.PhoneNumber\x1aG\n\x0bPhoneNumber\x12\x0e\n\x06number\x18\x01 \x01(\t\x12(\n\x04type\x18\x02 \x01(\x0e\x32\x1a.tutorial.Person.PhoneType\"+\n\tPhoneType\x12\n\n\x06MOBILE\x10\x00\x12\x08\n\x04HOME\x10\x01\x12\x08\n\x04WORK\x10\x02\"/\n\x0b\x41\x64\x64ressBook\x12 \n\x06people\x18\x01 \x03(\x0b\x32\x10.tutorial.PersonBP\n\x14\x63om.example.tutorialB\x11\x41\x64\x64ressBookProtos\xaa\x02$Google.Protobuf.Examples.AddressBookb\x06proto3'
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-_PERSON_PHONETYPE = _descriptor.EnumDescriptor(
-  name='PhoneType',
-  full_name='tutorial.Person.PhoneType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='MOBILE', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='HOME', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='WORK', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=202,
-  serialized_end=245,
-)
-_sym_db.RegisterEnumDescriptor(_PERSON_PHONETYPE)
-
-
-_PERSON_PHONENUMBER = _descriptor.Descriptor(
-  name='PhoneNumber',
-  full_name='tutorial.Person.PhoneNumber',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='number', full_name='tutorial.Person.PhoneNumber.number', 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='type', full_name='tutorial.Person.PhoneNumber.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=129,
-  serialized_end=200,
-)
-
-_PERSON = _descriptor.Descriptor(
-  name='Person',
-  full_name='tutorial.Person',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='name', full_name='tutorial.Person.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='id', full_name='tutorial.Person.id', 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='email', full_name='tutorial.Person.email', 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='phones', full_name='tutorial.Person.phones', 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=[_PERSON_PHONENUMBER, ],
-  enum_types=[
-    _PERSON_PHONETYPE,
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=32,
-  serialized_end=245,
-)
-
-
-_ADDRESSBOOK = _descriptor.Descriptor(
-  name='AddressBook',
-  full_name='tutorial.AddressBook',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='people', full_name='tutorial.AddressBook.people', 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=247,
-  serialized_end=294,
-)
-
-_PERSON_PHONENUMBER.fields_by_name['type'].enum_type = _PERSON_PHONETYPE
-_PERSON_PHONENUMBER.containing_type = _PERSON
-_PERSON.fields_by_name['phones'].message_type = _PERSON_PHONENUMBER
-_PERSON_PHONETYPE.containing_type = _PERSON
-_ADDRESSBOOK.fields_by_name['people'].message_type = _PERSON
-DESCRIPTOR.message_types_by_name['Person'] = _PERSON
-DESCRIPTOR.message_types_by_name['AddressBook'] = _ADDRESSBOOK
-
-Person = _reflection.GeneratedProtocolMessageType('Person', (_message.Message,), dict(
-
-  PhoneNumber = _reflection.GeneratedProtocolMessageType('PhoneNumber', (_message.Message,), dict(
-    DESCRIPTOR = _PERSON_PHONENUMBER,
-    __module__ = 'addressbook_pb2'
-    # @@protoc_insertion_point(class_scope:tutorial.Person.PhoneNumber)
-    ))
-  ,
-  DESCRIPTOR = _PERSON,
-  __module__ = 'addressbook_pb2'
-  # @@protoc_insertion_point(class_scope:tutorial.Person)
-  ))
-_sym_db.RegisterMessage(Person)
-_sym_db.RegisterMessage(Person.PhoneNumber)
-
-AddressBook = _reflection.GeneratedProtocolMessageType('AddressBook', (_message.Message,), dict(
-  DESCRIPTOR = _ADDRESSBOOK,
-  __module__ = 'addressbook_pb2'
-  # @@protoc_insertion_point(class_scope:tutorial.AddressBook)
-  ))
-_sym_db.RegisterMessage(AddressBook)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), b'\n\024com.example.tutorialB\021AddressBookProtos\252\002$Google.Protobuf.Examples.AddressBook')
-# @@protoc_insertion_point(module_scope)
diff --git a/experiments/openflow_13_pb2.py b/experiments/openflow_13_pb2.py
deleted file mode 100644
index 5cf78a8..0000000
--- a/experiments/openflow_13_pb2.py
+++ /dev/null
@@ -1,8250 +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.v13',
-  syntax='proto3',
-  serialized_pb=_b('\n\x11openflow_13.proto\x12\x0copenflow.v13\"H\n\nofp_header\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0b\n\x03xid\x18\x04 \x01(\r\"5\n\x15ofp_hello_elem_header\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\"M\n\x1cofp_hello_elem_versionbitmap\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x0f\n\x07\x62itmaps\x18\x03 \x03(\r\"l\n\tofp_hello\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x35\n\x08\x65lements\x18\x02 \x03(\x0b\x32#.openflow.v13.ofp_hello_elem_header\"c\n\x11ofp_switch_config\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x15\n\rmiss_send_len\x18\x03 \x01(\r\"[\n\rofp_table_mod\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x10\n\x08table_id\x18\x02 \x01(\r\x12\x0e\n\x06\x63onfig\x18\x03 \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\"\xa5\x01\n\x13ofp_switch_features\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x13\n\x0b\x64\x61tapath_id\x18\x02 \x01(\x04\x12\x11\n\tn_buffers\x18\x03 \x01(\r\x12\x10\n\x08n_tables\x18\x04 \x01(\r\x12\x14\n\x0c\x61uxiliary_id\x18\x05 \x01(\r\x12\x14\n\x0c\x63\x61pabilities\x18\x06 \x01(\r\"q\n\x0fofp_port_status\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0e\n\x06reason\x18\x02 \x01(\r\x12$\n\x04\x64\x65sc\x18\x03 \x01(\x0b\x32\x16.openflow.v13.ofp_port\"\x8b\x01\n\x0cofp_port_mod\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0f\n\x07port_no\x18\x02 \x01(\r\x12\x0f\n\x07hw_addr\x18\x03 \x03(\r\x12\x0e\n\x06\x63onfig\x18\x04 \x01(\r\x12\x0c\n\x04mask\x18\x05 \x01(\r\x12\x11\n\tadvertise\x18\x06 \x01(\r\"=\n\tofp_match\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x12\n\noxm_fields\x18\x03 \x03(\r\"G\n\x1bofp_oxm_experimenter_header\x12\x12\n\noxm_header\x18\x01 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x02 \x01(\r\".\n\x11ofp_action_header\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\"M\n\x11ofp_action_output\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x0f\n\x07max_len\x18\x04 \x01(\r\"B\n\x13ofp_action_mpls_ttl\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x10\n\x08mpls_ttl\x18\x03 \x01(\r\"?\n\x0fofp_action_push\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x11\n\tethertype\x18\x03 \x01(\r\"C\n\x13ofp_action_pop_mpls\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x11\n\tethertype\x18\x03 \x01(\r\"?\n\x10ofp_action_group\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x10\n\x08group_id\x18\x03 \x01(\r\">\n\x11ofp_action_nw_ttl\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x0e\n\x06nw_ttl\x18\x03 \x01(\r\"@\n\x14ofp_action_set_field\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\r\n\x05\x66ield\x18\x03 \x03(\r\"Q\n\x1eofp_action_experimenter_header\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x03 \x01(\r\",\n\x0fofp_instruction\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\"I\n\x1aofp_instruction_goto_table\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x10\n\x08table_id\x18\x03 \x01(\r\"d\n\x1eofp_instruction_write_metadata\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x10\n\x08metadata\x18\x03 \x01(\x04\x12\x15\n\rmetadata_mask\x18\x04 \x01(\x04\"f\n\x17ofp_instruction_actions\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x30\n\x07\x61\x63tions\x18\x03 \x03(\x0b\x32\x1f.openflow.v13.ofp_action_header\"D\n\x15ofp_instruction_meter\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x10\n\x08meter_id\x18\x03 \x01(\r\"O\n\x1cofp_instruction_experimenter\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x03 \x01(\r\"\xad\x02\n\x0cofp_flow_mod\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0e\n\x06\x63ookie\x18\x02 \x01(\x04\x12\x13\n\x0b\x63ookie_mask\x18\x03 \x01(\x04\x12\x10\n\x08table_id\x18\x04 \x01(\r\x12\x0f\n\x07\x63ommand\x18\x05 \x01(\r\x12\x14\n\x0cidle_timeout\x18\x06 \x01(\r\x12\x14\n\x0chard_timeout\x18\x07 \x01(\r\x12\x10\n\x08priority\x18\x08 \x01(\r\x12\x11\n\tbuffer_id\x18\t \x01(\r\x12\x10\n\x08out_port\x18\n \x01(\r\x12\x11\n\tout_group\x18\x0b \x01(\r\x12\r\n\x05\x66lags\x18\x0c \x01(\r\x12&\n\x05match\x18\r \x01(\x0b\x32\x17.openflow.v13.ofp_match\"\x84\x01\n\nofp_bucket\x12\x0b\n\x03len\x18\x01 \x01(\r\x12\x0e\n\x06weight\x18\x02 \x01(\r\x12\x12\n\nwatch_port\x18\x03 \x01(\r\x12\x13\n\x0bwatch_group\x18\x04 \x01(\r\x12\x30\n\x07\x61\x63tions\x18\x05 \x03(\x0b\x32\x1f.openflow.v13.ofp_action_header\"\x95\x01\n\rofp_group_mod\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\r\x12\x0c\n\x04type\x18\x03 \x01(\r\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12)\n\x07\x62uckets\x18\x05 \x03(\x0b\x32\x18.openflow.v13.ofp_bucket\"\xa5\x01\n\x0eofp_packet_out\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x11\n\tbuffer_id\x18\x02 \x01(\r\x12\x0f\n\x07in_port\x18\x03 \x01(\r\x12\x13\n\x0b\x61\x63tions_len\x18\x04 \x01(\r\x12\x30\n\x07\x61\x63tions\x18\x05 \x03(\x0b\x32\x1f.openflow.v13.ofp_action_header\"\xb9\x01\n\rofp_packet_in\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x11\n\tbuffer_id\x18\x02 \x01(\r\x12\x11\n\ttotal_len\x18\x03 \x01(\r\x12\x0e\n\x06reason\x18\x04 \x01(\r\x12\x10\n\x08table_id\x18\x05 \x01(\r\x12\x0e\n\x06\x63ookie\x18\x06 \x01(\x04\x12&\n\x05match\x18\x07 \x01(\x0b\x32\x17.openflow.v13.ofp_match\"\xab\x02\n\x10ofp_flow_removed\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0e\n\x06\x63ookie\x18\x02 \x01(\x04\x12\x10\n\x08priority\x18\x03 \x01(\r\x12\x0e\n\x06reason\x18\x04 \x01(\r\x12\x10\n\x08table_id\x18\x05 \x01(\r\x12\x14\n\x0c\x64uration_sec\x18\x06 \x01(\r\x12\x15\n\rduration_nsec\x18\x07 \x01(\r\x12\x14\n\x0cidle_timeout\x18\x08 \x01(\r\x12\x14\n\x0chard_timeout\x18\t \x01(\r\x12\x14\n\x0cpacket_count\x18\n \x01(\x04\x12\x12\n\nbyte_count\x18\x0b \x01(\x04\x12&\n\x05match\x18\x0c \x01(\x0b\x32\x17.openflow.v13.ofp_match\"T\n\x15ofp_meter_band_header\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\"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\"p\n\x1bofp_meter_band_experimenter\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\x14\n\x0c\x65xperimenter\x18\x05 \x01(\r\"\x9f\x01\n\rofp_meter_mod\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x10\n\x08meter_id\x18\x04 \x01(\r\x12\x32\n\x05\x62\x61nds\x18\x05 \x03(\x0b\x32#.openflow.v13.ofp_meter_band_header\"c\n\rofp_error_msg\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"\x8a\x01\n\x1aofp_error_experimenter_msg\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x10\n\x08\x65xp_type\x18\x03 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x04 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\"l\n\x15ofp_multipart_request\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04\x62ody\x18\x04 \x01(\x0c\"j\n\x13ofp_multipart_reply\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\r\n\x05\x66lags\x18\x03 \x01(\r\x12\x0c\n\x04\x62ody\x18\x04 \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\"\x9c\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\x17.openflow.v13.ofp_match\"\x8e\x02\n\x0eofp_flow_stats\x12\x0e\n\x06length\x18\x01 \x01(\r\x12\x10\n\x08table_id\x18\x02 \x01(\r\x12\x14\n\x0c\x64uration_sec\x18\x03 \x01(\r\x12\x15\n\rduration_nsec\x18\x04 \x01(\r\x12\x10\n\x08priority\x18\x05 \x01(\r\x12\x14\n\x0cidle_timeout\x18\x06 \x01(\r\x12\x14\n\x0chard_timeout\x18\x07 \x01(\r\x12\r\n\x05\x66lags\x18\x08 \x01(\r\x12\x0e\n\x06\x63ookie\x18\t \x01(\x04\x12\x14\n\x0cpacket_count\x18\n \x01(\x04\x12\x12\n\nbyte_count\x18\x0b \x01(\x04\x12&\n\x05match\x18\x0c \x01(\x0b\x32\x17.openflow.v13.ofp_match\"\xa1\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\x17.openflow.v13.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\"=\n\x1dofp_table_feature_prop_header\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\"{\n#ofp_table_feature_prop_instructions\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x36\n\x0finstruction_ids\x18\x03 \x03(\x0b\x32\x1d.openflow.v13.ofp_instruction\"Z\n\"ofp_table_feature_prop_next_tables\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x16\n\x0enext_table_ids\x18\x03 \x03(\r\"s\n\x1eofp_table_feature_prop_actions\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x33\n\naction_ids\x18\x03 \x03(\x0b\x32\x1f.openflow.v13.ofp_action_header\"K\n\x1aofp_table_feature_prop_oxm\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x0f\n\x07oxm_ids\x18\x03 \x03(\r\"\x86\x01\n#ofp_table_feature_prop_experimenter\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x14\n\x0c\x65xperimenter\x18\x03 \x01(\r\x12\x10\n\x08\x65xp_type\x18\x04 \x01(\r\x12\x19\n\x11\x65xperimenter_data\x18\x05 \x03(\r\"\xda\x01\n\x12ofp_table_features\x12\x0e\n\x06length\x18\x01 \x01(\r\x12\x10\n\x08table_id\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x16\n\x0emetadata_match\x18\x04 \x01(\x04\x12\x16\n\x0emetadata_write\x18\x05 \x01(\x04\x12\x0e\n\x06\x63onfig\x18\x06 \x01(\r\x12\x13\n\x0bmax_entries\x18\x07 \x01(\r\x12?\n\nproperties\x18\x08 \x03(\x0b\x32+.openflow.v13.ofp_table_feature_prop_header\"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\"\xd5\x01\n\x0fofp_group_stats\x12\x0e\n\x06length\x18\x01 \x01(\r\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12\x11\n\tref_count\x18\x03 \x01(\r\x12\x14\n\x0cpacket_count\x18\x04 \x01(\x04\x12\x12\n\nbyte_count\x18\x05 \x01(\x04\x12\x14\n\x0c\x64uration_sec\x18\x06 \x01(\r\x12\x15\n\rduration_nsec\x18\x07 \x01(\r\x12\x36\n\x0c\x62ucket_stats\x18\x08 \x03(\x0b\x32 .openflow.v13.ofp_bucket_counter\"x\n\x0eofp_group_desc\x12\x0e\n\x06length\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\r\x12\x0b\n\x03pad\x18\x03 \x01(\r\x12\x10\n\x08group_id\x18\x04 \x01(\r\x12)\n\x07\x62uckets\x18\x05 \x03(\x0b\x32\x18.openflow.v13.ofp_bucket\"^\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\"\xd9\x01\n\x0fofp_meter_stats\x12\x10\n\x08meter_id\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\x12\x12\n\nflow_count\x18\x03 \x01(\r\x12\x17\n\x0fpacket_in_count\x18\x04 \x01(\x04\x12\x15\n\rbyte_in_count\x18\x05 \x01(\x04\x12\x14\n\x0c\x64uration_sec\x18\x06 \x01(\r\x12\x15\n\rduration_nsec\x18\x07 \x01(\r\x12\x36\n\nband_stats\x18\x08 \x03(\x0b\x32\".openflow.v13.ofp_meter_band_stats\"w\n\x10ofp_meter_config\x12\x0e\n\x06length\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x10\n\x08meter_id\x18\x03 \x01(\r\x12\x32\n\x05\x62\x61nds\x18\x04 \x03(\x0b\x32#.openflow.v13.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\"y\n\x17ofp_experimenter_header\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x14\n\x0c\x65xperimenter\x18\x02 \x01(\r\x12\x10\n\x08\x65xp_type\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"6\n\x15ofp_queue_prop_header\x12\x10\n\x08property\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \x01(\r\"a\n\x17ofp_queue_prop_min_rate\x12\x38\n\x0bprop_header\x18\x01 \x01(\x0b\x32#.openflow.v13.ofp_queue_prop_header\x12\x0c\n\x04rate\x18\x02 \x01(\r\"a\n\x17ofp_queue_prop_max_rate\x12\x38\n\x0bprop_header\x18\x01 \x01(\x0b\x32#.openflow.v13.ofp_queue_prop_header\x12\x0c\n\x04rate\x18\x02 \x01(\r\"{\n\x1bofp_queue_prop_experimenter\x12\x38\n\x0bprop_header\x18\x01 \x01(\x0b\x32#.openflow.v13.ofp_queue_prop_header\x12\x14\n\x0c\x65xperimenter\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"x\n\x10ofp_packet_queue\x12\x10\n\x08queue_id\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x0b\n\x03len\x18\x03 \x01(\r\x12\x37\n\nproperties\x18\x04 \x03(\x0b\x32#.openflow.v13.ofp_queue_prop_header\"V\n\x1cofp_queue_get_config_request\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0c\n\x04port\x18\x02 \x01(\r\"\x84\x01\n\x1aofp_queue_get_config_reply\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0c\n\x04port\x18\x02 \x01(\r\x12.\n\x06queues\x18\x03 \x03(\x0b\x32\x1e.openflow.v13.ofp_packet_queue\"C\n\x14ofp_action_set_queue\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0b\n\x03len\x18\x02 \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\"a\n\x10ofp_role_request\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x0c\n\x04role\x18\x02 \x01(\r\x12\x15\n\rgeneration_id\x18\x03 \x01(\x04\"\x89\x01\n\x10ofp_async_config\x12(\n\x06header\x18\x01 \x01(\x0b\x32\x18.openflow.v13.ofp_header\x12\x16\n\x0epacket_in_mask\x18\x02 \x03(\r\x12\x18\n\x10port_status_mask\x18\x03 \x03(\r\x12\x19\n\x11\x66low_removed_mask\x18\x04 \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*\x91\x08\n\x14oxm_ofb_match_fields\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\x32\x8d\x05\n\x08OpenFlow\x12>\n\x08GetHello\x12\x17.openflow.v13.ofp_hello\x1a\x17.openflow.v13.ofp_hello\"\x00\x12\x43\n\x0b\x45\x63hoRequest\x12\x18.openflow.v13.ofp_header\x1a\x18.openflow.v13.ofp_header\"\x00\x12\x65\n\x13\x45xperimenterRequest\x12%.openflow.v13.ofp_experimenter_header\x1a%.openflow.v13.ofp_experimenter_header\"\x00\x12R\n\x11GetSwitchFeatures\x12\x18.openflow.v13.ofp_header\x1a!.openflow.v13.ofp_switch_features\"\x00\x12N\n\x0fGetSwitchConfig\x12\x18.openflow.v13.ofp_header\x1a\x1f.openflow.v13.ofp_switch_config\"\x00\x12H\n\tSetConfig\x12\x1f.openflow.v13.ofp_switch_config\x1a\x18.openflow.v13.ofp_header\"\x00\x12T\n\x17ReceivePacketInMessages\x12\x18.openflow.v13.ofp_header\x1a\x1b.openflow.v13.ofp_packet_in\"\x00\x30\x01\x12Q\n\x15SendPacketOutMessages\x12\x1c.openflow.v13.ofp_packet_out\x1a\x18.openflow.v13.ofp_header\"\x00\x62\x06proto3')
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-_OFP_PORT_NO = _descriptor.EnumDescriptor(
-  name='ofp_port_no',
-  full_name='openflow.v13.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=9338,
-  serialized_end=9551,
-)
-_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.v13.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=9554,
-  serialized_end=10266,
-)
-_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.v13.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=10268,
-  serialized_end=10335,
-)
-_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.v13.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=10337,
-  serialized_end=10438,
-)
-_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.v13.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=10440,
-  serialized_end=10504,
-)
-_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.v13.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=10506,
-  serialized_end=10568,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_TABLE)
-
-ofp_table = enum_type_wrapper.EnumTypeWrapper(_OFP_TABLE)
-_OFP_CAPABILITIES = _descriptor.EnumDescriptor(
-  name='ofp_capabilities',
-  full_name='openflow.v13.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=10571,
-  serialized_end=10758,
-)
-_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.v13.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=10760,
-  serialized_end=10878,
-)
-_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.v13.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=10880,
-  serialized_end=10971,
-)
-_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.v13.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=10974,
-  serialized_end=11323,
-)
-_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.v13.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=11325,
-  serialized_end=11393,
-)
-_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.v13.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=11395,
-  serialized_end=11446,
-)
-_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.v13.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=11448,
-  serialized_end=11555,
-)
-_sym_db.RegisterEnumDescriptor(_OFP_OXM_CLASS)
-
-ofp_oxm_class = enum_type_wrapper.EnumTypeWrapper(_OFP_OXM_CLASS)
-_OXM_OFB_MATCH_FIELDS = _descriptor.EnumDescriptor(
-  name='oxm_ofb_match_fields',
-  full_name='openflow.v13.oxm_ofb_match_fields',
-  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=11558,
-  serialized_end=12599,
-)
-_sym_db.RegisterEnumDescriptor(_OXM_OFB_MATCH_FIELDS)
-
-oxm_ofb_match_fields = enum_type_wrapper.EnumTypeWrapper(_OXM_OFB_MATCH_FIELDS)
-_OFP_VLAN_ID = _descriptor.EnumDescriptor(
-  name='ofp_vlan_id',
-  full_name='openflow.v13.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=12601,
-  serialized_end=12652,
-)
-_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.v13.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=12655,
-  serialized_end=12856,
-)
-_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.v13.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=12859,
-  serialized_end=13239,
-)
-_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.v13.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=13241,
-  serialized_end=13327,
-)
-_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.v13.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=13330,
-  serialized_end=13537,
-)
-_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.v13.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=13539,
-  serialized_end=13662,
-)
-_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.v13.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=13665,
-  serialized_end=13828,
-)
-_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.v13.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=13830,
-  serialized_end=13913,
-)
-_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.v13.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=13915,
-  serialized_end=13989,
-)
-_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.v13.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=13991,
-  serialized_end=14074,
-)
-_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.v13.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=14076,
-  serialized_end=14156,
-)
-_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.v13.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=14159,
-  serialized_end=14298,
-)
-_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.v13.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=14300,
-  serialized_end=14410,
-)
-_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.v13.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=14412,
-  serialized_end=14521,
-)
-_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.v13.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=14523,
-  serialized_end=14597,
-)
-_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.v13.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=14599,
-  serialized_end=14702,
-)
-_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.v13.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=14705,
-  serialized_end=15125,
-)
-_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.v13.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=15127,
-  serialized_end=15193,
-)
-_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.v13.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=15196,
-  serialized_end=15561,
-)
-_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.v13.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=15564,
-  serialized_end=15976,
-)
-_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.v13.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=15979,
-  serialized_end=16229,
-)
-_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.v13.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=16232,
-  serialized_end=16525,
-)
-_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.v13.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=16528,
-  serialized_end=16738,
-)
-_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.v13.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=16741,
-  serialized_end=17158,
-)
-_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.v13.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=17161,
-  serialized_end=17304,
-)
-_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.v13.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=17306,
-  serialized_end=17399,
-)
-_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.v13.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=17401,
-  serialized_end=17491,
-)
-_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.v13.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=17493,
-  serialized_end=17587,
-)
-_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.v13.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=17589,
-  serialized_end=17679,
-)
-_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.v13.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=17682,
-  serialized_end=18006,
-)
-_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.v13.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=18009,
-  serialized_end=18178,
-)
-_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.v13.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=18181,
-  serialized_end=18515,
-)
-_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.v13.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=18517,
-  serialized_end=18591,
-)
-_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.v13.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=18593,
-  serialized_end=18669,
-)
-_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.v13.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=18672,
-  serialized_end=19156,
-)
-_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.v13.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=19159,
-  serialized_end=19306,
-)
-_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.v13.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=19308,
-  serialized_end=19415,
-)
-_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.v13.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=19417,
-  serialized_end=19530,
-)
-_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.v13.ofp_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='version', full_name='openflow.v13.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.v13.ofp_header.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='length', full_name='openflow.v13.ofp_header.length', 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='xid', full_name='openflow.v13.ofp_header.xid', 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=35,
-  serialized_end=107,
-)
-
-
-_OFP_HELLO_ELEM_HEADER = _descriptor.Descriptor(
-  name='ofp_hello_elem_header',
-  full_name='openflow.v13.ofp_hello_elem_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_hello_elem_header.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='length', full_name='openflow.v13.ofp_hello_elem_header.length', 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=109,
-  serialized_end=162,
-)
-
-
-_OFP_HELLO_ELEM_VERSIONBITMAP = _descriptor.Descriptor(
-  name='ofp_hello_elem_versionbitmap',
-  full_name='openflow.v13.ofp_hello_elem_versionbitmap',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_hello_elem_versionbitmap.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='length', full_name='openflow.v13.ofp_hello_elem_versionbitmap.length', 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='bitmaps', full_name='openflow.v13.ofp_hello_elem_versionbitmap.bitmaps', 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=164,
-  serialized_end=241,
-)
-
-
-_OFP_HELLO = _descriptor.Descriptor(
-  name='ofp_hello',
-  full_name='openflow.v13.ofp_hello',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_hello.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='elements', full_name='openflow.v13.ofp_hello.elements', 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=243,
-  serialized_end=351,
-)
-
-
-_OFP_SWITCH_CONFIG = _descriptor.Descriptor(
-  name='ofp_switch_config',
-  full_name='openflow.v13.ofp_switch_config',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_switch_config.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='flags', full_name='openflow.v13.ofp_switch_config.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='miss_send_len', full_name='openflow.v13.ofp_switch_config.miss_send_len', 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=353,
-  serialized_end=452,
-)
-
-
-_OFP_TABLE_MOD = _descriptor.Descriptor(
-  name='ofp_table_mod',
-  full_name='openflow.v13.ofp_table_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_table_mod.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='table_id', full_name='openflow.v13.ofp_table_mod.table_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='config', full_name='openflow.v13.ofp_table_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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=454,
-  serialized_end=545,
-)
-
-
-_OFP_PORT = _descriptor.Descriptor(
-  name='ofp_port',
-  full_name='openflow.v13.ofp_port',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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=548,
-  serialized_end=743,
-)
-
-
-_OFP_SWITCH_FEATURES = _descriptor.Descriptor(
-  name='ofp_switch_features',
-  full_name='openflow.v13.ofp_switch_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_switch_features.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='datapath_id', full_name='openflow.v13.ofp_switch_features.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='n_buffers', full_name='openflow.v13.ofp_switch_features.n_buffers', 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='n_tables', full_name='openflow.v13.ofp_switch_features.n_tables', 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='auxiliary_id', full_name='openflow.v13.ofp_switch_features.auxiliary_id', 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='capabilities', full_name='openflow.v13.ofp_switch_features.capabilities', 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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=746,
-  serialized_end=911,
-)
-
-
-_OFP_PORT_STATUS = _descriptor.Descriptor(
-  name='ofp_port_status',
-  full_name='openflow.v13.ofp_port_status',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_port_status.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='reason', full_name='openflow.v13.ofp_port_status.reason', 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='desc', full_name='openflow.v13.ofp_port_status.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=913,
-  serialized_end=1026,
-)
-
-
-_OFP_PORT_MOD = _descriptor.Descriptor(
-  name='ofp_port_mod',
-  full_name='openflow.v13.ofp_port_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_port_mod.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='port_no', full_name='openflow.v13.ofp_port_mod.port_no', 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='hw_addr', full_name='openflow.v13.ofp_port_mod.hw_addr', 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='config', full_name='openflow.v13.ofp_port_mod.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='mask', full_name='openflow.v13.ofp_port_mod.mask', 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='advertise', full_name='openflow.v13.ofp_port_mod.advertise', 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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1029,
-  serialized_end=1168,
-)
-
-
-_OFP_MATCH = _descriptor.Descriptor(
-  name='ofp_match',
-  full_name='openflow.v13.ofp_match',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_match.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='length', full_name='openflow.v13.ofp_match.length', 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='oxm_fields', full_name='openflow.v13.ofp_match.oxm_fields', 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=1170,
-  serialized_end=1231,
-)
-
-
-_OFP_OXM_EXPERIMENTER_HEADER = _descriptor.Descriptor(
-  name='ofp_oxm_experimenter_header',
-  full_name='openflow.v13.ofp_oxm_experimenter_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='oxm_header', full_name='openflow.v13.ofp_oxm_experimenter_header.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.v13.ofp_oxm_experimenter_header.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=1233,
-  serialized_end=1304,
-)
-
-
-_OFP_ACTION_HEADER = _descriptor.Descriptor(
-  name='ofp_action_header',
-  full_name='openflow.v13.ofp_action_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_header.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.v13.ofp_action_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=1306,
-  serialized_end=1352,
-)
-
-
-_OFP_ACTION_OUTPUT = _descriptor.Descriptor(
-  name='ofp_action_output',
-  full_name='openflow.v13.ofp_action_output',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_output.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.v13.ofp_action_output.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='port', full_name='openflow.v13.ofp_action_output.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='max_len', full_name='openflow.v13.ofp_action_output.max_len', 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=1354,
-  serialized_end=1431,
-)
-
-
-_OFP_ACTION_MPLS_TTL = _descriptor.Descriptor(
-  name='ofp_action_mpls_ttl',
-  full_name='openflow.v13.ofp_action_mpls_ttl',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_mpls_ttl.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.v13.ofp_action_mpls_ttl.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='mpls_ttl', full_name='openflow.v13.ofp_action_mpls_ttl.mpls_ttl', 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=1433,
-  serialized_end=1499,
-)
-
-
-_OFP_ACTION_PUSH = _descriptor.Descriptor(
-  name='ofp_action_push',
-  full_name='openflow.v13.ofp_action_push',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_push.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.v13.ofp_action_push.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='ethertype', full_name='openflow.v13.ofp_action_push.ethertype', 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=1501,
-  serialized_end=1564,
-)
-
-
-_OFP_ACTION_POP_MPLS = _descriptor.Descriptor(
-  name='ofp_action_pop_mpls',
-  full_name='openflow.v13.ofp_action_pop_mpls',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_pop_mpls.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.v13.ofp_action_pop_mpls.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='ethertype', full_name='openflow.v13.ofp_action_pop_mpls.ethertype', 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=1566,
-  serialized_end=1633,
-)
-
-
-_OFP_ACTION_GROUP = _descriptor.Descriptor(
-  name='ofp_action_group',
-  full_name='openflow.v13.ofp_action_group',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_group.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.v13.ofp_action_group.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='group_id', full_name='openflow.v13.ofp_action_group.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1635,
-  serialized_end=1698,
-)
-
-
-_OFP_ACTION_NW_TTL = _descriptor.Descriptor(
-  name='ofp_action_nw_ttl',
-  full_name='openflow.v13.ofp_action_nw_ttl',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_nw_ttl.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.v13.ofp_action_nw_ttl.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='nw_ttl', full_name='openflow.v13.ofp_action_nw_ttl.nw_ttl', 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=1700,
-  serialized_end=1762,
-)
-
-
-_OFP_ACTION_SET_FIELD = _descriptor.Descriptor(
-  name='ofp_action_set_field',
-  full_name='openflow.v13.ofp_action_set_field',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_set_field.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.v13.ofp_action_set_field.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='field', full_name='openflow.v13.ofp_action_set_field.field', 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=1764,
-  serialized_end=1828,
-)
-
-
-_OFP_ACTION_EXPERIMENTER_HEADER = _descriptor.Descriptor(
-  name='ofp_action_experimenter_header',
-  full_name='openflow.v13.ofp_action_experimenter_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_action_experimenter_header.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.v13.ofp_action_experimenter_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='experimenter', full_name='openflow.v13.ofp_action_experimenter_header.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1830,
-  serialized_end=1911,
-)
-
-
-_OFP_INSTRUCTION = _descriptor.Descriptor(
-  name='ofp_instruction',
-  full_name='openflow.v13.ofp_instruction',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.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='len', full_name='openflow.v13.ofp_instruction.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=1913,
-  serialized_end=1957,
-)
-
-
-_OFP_INSTRUCTION_GOTO_TABLE = _descriptor.Descriptor(
-  name='ofp_instruction_goto_table',
-  full_name='openflow.v13.ofp_instruction_goto_table',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_instruction_goto_table.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.v13.ofp_instruction_goto_table.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='table_id', full_name='openflow.v13.ofp_instruction_goto_table.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1959,
-  serialized_end=2032,
-)
-
-
-_OFP_INSTRUCTION_WRITE_METADATA = _descriptor.Descriptor(
-  name='ofp_instruction_write_metadata',
-  full_name='openflow.v13.ofp_instruction_write_metadata',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_instruction_write_metadata.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.v13.ofp_instruction_write_metadata.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='metadata', full_name='openflow.v13.ofp_instruction_write_metadata.metadata', 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_mask', full_name='openflow.v13.ofp_instruction_write_metadata.metadata_mask', 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=2034,
-  serialized_end=2134,
-)
-
-
-_OFP_INSTRUCTION_ACTIONS = _descriptor.Descriptor(
-  name='ofp_instruction_actions',
-  full_name='openflow.v13.ofp_instruction_actions',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_instruction_actions.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.v13.ofp_instruction_actions.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='actions', full_name='openflow.v13.ofp_instruction_actions.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2136,
-  serialized_end=2238,
-)
-
-
-_OFP_INSTRUCTION_METER = _descriptor.Descriptor(
-  name='ofp_instruction_meter',
-  full_name='openflow.v13.ofp_instruction_meter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_instruction_meter.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.v13.ofp_instruction_meter.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='meter_id', full_name='openflow.v13.ofp_instruction_meter.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2240,
-  serialized_end=2308,
-)
-
-
-_OFP_INSTRUCTION_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_instruction_experimenter',
-  full_name='openflow.v13.ofp_instruction_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_instruction_experimenter.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.v13.ofp_instruction_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='experimenter', full_name='openflow.v13.ofp_instruction_experimenter.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2310,
-  serialized_end=2389,
-)
-
-
-_OFP_FLOW_MOD = _descriptor.Descriptor(
-  name='ofp_flow_mod',
-  full_name='openflow.v13.ofp_flow_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_flow_mod.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='cookie', full_name='openflow.v13.ofp_flow_mod.cookie', 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='cookie_mask', full_name='openflow.v13.ofp_flow_mod.cookie_mask', 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='table_id', full_name='openflow.v13.ofp_flow_mod.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='command', full_name='openflow.v13.ofp_flow_mod.command', 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='idle_timeout', full_name='openflow.v13.ofp_flow_mod.idle_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='hard_timeout', full_name='openflow.v13.ofp_flow_mod.hard_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='priority', full_name='openflow.v13.ofp_flow_mod.priority', 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='buffer_id', full_name='openflow.v13.ofp_flow_mod.buffer_id', 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_port', full_name='openflow.v13.ofp_flow_mod.out_port', 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='out_group', full_name='openflow.v13.ofp_flow_mod.out_group', 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='flags', full_name='openflow.v13.ofp_flow_mod.flags', 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='match', full_name='openflow.v13.ofp_flow_mod.match', index=12,
-      number=13, 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=2392,
-  serialized_end=2693,
-)
-
-
-_OFP_BUCKET = _descriptor.Descriptor(
-  name='ofp_bucket',
-  full_name='openflow.v13.ofp_bucket',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='len', full_name='openflow.v13.ofp_bucket.len', 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='weight', full_name='openflow.v13.ofp_bucket.weight', 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_port', full_name='openflow.v13.ofp_bucket.watch_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='watch_group', full_name='openflow.v13.ofp_bucket.watch_group', 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='actions', full_name='openflow.v13.ofp_bucket.actions', index=4,
-      number=5, 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=2696,
-  serialized_end=2828,
-)
-
-
-_OFP_GROUP_MOD = _descriptor.Descriptor(
-  name='ofp_group_mod',
-  full_name='openflow.v13.ofp_group_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_group_mod.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='command', full_name='openflow.v13.ofp_group_mod.command', 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='type', full_name='openflow.v13.ofp_group_mod.type', 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='group_id', full_name='openflow.v13.ofp_group_mod.group_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='buckets', full_name='openflow.v13.ofp_group_mod.buckets', index=4,
-      number=5, 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=2831,
-  serialized_end=2980,
-)
-
-
-_OFP_PACKET_OUT = _descriptor.Descriptor(
-  name='ofp_packet_out',
-  full_name='openflow.v13.ofp_packet_out',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_packet_out.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='buffer_id', full_name='openflow.v13.ofp_packet_out.buffer_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='in_port', full_name='openflow.v13.ofp_packet_out.in_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='actions_len', full_name='openflow.v13.ofp_packet_out.actions_len', 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='actions', full_name='openflow.v13.ofp_packet_out.actions', index=4,
-      number=5, 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=2983,
-  serialized_end=3148,
-)
-
-
-_OFP_PACKET_IN = _descriptor.Descriptor(
-  name='ofp_packet_in',
-  full_name='openflow.v13.ofp_packet_in',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_packet_in.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='buffer_id', full_name='openflow.v13.ofp_packet_in.buffer_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='total_len', full_name='openflow.v13.ofp_packet_in.total_len', 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='reason', full_name='openflow.v13.ofp_packet_in.reason', 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_id', full_name='openflow.v13.ofp_packet_in.table_id', 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='cookie', full_name='openflow.v13.ofp_packet_in.cookie', 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='match', full_name='openflow.v13.ofp_packet_in.match', 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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3151,
-  serialized_end=3336,
-)
-
-
-_OFP_FLOW_REMOVED = _descriptor.Descriptor(
-  name='ofp_flow_removed',
-  full_name='openflow.v13.ofp_flow_removed',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_flow_removed.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='cookie', full_name='openflow.v13.ofp_flow_removed.cookie', 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='priority', full_name='openflow.v13.ofp_flow_removed.priority', 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='reason', full_name='openflow.v13.ofp_flow_removed.reason', 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_id', full_name='openflow.v13.ofp_flow_removed.table_id', 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_sec', full_name='openflow.v13.ofp_flow_removed.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.v13.ofp_flow_removed.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),
-    _descriptor.FieldDescriptor(
-      name='idle_timeout', full_name='openflow.v13.ofp_flow_removed.idle_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='hard_timeout', full_name='openflow.v13.ofp_flow_removed.hard_timeout', 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='packet_count', full_name='openflow.v13.ofp_flow_removed.packet_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='byte_count', full_name='openflow.v13.ofp_flow_removed.byte_count', 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='match', full_name='openflow.v13.ofp_flow_removed.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3339,
-  serialized_end=3638,
-)
-
-
-_OFP_METER_BAND_HEADER = _descriptor.Descriptor(
-  name='ofp_meter_band_header',
-  full_name='openflow.v13.ofp_meter_band_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_meter_band_header.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.v13.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.v13.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.v13.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=3640,
-  serialized_end=3724,
-)
-
-
-_OFP_METER_BAND_DROP = _descriptor.Descriptor(
-  name='ofp_meter_band_drop',
-  full_name='openflow.v13.ofp_meter_band_drop',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.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.v13.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.v13.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.v13.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=3726,
-  serialized_end=3808,
-)
-
-
-_OFP_METER_BAND_DSCP_REMARK = _descriptor.Descriptor(
-  name='ofp_meter_band_dscp_remark',
-  full_name='openflow.v13.ofp_meter_band_dscp_remark',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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=3810,
-  serialized_end=3919,
-)
-
-
-_OFP_METER_BAND_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_meter_band_experimenter',
-  full_name='openflow.v13.ofp_meter_band_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_meter_band_experimenter.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.v13.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.v13.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.v13.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.v13.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=3921,
-  serialized_end=4033,
-)
-
-
-_OFP_METER_MOD = _descriptor.Descriptor(
-  name='ofp_meter_mod',
-  full_name='openflow.v13.ofp_meter_mod',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_meter_mod.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='command', full_name='openflow.v13.ofp_meter_mod.command', 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='flags', full_name='openflow.v13.ofp_meter_mod.flags', 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='meter_id', full_name='openflow.v13.ofp_meter_mod.meter_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='bands', full_name='openflow.v13.ofp_meter_mod.bands', index=4,
-      number=5, 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=4036,
-  serialized_end=4195,
-)
-
-
-_OFP_ERROR_MSG = _descriptor.Descriptor(
-  name='ofp_error_msg',
-  full_name='openflow.v13.ofp_error_msg',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_error_msg.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='type', full_name='openflow.v13.ofp_error_msg.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='code', full_name='openflow.v13.ofp_error_msg.code', 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.v13.ofp_error_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=4197,
-  serialized_end=4296,
-)
-
-
-_OFP_ERROR_EXPERIMENTER_MSG = _descriptor.Descriptor(
-  name='ofp_error_experimenter_msg',
-  full_name='openflow.v13.ofp_error_experimenter_msg',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_error_experimenter_msg.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='type', full_name='openflow.v13.ofp_error_experimenter_msg.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='exp_type', full_name='openflow.v13.ofp_error_experimenter_msg.exp_type', 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='experimenter', full_name='openflow.v13.ofp_error_experimenter_msg.experimenter', 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='data', full_name='openflow.v13.ofp_error_experimenter_msg.data', index=4,
-      number=5, 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=4299,
-  serialized_end=4437,
-)
-
-
-_OFP_MULTIPART_REQUEST = _descriptor.Descriptor(
-  name='ofp_multipart_request',
-  full_name='openflow.v13.ofp_multipart_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_multipart_request.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='type', full_name='openflow.v13.ofp_multipart_request.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='flags', full_name='openflow.v13.ofp_multipart_request.flags', 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='body', full_name='openflow.v13.ofp_multipart_request.body', 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=4439,
-  serialized_end=4547,
-)
-
-
-_OFP_MULTIPART_REPLY = _descriptor.Descriptor(
-  name='ofp_multipart_reply',
-  full_name='openflow.v13.ofp_multipart_reply',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_multipart_reply.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='type', full_name='openflow.v13.ofp_multipart_reply.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='flags', full_name='openflow.v13.ofp_multipart_reply.flags', 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='body', full_name='openflow.v13.ofp_multipart_reply.body', 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=4549,
-  serialized_end=4655,
-)
-
-
-_OFP_DESC = _descriptor.Descriptor(
-  name='ofp_desc',
-  full_name='openflow.v13.ofp_desc',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='mfr_desc', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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=4657,
-  serialized_end=4756,
-)
-
-
-_OFP_FLOW_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_flow_stats_request',
-  full_name='openflow.v13.ofp_flow_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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=4759,
-  serialized_end=4915,
-)
-
-
-_OFP_FLOW_STATS = _descriptor.Descriptor(
-  name='ofp_flow_stats',
-  full_name='openflow.v13.ofp_flow_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='length', full_name='openflow.v13.ofp_flow_stats.length', 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='table_id', full_name='openflow.v13.ofp_flow_stats.table_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='duration_sec', full_name='openflow.v13.ofp_flow_stats.duration_sec', 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='duration_nsec', full_name='openflow.v13.ofp_flow_stats.duration_nsec', 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='priority', full_name='openflow.v13.ofp_flow_stats.priority', 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='idle_timeout', full_name='openflow.v13.ofp_flow_stats.idle_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='hard_timeout', full_name='openflow.v13.ofp_flow_stats.hard_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='flags', full_name='openflow.v13.ofp_flow_stats.flags', 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='cookie', full_name='openflow.v13.ofp_flow_stats.cookie', 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='packet_count', full_name='openflow.v13.ofp_flow_stats.packet_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='byte_count', full_name='openflow.v13.ofp_flow_stats.byte_count', 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='match', full_name='openflow.v13.ofp_flow_stats.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4918,
-  serialized_end=5188,
-)
-
-
-_OFP_AGGREGATE_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_aggregate_stats_request',
-  full_name='openflow.v13.ofp_aggregate_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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=5191,
-  serialized_end=5352,
-)
-
-
-_OFP_AGGREGATE_STATS_REPLY = _descriptor.Descriptor(
-  name='ofp_aggregate_stats_reply',
-  full_name='openflow.v13.ofp_aggregate_stats_reply',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow.v13.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.v13.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.v13.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=5354,
-  serialized_end=5443,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_HEADER = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_header',
-  full_name='openflow.v13.ofp_table_feature_prop_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_table_feature_prop_header.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='length', full_name='openflow.v13.ofp_table_feature_prop_header.length', 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=5445,
-  serialized_end=5506,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_INSTRUCTIONS = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_instructions',
-  full_name='openflow.v13.ofp_table_feature_prop_instructions',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_table_feature_prop_instructions.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='length', full_name='openflow.v13.ofp_table_feature_prop_instructions.length', 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='instruction_ids', full_name='openflow.v13.ofp_table_feature_prop_instructions.instruction_ids', 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=5508,
-  serialized_end=5631,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_NEXT_TABLES = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_next_tables',
-  full_name='openflow.v13.ofp_table_feature_prop_next_tables',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_table_feature_prop_next_tables.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='length', full_name='openflow.v13.ofp_table_feature_prop_next_tables.length', 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='next_table_ids', full_name='openflow.v13.ofp_table_feature_prop_next_tables.next_table_ids', 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=5633,
-  serialized_end=5723,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_ACTIONS = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_actions',
-  full_name='openflow.v13.ofp_table_feature_prop_actions',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_table_feature_prop_actions.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='length', full_name='openflow.v13.ofp_table_feature_prop_actions.length', 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='action_ids', full_name='openflow.v13.ofp_table_feature_prop_actions.action_ids', 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=5725,
-  serialized_end=5840,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_OXM = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_oxm',
-  full_name='openflow.v13.ofp_table_feature_prop_oxm',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_table_feature_prop_oxm.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='length', full_name='openflow.v13.ofp_table_feature_prop_oxm.length', 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='oxm_ids', full_name='openflow.v13.ofp_table_feature_prop_oxm.oxm_ids', 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=5842,
-  serialized_end=5917,
-)
-
-
-_OFP_TABLE_FEATURE_PROP_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_table_feature_prop_experimenter',
-  full_name='openflow.v13.ofp_table_feature_prop_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.ofp_table_feature_prop_experimenter.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='length', full_name='openflow.v13.ofp_table_feature_prop_experimenter.length', 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.v13.ofp_table_feature_prop_experimenter.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='exp_type', full_name='openflow.v13.ofp_table_feature_prop_experimenter.exp_type', 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_data', full_name='openflow.v13.ofp_table_feature_prop_experimenter.experimenter_data', index=4,
-      number=5, 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=5920,
-  serialized_end=6054,
-)
-
-
-_OFP_TABLE_FEATURES = _descriptor.Descriptor(
-  name='ofp_table_features',
-  full_name='openflow.v13.ofp_table_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='length', full_name='openflow.v13.ofp_table_features.length', 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='table_id', full_name='openflow.v13.ofp_table_features.table_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='name', full_name='openflow.v13.ofp_table_features.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='metadata_match', full_name='openflow.v13.ofp_table_features.metadata_match', 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='metadata_write', full_name='openflow.v13.ofp_table_features.metadata_write', 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='config', full_name='openflow.v13.ofp_table_features.config', 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='max_entries', full_name='openflow.v13.ofp_table_features.max_entries', 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='properties', full_name='openflow.v13.ofp_table_features.properties', index=7,
-      number=8, 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=6057,
-  serialized_end=6275,
-)
-
-
-_OFP_TABLE_STATS = _descriptor.Descriptor(
-  name='ofp_table_stats',
-  full_name='openflow.v13.ofp_table_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='table_id', full_name='openflow.v13.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.v13.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.v13.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.v13.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=6277,
-  serialized_end=6379,
-)
-
-
-_OFP_PORT_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_port_stats_request',
-  full_name='openflow.v13.ofp_port_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow.v13.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=6381,
-  serialized_end=6422,
-)
-
-
-_OFP_PORT_STATS = _descriptor.Descriptor(
-  name='ofp_port_stats',
-  full_name='openflow.v13.ofp_port_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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=6425,
-  serialized_end=6740,
-)
-
-
-_OFP_GROUP_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_group_stats_request',
-  full_name='openflow.v13.ofp_group_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='group_id', full_name='openflow.v13.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=6742,
-  serialized_end=6785,
-)
-
-
-_OFP_BUCKET_COUNTER = _descriptor.Descriptor(
-  name='ofp_bucket_counter',
-  full_name='openflow.v13.ofp_bucket_counter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow.v13.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.v13.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=6787,
-  serialized_end=6849,
-)
-
-
-_OFP_GROUP_STATS = _descriptor.Descriptor(
-  name='ofp_group_stats',
-  full_name='openflow.v13.ofp_group_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='length', full_name='openflow.v13.ofp_group_stats.length', 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='group_id', full_name='openflow.v13.ofp_group_stats.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='ref_count', full_name='openflow.v13.ofp_group_stats.ref_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),
-    _descriptor.FieldDescriptor(
-      name='packet_count', full_name='openflow.v13.ofp_group_stats.packet_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='byte_count', full_name='openflow.v13.ofp_group_stats.byte_count', 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.v13.ofp_group_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.v13.ofp_group_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),
-    _descriptor.FieldDescriptor(
-      name='bucket_stats', full_name='openflow.v13.ofp_group_stats.bucket_stats', index=7,
-      number=8, 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=6852,
-  serialized_end=7065,
-)
-
-
-_OFP_GROUP_DESC = _descriptor.Descriptor(
-  name='ofp_group_desc',
-  full_name='openflow.v13.ofp_group_desc',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='length', full_name='openflow.v13.ofp_group_desc.length', 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.v13.ofp_group_desc.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='pad', full_name='openflow.v13.ofp_group_desc.pad', 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='group_id', full_name='openflow.v13.ofp_group_desc.group_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='buckets', full_name='openflow.v13.ofp_group_desc.buckets', index=4,
-      number=5, 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=7067,
-  serialized_end=7187,
-)
-
-
-_OFP_GROUP_FEATURES = _descriptor.Descriptor(
-  name='ofp_group_features',
-  full_name='openflow.v13.ofp_group_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='types', full_name='openflow.v13.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.v13.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.v13.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.v13.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=7189,
-  serialized_end=7283,
-)
-
-
-_OFP_METER_MULTIPART_REQUEST = _descriptor.Descriptor(
-  name='ofp_meter_multipart_request',
-  full_name='openflow.v13.ofp_meter_multipart_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='meter_id', full_name='openflow.v13.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=7285,
-  serialized_end=7332,
-)
-
-
-_OFP_METER_BAND_STATS = _descriptor.Descriptor(
-  name='ofp_meter_band_stats',
-  full_name='openflow.v13.ofp_meter_band_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='packet_band_count', full_name='openflow.v13.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.v13.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=7334,
-  serialized_end=7408,
-)
-
-
-_OFP_METER_STATS = _descriptor.Descriptor(
-  name='ofp_meter_stats',
-  full_name='openflow.v13.ofp_meter_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='meter_id', full_name='openflow.v13.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='len', full_name='openflow.v13.ofp_meter_stats.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='flow_count', full_name='openflow.v13.ofp_meter_stats.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),
-    _descriptor.FieldDescriptor(
-      name='packet_in_count', full_name='openflow.v13.ofp_meter_stats.packet_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='byte_in_count', full_name='openflow.v13.ofp_meter_stats.byte_in_count', 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.v13.ofp_meter_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.v13.ofp_meter_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),
-    _descriptor.FieldDescriptor(
-      name='band_stats', full_name='openflow.v13.ofp_meter_stats.band_stats', index=7,
-      number=8, 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=7411,
-  serialized_end=7628,
-)
-
-
-_OFP_METER_CONFIG = _descriptor.Descriptor(
-  name='ofp_meter_config',
-  full_name='openflow.v13.ofp_meter_config',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='length', full_name='openflow.v13.ofp_meter_config.length', 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='flags', full_name='openflow.v13.ofp_meter_config.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.v13.ofp_meter_config.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.v13.ofp_meter_config.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=7630,
-  serialized_end=7749,
-)
-
-
-_OFP_METER_FEATURES = _descriptor.Descriptor(
-  name='ofp_meter_features',
-  full_name='openflow.v13.ofp_meter_features',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='max_meter', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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=7751,
-  serialized_end=7870,
-)
-
-
-_OFP_EXPERIMENTER_MULTIPART_HEADER = _descriptor.Descriptor(
-  name='ofp_experimenter_multipart_header',
-  full_name='openflow.v13.ofp_experimenter_multipart_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='experimenter', full_name='openflow.v13.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.v13.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.v13.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=7872,
-  serialized_end=7961,
-)
-
-
-_OFP_EXPERIMENTER_HEADER = _descriptor.Descriptor(
-  name='ofp_experimenter_header',
-  full_name='openflow.v13.ofp_experimenter_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_experimenter_header.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.v13.ofp_experimenter_header.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='exp_type', full_name='openflow.v13.ofp_experimenter_header.exp_type', 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.v13.ofp_experimenter_header.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=7963,
-  serialized_end=8084,
-)
-
-
-_OFP_QUEUE_PROP_HEADER = _descriptor.Descriptor(
-  name='ofp_queue_prop_header',
-  full_name='openflow.v13.ofp_queue_prop_header',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='property', full_name='openflow.v13.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.v13.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=8086,
-  serialized_end=8140,
-)
-
-
-_OFP_QUEUE_PROP_MIN_RATE = _descriptor.Descriptor(
-  name='ofp_queue_prop_min_rate',
-  full_name='openflow.v13.ofp_queue_prop_min_rate',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='prop_header', full_name='openflow.v13.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.v13.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=8142,
-  serialized_end=8239,
-)
-
-
-_OFP_QUEUE_PROP_MAX_RATE = _descriptor.Descriptor(
-  name='ofp_queue_prop_max_rate',
-  full_name='openflow.v13.ofp_queue_prop_max_rate',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='prop_header', full_name='openflow.v13.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.v13.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=8241,
-  serialized_end=8338,
-)
-
-
-_OFP_QUEUE_PROP_EXPERIMENTER = _descriptor.Descriptor(
-  name='ofp_queue_prop_experimenter',
-  full_name='openflow.v13.ofp_queue_prop_experimenter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='prop_header', full_name='openflow.v13.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.v13.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.v13.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=8340,
-  serialized_end=8463,
-)
-
-
-_OFP_PACKET_QUEUE = _descriptor.Descriptor(
-  name='ofp_packet_queue',
-  full_name='openflow.v13.ofp_packet_queue',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='queue_id', full_name='openflow.v13.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.v13.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='len', full_name='openflow.v13.ofp_packet_queue.len', 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='properties', full_name='openflow.v13.ofp_packet_queue.properties', 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=8465,
-  serialized_end=8585,
-)
-
-
-_OFP_QUEUE_GET_CONFIG_REQUEST = _descriptor.Descriptor(
-  name='ofp_queue_get_config_request',
-  full_name='openflow.v13.ofp_queue_get_config_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_queue_get_config_request.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='port', full_name='openflow.v13.ofp_queue_get_config_request.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8587,
-  serialized_end=8673,
-)
-
-
-_OFP_QUEUE_GET_CONFIG_REPLY = _descriptor.Descriptor(
-  name='ofp_queue_get_config_reply',
-  full_name='openflow.v13.ofp_queue_get_config_reply',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_queue_get_config_reply.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='port', full_name='openflow.v13.ofp_queue_get_config_reply.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='queues', full_name='openflow.v13.ofp_queue_get_config_reply.queues', 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=8676,
-  serialized_end=8808,
-)
-
-
-_OFP_ACTION_SET_QUEUE = _descriptor.Descriptor(
-  name='ofp_action_set_queue',
-  full_name='openflow.v13.ofp_action_set_queue',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='openflow.v13.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='len', full_name='openflow.v13.ofp_action_set_queue.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='queue_id', full_name='openflow.v13.ofp_action_set_queue.queue_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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=8810,
-  serialized_end=8877,
-)
-
-
-_OFP_QUEUE_STATS_REQUEST = _descriptor.Descriptor(
-  name='ofp_queue_stats_request',
-  full_name='openflow.v13.ofp_queue_stats_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow.v13.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.v13.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=8879,
-  serialized_end=8939,
-)
-
-
-_OFP_QUEUE_STATS = _descriptor.Descriptor(
-  name='ofp_queue_stats',
-  full_name='openflow.v13.ofp_queue_stats',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_no', full_name='openflow.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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=8942,
-  serialized_end=9096,
-)
-
-
-_OFP_ROLE_REQUEST = _descriptor.Descriptor(
-  name='ofp_role_request',
-  full_name='openflow.v13.ofp_role_request',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_role_request.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='role', full_name='openflow.v13.ofp_role_request.role', 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='generation_id', full_name='openflow.v13.ofp_role_request.generation_id', 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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=9098,
-  serialized_end=9195,
-)
-
-
-_OFP_ASYNC_CONFIG = _descriptor.Descriptor(
-  name='ofp_async_config',
-  full_name='openflow.v13.ofp_async_config',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='header', full_name='openflow.v13.ofp_async_config.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='packet_in_mask', full_name='openflow.v13.ofp_async_config.packet_in_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='port_status_mask', full_name='openflow.v13.ofp_async_config.port_status_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),
-    _descriptor.FieldDescriptor(
-      name='flow_removed_mask', full_name='openflow.v13.ofp_async_config.flow_removed_mask', 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=9198,
-  serialized_end=9335,
-)
-
-_OFP_HELLO.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_HELLO.fields_by_name['elements'].message_type = _OFP_HELLO_ELEM_HEADER
-_OFP_SWITCH_CONFIG.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_TABLE_MOD.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_SWITCH_FEATURES.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_PORT_STATUS.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_PORT_STATUS.fields_by_name['desc'].message_type = _OFP_PORT
-_OFP_PORT_MOD.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_INSTRUCTION_ACTIONS.fields_by_name['actions'].message_type = _OFP_ACTION_HEADER
-_OFP_FLOW_MOD.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_FLOW_MOD.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_BUCKET.fields_by_name['actions'].message_type = _OFP_ACTION_HEADER
-_OFP_GROUP_MOD.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_GROUP_MOD.fields_by_name['buckets'].message_type = _OFP_BUCKET
-_OFP_PACKET_OUT.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_PACKET_OUT.fields_by_name['actions'].message_type = _OFP_ACTION_HEADER
-_OFP_PACKET_IN.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_PACKET_IN.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_FLOW_REMOVED.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_FLOW_REMOVED.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_METER_MOD.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_METER_MOD.fields_by_name['bands'].message_type = _OFP_METER_BAND_HEADER
-_OFP_ERROR_MSG.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_ERROR_EXPERIMENTER_MSG.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_MULTIPART_REQUEST.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_MULTIPART_REPLY.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_FLOW_STATS_REQUEST.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_FLOW_STATS.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_AGGREGATE_STATS_REQUEST.fields_by_name['match'].message_type = _OFP_MATCH
-_OFP_TABLE_FEATURE_PROP_INSTRUCTIONS.fields_by_name['instruction_ids'].message_type = _OFP_INSTRUCTION
-_OFP_TABLE_FEATURE_PROP_ACTIONS.fields_by_name['action_ids'].message_type = _OFP_ACTION_HEADER
-_OFP_TABLE_FEATURES.fields_by_name['properties'].message_type = _OFP_TABLE_FEATURE_PROP_HEADER
-_OFP_GROUP_STATS.fields_by_name['bucket_stats'].message_type = _OFP_BUCKET_COUNTER
-_OFP_GROUP_DESC.fields_by_name['buckets'].message_type = _OFP_BUCKET
-_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_EXPERIMENTER_HEADER.fields_by_name['header'].message_type = _OFP_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_REQUEST.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_QUEUE_GET_CONFIG_REPLY.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_QUEUE_GET_CONFIG_REPLY.fields_by_name['queues'].message_type = _OFP_PACKET_QUEUE
-_OFP_ROLE_REQUEST.fields_by_name['header'].message_type = _OFP_HEADER
-_OFP_ASYNC_CONFIG.fields_by_name['header'].message_type = _OFP_HEADER
-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_experimenter_header'] = _OFP_OXM_EXPERIMENTER_HEADER
-DESCRIPTOR.message_types_by_name['ofp_action_header'] = _OFP_ACTION_HEADER
-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_header'] = _OFP_ACTION_EXPERIMENTER_HEADER
-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_prop_header'] = _OFP_TABLE_FEATURE_PROP_HEADER
-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_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_match_fields'] = _OXM_OFB_MATCH_FIELDS
-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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.ofp_match)
-  ))
-_sym_db.RegisterMessage(ofp_match)
-
-ofp_oxm_experimenter_header = _reflection.GeneratedProtocolMessageType('ofp_oxm_experimenter_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_OXM_EXPERIMENTER_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow.v13.ofp_oxm_experimenter_header)
-  ))
-_sym_db.RegisterMessage(ofp_oxm_experimenter_header)
-
-ofp_action_header = _reflection.GeneratedProtocolMessageType('ofp_action_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow.v13.ofp_action_header)
-  ))
-_sym_db.RegisterMessage(ofp_action_header)
-
-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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.ofp_action_set_field)
-  ))
-_sym_db.RegisterMessage(ofp_action_set_field)
-
-ofp_action_experimenter_header = _reflection.GeneratedProtocolMessageType('ofp_action_experimenter_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_ACTION_EXPERIMENTER_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow.v13.ofp_action_experimenter_header)
-  ))
-_sym_db.RegisterMessage(ofp_action_experimenter_header)
-
-ofp_instruction = _reflection.GeneratedProtocolMessageType('ofp_instruction', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_INSTRUCTION,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.ofp_aggregate_stats_reply)
-  ))
-_sym_db.RegisterMessage(ofp_aggregate_stats_reply)
-
-ofp_table_feature_prop_header = _reflection.GeneratedProtocolMessageType('ofp_table_feature_prop_header', (_message.Message,), dict(
-  DESCRIPTOR = _OFP_TABLE_FEATURE_PROP_HEADER,
-  __module__ = 'openflow_13_pb2'
-  # @@protoc_insertion_point(class_scope:openflow.v13.ofp_table_feature_prop_header)
-  ))
-_sym_db.RegisterMessage(ofp_table_feature_prop_header)
-
-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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.ofp_group_desc)
-  ))
-_sym_db.RegisterMessage(ofp_group_desc)
-
-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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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.v13.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
-
-
-class OpenFlowStub(object):
-  """
-  Service API definitions and additional message types needed for it
-
-  """
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.GetHello = channel.unary_unary(
-        '/openflow.v13.OpenFlow/GetHello',
-        request_serializer=ofp_hello.SerializeToString,
-        response_deserializer=ofp_hello.FromString,
-        )
-    self.EchoRequest = channel.unary_unary(
-        '/openflow.v13.OpenFlow/EchoRequest',
-        request_serializer=ofp_header.SerializeToString,
-        response_deserializer=ofp_header.FromString,
-        )
-    self.ExperimenterRequest = channel.unary_unary(
-        '/openflow.v13.OpenFlow/ExperimenterRequest',
-        request_serializer=ofp_experimenter_header.SerializeToString,
-        response_deserializer=ofp_experimenter_header.FromString,
-        )
-    self.GetSwitchFeatures = channel.unary_unary(
-        '/openflow.v13.OpenFlow/GetSwitchFeatures',
-        request_serializer=ofp_header.SerializeToString,
-        response_deserializer=ofp_switch_features.FromString,
-        )
-    self.GetSwitchConfig = channel.unary_unary(
-        '/openflow.v13.OpenFlow/GetSwitchConfig',
-        request_serializer=ofp_header.SerializeToString,
-        response_deserializer=ofp_switch_config.FromString,
-        )
-    self.SetConfig = channel.unary_unary(
-        '/openflow.v13.OpenFlow/SetConfig',
-        request_serializer=ofp_switch_config.SerializeToString,
-        response_deserializer=ofp_header.FromString,
-        )
-    self.ReceivePacketInMessages = channel.unary_stream(
-        '/openflow.v13.OpenFlow/ReceivePacketInMessages',
-        request_serializer=ofp_header.SerializeToString,
-        response_deserializer=ofp_packet_in.FromString,
-        )
-    self.SendPacketOutMessages = channel.unary_unary(
-        '/openflow.v13.OpenFlow/SendPacketOutMessages',
-        request_serializer=ofp_packet_out.SerializeToString,
-        response_deserializer=ofp_header.FromString,
-        )
-
-
-class OpenFlowServicer(object):
-  """
-  Service API definitions and additional message types needed for it
-
-  """
-
-  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=ofp_hello.FromString,
-          response_serializer=ofp_hello.SerializeToString,
-      ),
-      'EchoRequest': grpc.unary_unary_rpc_method_handler(
-          servicer.EchoRequest,
-          request_deserializer=ofp_header.FromString,
-          response_serializer=ofp_header.SerializeToString,
-      ),
-      'ExperimenterRequest': grpc.unary_unary_rpc_method_handler(
-          servicer.ExperimenterRequest,
-          request_deserializer=ofp_experimenter_header.FromString,
-          response_serializer=ofp_experimenter_header.SerializeToString,
-      ),
-      'GetSwitchFeatures': grpc.unary_unary_rpc_method_handler(
-          servicer.GetSwitchFeatures,
-          request_deserializer=ofp_header.FromString,
-          response_serializer=ofp_switch_features.SerializeToString,
-      ),
-      'GetSwitchConfig': grpc.unary_unary_rpc_method_handler(
-          servicer.GetSwitchConfig,
-          request_deserializer=ofp_header.FromString,
-          response_serializer=ofp_switch_config.SerializeToString,
-      ),
-      'SetConfig': grpc.unary_unary_rpc_method_handler(
-          servicer.SetConfig,
-          request_deserializer=ofp_switch_config.FromString,
-          response_serializer=ofp_header.SerializeToString,
-      ),
-      'ReceivePacketInMessages': grpc.unary_stream_rpc_method_handler(
-          servicer.ReceivePacketInMessages,
-          request_deserializer=ofp_header.FromString,
-          response_serializer=ofp_packet_in.SerializeToString,
-      ),
-      'SendPacketOutMessages': grpc.unary_unary_rpc_method_handler(
-          servicer.SendPacketOutMessages,
-          request_deserializer=ofp_packet_out.FromString,
-          response_serializer=ofp_header.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'openflow.v13.OpenFlow', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaOpenFlowServicer(object):
-  """
-  Service API definitions and additional message types needed for it
-
-  """
-  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):
-  """
-  Service API definitions and additional message types needed for it
-
-  """
-  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 = {
-    ('openflow.v13.OpenFlow', 'EchoRequest'): ofp_header.FromString,
-    ('openflow.v13.OpenFlow', 'ExperimenterRequest'): ofp_experimenter_header.FromString,
-    ('openflow.v13.OpenFlow', 'GetHello'): ofp_hello.FromString,
-    ('openflow.v13.OpenFlow', 'GetSwitchConfig'): ofp_header.FromString,
-    ('openflow.v13.OpenFlow', 'GetSwitchFeatures'): ofp_header.FromString,
-    ('openflow.v13.OpenFlow', 'ReceivePacketInMessages'): ofp_header.FromString,
-    ('openflow.v13.OpenFlow', 'SendPacketOutMessages'): ofp_packet_out.FromString,
-    ('openflow.v13.OpenFlow', 'SetConfig'): ofp_switch_config.FromString,
-  }
-  response_serializers = {
-    ('openflow.v13.OpenFlow', 'EchoRequest'): ofp_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'ExperimenterRequest'): ofp_experimenter_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'GetHello'): ofp_hello.SerializeToString,
-    ('openflow.v13.OpenFlow', 'GetSwitchConfig'): ofp_switch_config.SerializeToString,
-    ('openflow.v13.OpenFlow', 'GetSwitchFeatures'): ofp_switch_features.SerializeToString,
-    ('openflow.v13.OpenFlow', 'ReceivePacketInMessages'): ofp_packet_in.SerializeToString,
-    ('openflow.v13.OpenFlow', 'SendPacketOutMessages'): ofp_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'SetConfig'): ofp_header.SerializeToString,
-  }
-  method_implementations = {
-    ('openflow.v13.OpenFlow', 'EchoRequest'): face_utilities.unary_unary_inline(servicer.EchoRequest),
-    ('openflow.v13.OpenFlow', 'ExperimenterRequest'): face_utilities.unary_unary_inline(servicer.ExperimenterRequest),
-    ('openflow.v13.OpenFlow', 'GetHello'): face_utilities.unary_unary_inline(servicer.GetHello),
-    ('openflow.v13.OpenFlow', 'GetSwitchConfig'): face_utilities.unary_unary_inline(servicer.GetSwitchConfig),
-    ('openflow.v13.OpenFlow', 'GetSwitchFeatures'): face_utilities.unary_unary_inline(servicer.GetSwitchFeatures),
-    ('openflow.v13.OpenFlow', 'ReceivePacketInMessages'): face_utilities.unary_stream_inline(servicer.ReceivePacketInMessages),
-    ('openflow.v13.OpenFlow', 'SendPacketOutMessages'): face_utilities.unary_unary_inline(servicer.SendPacketOutMessages),
-    ('openflow.v13.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 = {
-    ('openflow.v13.OpenFlow', 'EchoRequest'): ofp_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'ExperimenterRequest'): ofp_experimenter_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'GetHello'): ofp_hello.SerializeToString,
-    ('openflow.v13.OpenFlow', 'GetSwitchConfig'): ofp_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'GetSwitchFeatures'): ofp_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'ReceivePacketInMessages'): ofp_header.SerializeToString,
-    ('openflow.v13.OpenFlow', 'SendPacketOutMessages'): ofp_packet_out.SerializeToString,
-    ('openflow.v13.OpenFlow', 'SetConfig'): ofp_switch_config.SerializeToString,
-  }
-  response_deserializers = {
-    ('openflow.v13.OpenFlow', 'EchoRequest'): ofp_header.FromString,
-    ('openflow.v13.OpenFlow', 'ExperimenterRequest'): ofp_experimenter_header.FromString,
-    ('openflow.v13.OpenFlow', 'GetHello'): ofp_hello.FromString,
-    ('openflow.v13.OpenFlow', 'GetSwitchConfig'): ofp_switch_config.FromString,
-    ('openflow.v13.OpenFlow', 'GetSwitchFeatures'): ofp_switch_features.FromString,
-    ('openflow.v13.OpenFlow', 'ReceivePacketInMessages'): ofp_packet_in.FromString,
-    ('openflow.v13.OpenFlow', 'SendPacketOutMessages'): ofp_header.FromString,
-    ('openflow.v13.OpenFlow', 'SetConfig'): 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, 'openflow.v13.OpenFlow', cardinalities, options=stub_options)
-# @@protoc_insertion_point(module_scope)
diff --git a/experiments/streaming_pb2.py b/experiments/streaming_pb2.py
deleted file mode 100644
index 33fe7eb..0000000
--- a/experiments/streaming_pb2.py
+++ /dev/null
@@ -1,380 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: streaming.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.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='streaming.proto',
-  package='experiment',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0fstreaming.proto\x12\nexperiment\x1a\x1bgoogle/protobuf/empty.proto\"\x92\x01\n\nAsyncEvent\x12\x0b\n\x03seq\x18\x01 \x01(\x05\x12.\n\x04type\x18\x02 \x01(\x0e\x32 .experiment.AsyncEvent.EventType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"6\n\tEventType\x12\x0c\n\x08\x42IG_BANG\x10\x00\x12\x0e\n\nSMALL_BANG\x10\x01\x12\x0b\n\x07NO_BANG\x10\x02\")\n\x06Packet\x12\x0e\n\x06source\x18\x01 \x01(\x05\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\"\"\n\x04\x45\x63ho\x12\x0b\n\x03msg\x18\x01 \x01(\t\x12\r\n\x05\x64\x65lay\x18\x02 \x01(\x02\x32\x8c\x02\n\x13\x45xperimentalService\x12-\n\x07GetEcho\x12\x10.experiment.Echo\x1a\x10.experiment.Echo\x12I\n\x15ReceiveStreamedEvents\x12\x16.google.protobuf.Empty\x1a\x16.experiment.AsyncEvent0\x01\x12>\n\x0eReceivePackets\x12\x16.google.protobuf.Empty\x1a\x12.experiment.Packet0\x01\x12;\n\x0bSendPackets\x12\x12.experiment.Packet\x1a\x16.google.protobuf.Empty(\x01\x62\x06proto3')
-  ,
-  dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-_ASYNCEVENT_EVENTTYPE = _descriptor.EnumDescriptor(
-  name='EventType',
-  full_name='experiment.AsyncEvent.EventType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='BIG_BANG', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='SMALL_BANG', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='NO_BANG', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=153,
-  serialized_end=207,
-)
-_sym_db.RegisterEnumDescriptor(_ASYNCEVENT_EVENTTYPE)
-
-
-_ASYNCEVENT = _descriptor.Descriptor(
-  name='AsyncEvent',
-  full_name='experiment.AsyncEvent',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='seq', full_name='experiment.AsyncEvent.seq', index=0,
-      number=1, 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='type', full_name='experiment.AsyncEvent.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='details', full_name='experiment.AsyncEvent.details', 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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _ASYNCEVENT_EVENTTYPE,
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=61,
-  serialized_end=207,
-)
-
-
-_PACKET = _descriptor.Descriptor(
-  name='Packet',
-  full_name='experiment.Packet',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='source', full_name='experiment.Packet.source', index=0,
-      number=1, 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='content', full_name='experiment.Packet.content', 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=209,
-  serialized_end=250,
-)
-
-
-_ECHO = _descriptor.Descriptor(
-  name='Echo',
-  full_name='experiment.Echo',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='msg', full_name='experiment.Echo.msg', 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='delay', full_name='experiment.Echo.delay', index=1,
-      number=2, type=2, cpp_type=6, label=1,
-      has_default_value=False, default_value=float(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=252,
-  serialized_end=286,
-)
-
-_ASYNCEVENT.fields_by_name['type'].enum_type = _ASYNCEVENT_EVENTTYPE
-_ASYNCEVENT_EVENTTYPE.containing_type = _ASYNCEVENT
-DESCRIPTOR.message_types_by_name['AsyncEvent'] = _ASYNCEVENT
-DESCRIPTOR.message_types_by_name['Packet'] = _PACKET
-DESCRIPTOR.message_types_by_name['Echo'] = _ECHO
-
-AsyncEvent = _reflection.GeneratedProtocolMessageType('AsyncEvent', (_message.Message,), dict(
-  DESCRIPTOR = _ASYNCEVENT,
-  __module__ = 'streaming_pb2'
-  # @@protoc_insertion_point(class_scope:experiment.AsyncEvent)
-  ))
-_sym_db.RegisterMessage(AsyncEvent)
-
-Packet = _reflection.GeneratedProtocolMessageType('Packet', (_message.Message,), dict(
-  DESCRIPTOR = _PACKET,
-  __module__ = 'streaming_pb2'
-  # @@protoc_insertion_point(class_scope:experiment.Packet)
-  ))
-_sym_db.RegisterMessage(Packet)
-
-Echo = _reflection.GeneratedProtocolMessageType('Echo', (_message.Message,), dict(
-  DESCRIPTOR = _ECHO,
-  __module__ = 'streaming_pb2'
-  # @@protoc_insertion_point(class_scope:experiment.Echo)
-  ))
-_sym_db.RegisterMessage(Echo)
-
-
-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 ExperimentalServiceStub(object):
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.GetEcho = channel.unary_unary(
-        '/experiment.ExperimentalService/GetEcho',
-        request_serializer=Echo.SerializeToString,
-        response_deserializer=Echo.FromString,
-        )
-    self.ReceiveStreamedEvents = channel.unary_stream(
-        '/experiment.ExperimentalService/ReceiveStreamedEvents',
-        request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-        response_deserializer=AsyncEvent.FromString,
-        )
-    self.ReceivePackets = channel.unary_stream(
-        '/experiment.ExperimentalService/ReceivePackets',
-        request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-        response_deserializer=Packet.FromString,
-        )
-    self.SendPackets = channel.stream_unary(
-        '/experiment.ExperimentalService/SendPackets',
-        request_serializer=Packet.SerializeToString,
-        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-        )
-
-
-class ExperimentalServiceServicer(object):
-
-  def GetEcho(self, request, context):
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ReceiveStreamedEvents(self, request, context):
-    """For server to send async stream to client
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def ReceivePackets(self, request, context):
-    """For server to send async packets to client
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-  def SendPackets(self, request_iterator, context):
-    """For client to send async packets to server
-    """
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-
-def add_ExperimentalServiceServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'GetEcho': grpc.unary_unary_rpc_method_handler(
-          servicer.GetEcho,
-          request_deserializer=Echo.FromString,
-          response_serializer=Echo.SerializeToString,
-      ),
-      'ReceiveStreamedEvents': grpc.unary_stream_rpc_method_handler(
-          servicer.ReceiveStreamedEvents,
-          request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-          response_serializer=AsyncEvent.SerializeToString,
-      ),
-      'ReceivePackets': grpc.unary_stream_rpc_method_handler(
-          servicer.ReceivePackets,
-          request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-          response_serializer=Packet.SerializeToString,
-      ),
-      'SendPackets': grpc.stream_unary_rpc_method_handler(
-          servicer.SendPackets,
-          request_deserializer=Packet.FromString,
-          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'experiment.ExperimentalService', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaExperimentalServiceServicer(object):
-  def GetEcho(self, request, context):
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ReceiveStreamedEvents(self, request, context):
-    """For server to send async stream to client
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def ReceivePackets(self, request, context):
-    """For server to send async packets to client
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-  def SendPackets(self, request_iterator, context):
-    """For client to send async packets to server
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaExperimentalServiceStub(object):
-  def GetEcho(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    raise NotImplementedError()
-  GetEcho.future = None
-  def ReceiveStreamedEvents(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """For server to send async stream to client
-    """
-    raise NotImplementedError()
-  def ReceivePackets(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    """For server to send async packets to client
-    """
-    raise NotImplementedError()
-  def SendPackets(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
-    """For client to send async packets to server
-    """
-    raise NotImplementedError()
-  SendPackets.future = None
-
-
-def beta_create_ExperimentalService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('experiment.ExperimentalService', 'GetEcho'): Echo.FromString,
-    ('experiment.ExperimentalService', 'ReceivePackets'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-    ('experiment.ExperimentalService', 'ReceiveStreamedEvents'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-    ('experiment.ExperimentalService', 'SendPackets'): Packet.FromString,
-  }
-  response_serializers = {
-    ('experiment.ExperimentalService', 'GetEcho'): Echo.SerializeToString,
-    ('experiment.ExperimentalService', 'ReceivePackets'): Packet.SerializeToString,
-    ('experiment.ExperimentalService', 'ReceiveStreamedEvents'): AsyncEvent.SerializeToString,
-    ('experiment.ExperimentalService', 'SendPackets'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-  }
-  method_implementations = {
-    ('experiment.ExperimentalService', 'GetEcho'): face_utilities.unary_unary_inline(servicer.GetEcho),
-    ('experiment.ExperimentalService', 'ReceivePackets'): face_utilities.unary_stream_inline(servicer.ReceivePackets),
-    ('experiment.ExperimentalService', 'ReceiveStreamedEvents'): face_utilities.unary_stream_inline(servicer.ReceiveStreamedEvents),
-    ('experiment.ExperimentalService', 'SendPackets'): face_utilities.stream_unary_inline(servicer.SendPackets),
-  }
-  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_ExperimentalService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
-  request_serializers = {
-    ('experiment.ExperimentalService', 'GetEcho'): Echo.SerializeToString,
-    ('experiment.ExperimentalService', 'ReceivePackets'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-    ('experiment.ExperimentalService', 'ReceiveStreamedEvents'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-    ('experiment.ExperimentalService', 'SendPackets'): Packet.SerializeToString,
-  }
-  response_deserializers = {
-    ('experiment.ExperimentalService', 'GetEcho'): Echo.FromString,
-    ('experiment.ExperimentalService', 'ReceivePackets'): Packet.FromString,
-    ('experiment.ExperimentalService', 'ReceiveStreamedEvents'): AsyncEvent.FromString,
-    ('experiment.ExperimentalService', 'SendPackets'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-  }
-  cardinalities = {
-    'GetEcho': cardinality.Cardinality.UNARY_UNARY,
-    'ReceivePackets': cardinality.Cardinality.UNARY_STREAM,
-    'ReceiveStreamedEvents': cardinality.Cardinality.UNARY_STREAM,
-    'SendPackets': cardinality.Cardinality.STREAM_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, 'experiment.ExperimentalService', cardinalities, options=stub_options)
-# @@protoc_insertion_point(module_scope)
diff --git a/voltha/protos/adapter_pb2.py b/voltha/protos/adapter_pb2.py
deleted file mode 100644
index fe871c1..0000000
--- a/voltha/protos/adapter_pb2.py
+++ /dev/null
@@ -1,453 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: adapter.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
-from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
-from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
-import common_pb2 as common__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='adapter.proto',
-  package='voltha',
-  syntax='proto3',
-  serialized_pb=_b('\n\radapter.proto\x12\x06voltha\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x19google/protobuf/any.proto\x1a\x0c\x63ommon.proto\"@\n\rAdapterConfig\x12/\n\x11\x61\x64\x64itional_config\x18@ \x01(\x0b\x32\x14.google.protobuf.Any\"r\n\x07\x41\x64\x61pter\x12\n\n\x02id\x18\x01 \x01(\t\x12%\n\x06\x63onfig\x18\x10 \x01(\x0b\x32\x15.voltha.AdapterConfig\x12\x34\n\x16\x61\x64\x64itional_description\x18@ \x01(\x0b\x32\x14.google.protobuf.Any\"*\n\x08\x41\x64\x61pters\x12\x1e\n\x05items\x18\x01 \x03(\x0b\x32\x0f.voltha.Adapter\")\n\nDeviceType\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"0\n\x0b\x44\x65viceTypes\x12!\n\x05items\x18\x01 \x03(\x0b\x32\x12.voltha.DeviceType\"\xfe\x01\n\x06\x44\x65vice\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04root\x18\x03 \x01(\x08\x12\x11\n\tparent_id\x18\x04 \x01(\t\x12\x0e\n\x06vendor\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x18\n\x10hardware_version\x18\x07 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x08 \x01(\t\x12\x18\n\x10software_version\x18\t \x01(\t\x12\x15\n\rserial_number\x18\n \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x0b \x01(\t\x12$\n\x06\x63ustom\x18@ \x01(\x0b\x32\x14.google.protobuf.Any2c\n\x0e\x41\x64\x61pterService\x12Q\n\x0cListAdapters\x12\x16.google.protobuf.Empty\x1a\x10.voltha.Adapters\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/local/adaptersb\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,common__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-_ADAPTERCONFIG = _descriptor.Descriptor(
-  name='AdapterConfig',
-  full_name='voltha.AdapterConfig',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='additional_config', full_name='voltha.AdapterConfig.additional_config', index=0,
-      number=64, 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=125,
-  serialized_end=189,
-)
-
-
-_ADAPTER = _descriptor.Descriptor(
-  name='Adapter',
-  full_name='voltha.Adapter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.Adapter.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='config', full_name='voltha.Adapter.config', index=1,
-      number=16, 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='additional_description', full_name='voltha.Adapter.additional_description', index=2,
-      number=64, 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=191,
-  serialized_end=305,
-)
-
-
-_ADAPTERS = _descriptor.Descriptor(
-  name='Adapters',
-  full_name='voltha.Adapters',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='items', full_name='voltha.Adapters.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=307,
-  serialized_end=349,
-)
-
-
-_DEVICETYPE = _descriptor.Descriptor(
-  name='DeviceType',
-  full_name='voltha.DeviceType',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.DeviceType.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='adapter', full_name='voltha.DeviceType.adapter', 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=351,
-  serialized_end=392,
-)
-
-
-_DEVICETYPES = _descriptor.Descriptor(
-  name='DeviceTypes',
-  full_name='voltha.DeviceTypes',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='items', full_name='voltha.DeviceTypes.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=394,
-  serialized_end=442,
-)
-
-
-_DEVICE = _descriptor.Descriptor(
-  name='Device',
-  full_name='voltha.Device',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='voltha.Device.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='type', full_name='voltha.Device.type', 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='root', full_name='voltha.Device.root', index=2,
-      number=3, 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='parent_id', full_name='voltha.Device.parent_id', 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='vendor', full_name='voltha.Device.vendor', 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),
-    _descriptor.FieldDescriptor(
-      name='model', full_name='voltha.Device.model', index=5,
-      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='hardware_version', full_name='voltha.Device.hardware_version', 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='firmware_version', full_name='voltha.Device.firmware_version', index=7,
-      number=8, 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='software_version', full_name='voltha.Device.software_version', index=8,
-      number=9, 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_number', full_name='voltha.Device.serial_number', index=9,
-      number=10, 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='adapter', full_name='voltha.Device.adapter', index=10,
-      number=11, 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='voltha.Device.custom', index=11,
-      number=64, 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=445,
-  serialized_end=699,
-)
-
-_ADAPTERCONFIG.fields_by_name['additional_config'].message_type = google_dot_protobuf_dot_any__pb2._ANY
-_ADAPTER.fields_by_name['config'].message_type = _ADAPTERCONFIG
-_ADAPTER.fields_by_name['additional_description'].message_type = google_dot_protobuf_dot_any__pb2._ANY
-_ADAPTERS.fields_by_name['items'].message_type = _ADAPTER
-_DEVICETYPES.fields_by_name['items'].message_type = _DEVICETYPE
-_DEVICE.fields_by_name['custom'].message_type = google_dot_protobuf_dot_any__pb2._ANY
-DESCRIPTOR.message_types_by_name['AdapterConfig'] = _ADAPTERCONFIG
-DESCRIPTOR.message_types_by_name['Adapter'] = _ADAPTER
-DESCRIPTOR.message_types_by_name['Adapters'] = _ADAPTERS
-DESCRIPTOR.message_types_by_name['DeviceType'] = _DEVICETYPE
-DESCRIPTOR.message_types_by_name['DeviceTypes'] = _DEVICETYPES
-DESCRIPTOR.message_types_by_name['Device'] = _DEVICE
-
-AdapterConfig = _reflection.GeneratedProtocolMessageType('AdapterConfig', (_message.Message,), dict(
-  DESCRIPTOR = _ADAPTERCONFIG,
-  __module__ = 'adapter_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.AdapterConfig)
-  ))
-_sym_db.RegisterMessage(AdapterConfig)
-
-Adapter = _reflection.GeneratedProtocolMessageType('Adapter', (_message.Message,), dict(
-  DESCRIPTOR = _ADAPTER,
-  __module__ = 'adapter_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Adapter)
-  ))
-_sym_db.RegisterMessage(Adapter)
-
-Adapters = _reflection.GeneratedProtocolMessageType('Adapters', (_message.Message,), dict(
-  DESCRIPTOR = _ADAPTERS,
-  __module__ = 'adapter_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Adapters)
-  ))
-_sym_db.RegisterMessage(Adapters)
-
-DeviceType = _reflection.GeneratedProtocolMessageType('DeviceType', (_message.Message,), dict(
-  DESCRIPTOR = _DEVICETYPE,
-  __module__ = 'adapter_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.DeviceType)
-  ))
-_sym_db.RegisterMessage(DeviceType)
-
-DeviceTypes = _reflection.GeneratedProtocolMessageType('DeviceTypes', (_message.Message,), dict(
-  DESCRIPTOR = _DEVICETYPES,
-  __module__ = 'adapter_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.DeviceTypes)
-  ))
-_sym_db.RegisterMessage(DeviceTypes)
-
-Device = _reflection.GeneratedProtocolMessageType('Device', (_message.Message,), dict(
-  DESCRIPTOR = _DEVICE,
-  __module__ = 'adapter_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Device)
-  ))
-_sym_db.RegisterMessage(Device)
-
-
-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 AdapterServiceStub(object):
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.ListAdapters = channel.unary_unary(
-        '/voltha.AdapterService/ListAdapters',
-        request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-        response_deserializer=Adapters.FromString,
-        )
-
-
-class AdapterServiceServicer(object):
-
-  def ListAdapters(self, request, context):
-    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-    context.set_details('Method not implemented!')
-    raise NotImplementedError('Method not implemented!')
-
-
-def add_AdapterServiceServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'ListAdapters': grpc.unary_unary_rpc_method_handler(
-          servicer.ListAdapters,
-          request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-          response_serializer=Adapters.SerializeToString,
-      ),
-  }
-  generic_handler = grpc.method_handlers_generic_handler(
-      'voltha.AdapterService', rpc_method_handlers)
-  server.add_generic_rpc_handlers((generic_handler,))
-
-
-class BetaAdapterServiceServicer(object):
-  def ListAdapters(self, request, context):
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaAdapterServiceStub(object):
-  def ListAdapters(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
-    raise NotImplementedError()
-  ListAdapters.future = None
-
-
-def beta_create_AdapterService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('voltha.AdapterService', 'ListAdapters'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-  }
-  response_serializers = {
-    ('voltha.AdapterService', 'ListAdapters'): Adapters.SerializeToString,
-  }
-  method_implementations = {
-    ('voltha.AdapterService', 'ListAdapters'): face_utilities.unary_unary_inline(servicer.ListAdapters),
-  }
-  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_AdapterService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
-  request_serializers = {
-    ('voltha.AdapterService', 'ListAdapters'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-  }
-  response_deserializers = {
-    ('voltha.AdapterService', 'ListAdapters'): Adapters.FromString,
-  }
-  cardinalities = {
-    'ListAdapters': 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.AdapterService', cardinalities, options=stub_options)
-# @@protoc_insertion_point(module_scope)
diff --git a/voltha/protos/common_pb2.py b/voltha/protos/common_pb2.py
deleted file mode 100644
index 1eceb2d..0000000
--- a/voltha/protos/common_pb2.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: common.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='common.proto',
-  package='voltha',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0c\x63ommon.proto\x12\x06voltha\"\x10\n\x02ID\x12\n\n\x02id\x18\x01 \x01(\tb\x06proto3')
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-_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=24,
-  serialized_end=40,
-)
-
-DESCRIPTOR.message_types_by_name['ID'] = _ID
-
-ID = _reflection.GeneratedProtocolMessageType('ID', (_message.Message,), dict(
-  DESCRIPTOR = _ID,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.ID)
-  ))
-_sym_db.RegisterMessage(ID)
-
-
-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/voltha/protos/example_service_pb2.py b/voltha/protos/example_service_pb2.py
deleted file mode 100644
index f2decd3..0000000
--- a/voltha/protos/example_service_pb2.py
+++ /dev/null
@@ -1,377 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: example_service.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()
-
-
-import common_pb2 as common__pb2
-from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
-from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='example_service.proto',
-  package='voltha',
-  syntax='proto3',
-  serialized_pb=_b('\n\x15\x65xample_service.proto\x12\x06voltha\x1a\x0c\x63ommon.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\"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.Address2\x8b\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*\x12L\n\rDeleteAddress\x12\n.voltha.ID\x1a\x16.google.protobuf.Empty\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/addresses/{id}\x12N\n\rListAddresses\x12\x16.google.protobuf.Empty\x1a\x11.voltha.Addresses\"\x12\x82\xd3\xe4\x93\x02\x0c\x12\n/addressesb\x06proto3')
-  ,
-  dependencies=[common__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-_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=106,
-  serialized_end=219,
-)
-
-
-_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=221,
-  serialized_end=268,
-)
-
-_ADDRESSES.fields_by_name['addresses'].message_type = _ADDRESS
-DESCRIPTOR.message_types_by_name['Address'] = _ADDRESS
-DESCRIPTOR.message_types_by_name['Addresses'] = _ADDRESSES
-
-Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), dict(
-  DESCRIPTOR = _ADDRESS,
-  __module__ = 'example_service_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Address)
-  ))
-_sym_db.RegisterMessage(Address)
-
-Addresses = _reflection.GeneratedProtocolMessageType('Addresses', (_message.Message,), dict(
-  DESCRIPTOR = _ADDRESSES,
-  __module__ = 'example_service_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Addresses)
-  ))
-_sym_db.RegisterMessage(Addresses)
-
-
-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 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=common__pb2.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=common__pb2.ID.SerializeToString,
-        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-        )
-    self.ListAddresses = channel.unary_unary(
-        '/voltha.ExampleService/ListAddresses',
-        request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.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=common__pb2.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=common__pb2.ID.FromString,
-          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-      ),
-      'ListAddresses': grpc.unary_unary_rpc_method_handler(
-          servicer.ListAddresses,
-          request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.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'): common__pb2.ID.FromString,
-    ('voltha.ExampleService', 'GetAddress'): common__pb2.ID.FromString,
-    ('voltha.ExampleService', 'ListAddresses'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-    ('voltha.ExampleService', 'UpdateAddress'): Address.FromString,
-  }
-  response_serializers = {
-    ('voltha.ExampleService', 'CreateAddress'): Address.SerializeToString,
-    ('voltha.ExampleService', 'DeleteAddress'): google_dot_protobuf_dot_empty__pb2.Empty.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'): common__pb2.ID.SerializeToString,
-    ('voltha.ExampleService', 'GetAddress'): common__pb2.ID.SerializeToString,
-    ('voltha.ExampleService', 'ListAddresses'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-    ('voltha.ExampleService', 'UpdateAddress'): Address.SerializeToString,
-  }
-  response_deserializers = {
-    ('voltha.ExampleService', 'CreateAddress'): Address.FromString,
-    ('voltha.ExampleService', 'DeleteAddress'): google_dot_protobuf_dot_empty__pb2.Empty.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)
-# @@protoc_insertion_point(module_scope)
diff --git a/voltha/protos/health_pb2.py b/voltha/protos/health_pb2.py
deleted file mode 100644
index 85448bf..0000000
--- a/voltha/protos/health_pb2.py
+++ /dev/null
@@ -1,195 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: health.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
-from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='health.proto',
-  package='voltha',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0chealth.proto\x12\x06voltha\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\"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\x32\x61\n\rHealthService\x12P\n\x0fGetHealthStatus\x12\x16.google.protobuf.Empty\x1a\x14.voltha.HealthStatus\"\x0f\x82\xd3\xe4\x93\x02\t\x12\x07/healthb\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__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=148,
-  serialized_end=201,
-)
-_sym_db.RegisterEnumDescriptor(_HEALTHSTATUS_HEALTHSTATE)
-
-
-_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=83,
-  serialized_end=201,
-)
-
-_HEALTHSTATUS.fields_by_name['state'].enum_type = _HEALTHSTATUS_HEALTHSTATE
-_HEALTHSTATUS_HEALTHSTATE.containing_type = _HEALTHSTATUS
-DESCRIPTOR.message_types_by_name['HealthStatus'] = _HEALTHSTATUS
-
-HealthStatus = _reflection.GeneratedProtocolMessageType('HealthStatus', (_message.Message,), dict(
-  DESCRIPTOR = _HEALTHSTATUS,
-  __module__ = 'health_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.HealthStatus)
-  ))
-_sym_db.RegisterMessage(HealthStatus)
-
-
-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=google_dot_protobuf_dot_empty__pb2.Empty.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=google_dot_protobuf_dot_empty__pb2.Empty.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'): google_dot_protobuf_dot_empty__pb2.Empty.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'): google_dot_protobuf_dot_empty__pb2.Empty.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)
-# @@protoc_insertion_point(module_scope)
diff --git a/voltha/protos/logical_layer_pb2.py b/voltha/protos/logical_layer_pb2.py
deleted file mode 100644
index 3484e20..0000000
--- a/voltha/protos/logical_layer_pb2.py
+++ /dev/null
@@ -1,846 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: logical_layer.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
-from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
-import common_pb2 as common__pb2
-import openflow_13_pb2 as openflow__13__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='logical_layer.proto',
-  package='voltha',
-  syntax='proto3',
-  serialized_pb=_b('\n\x13logical_layer.proto\x12\x06voltha\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x0c\x63ommon.proto\x1a\x11openflow_13.proto\"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\xb5\x06\n\x12VolthaLogicalLayer\x12\\\n\x12ListLogicalDevices\x12\x16.google.protobuf.Empty\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\x12h\n\x0fUpdateFlowTable\x12\x17.voltha.FlowTableUpdate\x1a\x16.google.protobuf.Empty\"$\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\x12k\n\x10UpdateGroupTable\x12\x18.voltha.GroupTableUpdate\x1a\x16.google.protobuf.Empty\"%\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\x41\n\x10StreamPacketsOut\x12\x11.voltha.PacketOut\x1a\x16.google.protobuf.Empty\"\x00(\x01\x12@\n\x10ReceivePacketsIn\x12\x16.google.protobuf.Empty\x1a\x10.voltha.PacketIn\"\x00\x30\x01\x62\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,common__pb2.DESCRIPTOR,openflow__13__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-_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=123,
-  serialized_end=208,
-)
-
-
-_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=210,
-  serialized_end=264,
-)
-
-
-_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=266,
-  serialized_end=318,
-)
-
-
-_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=321,
-  serialized_end=472,
-)
-
-
-_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=474,
-  serialized_end=548,
-)
-
-
-_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=550,
-  serialized_end=627,
-)
-
-
-_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=629,
-  serialized_end=680,
-)
-
-
-_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=682,
-  serialized_end=739,
-)
-
-
-_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=741,
-  serialized_end=810,
-)
-
-
-_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=812,
-  serialized_end=884,
-)
-
-_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['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
-
-LogicalDevice = _reflection.GeneratedProtocolMessageType('LogicalDevice', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALDEVICE,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalDevice)
-  ))
-_sym_db.RegisterMessage(LogicalDevice)
-
-LogicalDevices = _reflection.GeneratedProtocolMessageType('LogicalDevices', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALDEVICES,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalDevices)
-  ))
-_sym_db.RegisterMessage(LogicalDevices)
-
-LogicalPorts = _reflection.GeneratedProtocolMessageType('LogicalPorts', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALPORTS,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalPorts)
-  ))
-_sym_db.RegisterMessage(LogicalPorts)
-
-LogicalDeviceDetails = _reflection.GeneratedProtocolMessageType('LogicalDeviceDetails', (_message.Message,), dict(
-  DESCRIPTOR = _LOGICALDEVICEDETAILS,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.LogicalDeviceDetails)
-  ))
-_sym_db.RegisterMessage(LogicalDeviceDetails)
-
-FlowTableUpdate = _reflection.GeneratedProtocolMessageType('FlowTableUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _FLOWTABLEUPDATE,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.FlowTableUpdate)
-  ))
-_sym_db.RegisterMessage(FlowTableUpdate)
-
-GroupTableUpdate = _reflection.GeneratedProtocolMessageType('GroupTableUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _GROUPTABLEUPDATE,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.GroupTableUpdate)
-  ))
-_sym_db.RegisterMessage(GroupTableUpdate)
-
-Flows = _reflection.GeneratedProtocolMessageType('Flows', (_message.Message,), dict(
-  DESCRIPTOR = _FLOWS,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.Flows)
-  ))
-_sym_db.RegisterMessage(Flows)
-
-FlowGroups = _reflection.GeneratedProtocolMessageType('FlowGroups', (_message.Message,), dict(
-  DESCRIPTOR = _FLOWGROUPS,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.FlowGroups)
-  ))
-_sym_db.RegisterMessage(FlowGroups)
-
-PacketIn = _reflection.GeneratedProtocolMessageType('PacketIn', (_message.Message,), dict(
-  DESCRIPTOR = _PACKETIN,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.PacketIn)
-  ))
-_sym_db.RegisterMessage(PacketIn)
-
-PacketOut = _reflection.GeneratedProtocolMessageType('PacketOut', (_message.Message,), dict(
-  DESCRIPTOR = _PACKETOUT,
-  __module__ = 'logical_layer_pb2'
-  # @@protoc_insertion_point(class_scope:voltha.PacketOut)
-  ))
-_sym_db.RegisterMessage(PacketOut)
-
-
-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 VolthaLogicalLayerStub(object):
-
-  def __init__(self, channel):
-    """Constructor.
-
-    Args:
-      channel: A grpc.Channel.
-    """
-    self.ListLogicalDevices = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListLogicalDevices',
-        request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-        response_deserializer=LogicalDevices.FromString,
-        )
-    self.GetLogicalDevice = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/GetLogicalDevice',
-        request_serializer=common__pb2.ID.SerializeToString,
-        response_deserializer=LogicalDeviceDetails.FromString,
-        )
-    self.ListLogicalDevicePorts = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListLogicalDevicePorts',
-        request_serializer=common__pb2.ID.SerializeToString,
-        response_deserializer=LogicalPorts.FromString,
-        )
-    self.UpdateFlowTable = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/UpdateFlowTable',
-        request_serializer=FlowTableUpdate.SerializeToString,
-        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-        )
-    self.ListDeviceFlows = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListDeviceFlows',
-        request_serializer=common__pb2.ID.SerializeToString,
-        response_deserializer=Flows.FromString,
-        )
-    self.UpdateGroupTable = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/UpdateGroupTable',
-        request_serializer=GroupTableUpdate.SerializeToString,
-        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-        )
-    self.ListDeviceFlowGroups = channel.unary_unary(
-        '/voltha.VolthaLogicalLayer/ListDeviceFlowGroups',
-        request_serializer=common__pb2.ID.SerializeToString,
-        response_deserializer=FlowGroups.FromString,
-        )
-    self.StreamPacketsOut = channel.stream_unary(
-        '/voltha.VolthaLogicalLayer/StreamPacketsOut',
-        request_serializer=PacketOut.SerializeToString,
-        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-        )
-    self.ReceivePacketsIn = channel.unary_stream(
-        '/voltha.VolthaLogicalLayer/ReceivePacketsIn',
-        request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-        response_deserializer=PacketIn.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 add_VolthaLogicalLayerServicer_to_server(servicer, server):
-  rpc_method_handlers = {
-      'ListLogicalDevices': grpc.unary_unary_rpc_method_handler(
-          servicer.ListLogicalDevices,
-          request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-          response_serializer=LogicalDevices.SerializeToString,
-      ),
-      'GetLogicalDevice': grpc.unary_unary_rpc_method_handler(
-          servicer.GetLogicalDevice,
-          request_deserializer=common__pb2.ID.FromString,
-          response_serializer=LogicalDeviceDetails.SerializeToString,
-      ),
-      'ListLogicalDevicePorts': grpc.unary_unary_rpc_method_handler(
-          servicer.ListLogicalDevicePorts,
-          request_deserializer=common__pb2.ID.FromString,
-          response_serializer=LogicalPorts.SerializeToString,
-      ),
-      'UpdateFlowTable': grpc.unary_unary_rpc_method_handler(
-          servicer.UpdateFlowTable,
-          request_deserializer=FlowTableUpdate.FromString,
-          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-      ),
-      'ListDeviceFlows': grpc.unary_unary_rpc_method_handler(
-          servicer.ListDeviceFlows,
-          request_deserializer=common__pb2.ID.FromString,
-          response_serializer=Flows.SerializeToString,
-      ),
-      'UpdateGroupTable': grpc.unary_unary_rpc_method_handler(
-          servicer.UpdateGroupTable,
-          request_deserializer=GroupTableUpdate.FromString,
-          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-      ),
-      'ListDeviceFlowGroups': grpc.unary_unary_rpc_method_handler(
-          servicer.ListDeviceFlowGroups,
-          request_deserializer=common__pb2.ID.FromString,
-          response_serializer=FlowGroups.SerializeToString,
-      ),
-      'StreamPacketsOut': grpc.stream_unary_rpc_method_handler(
-          servicer.StreamPacketsOut,
-          request_deserializer=PacketOut.FromString,
-          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-      ),
-      'ReceivePacketsIn': grpc.unary_stream_rpc_method_handler(
-          servicer.ReceivePacketsIn,
-          request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-          response_serializer=PacketIn.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)
-
-
-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 beta_create_VolthaLogicalLayer_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
-  request_deserializers = {
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): common__pb2.ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): common__pb2.ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): common__pb2.ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): common__pb2.ID.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): PacketOut.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): FlowTableUpdate.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): GroupTableUpdate.FromString,
-  }
-  response_serializers = {
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): LogicalDeviceDetails.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): FlowGroups.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): Flows.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): LogicalPorts.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): LogicalDevices.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): PacketIn.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-  }
-  method_implementations = {
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): face_utilities.unary_unary_inline(servicer.GetLogicalDevice),
-    ('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', '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),
-  }
-  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', 'GetLogicalDevice'): common__pb2.ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): common__pb2.ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): common__pb2.ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): common__pb2.ID.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): PacketOut.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): FlowTableUpdate.SerializeToString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): GroupTableUpdate.SerializeToString,
-  }
-  response_deserializers = {
-    ('voltha.VolthaLogicalLayer', 'GetLogicalDevice'): LogicalDeviceDetails.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlowGroups'): FlowGroups.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListDeviceFlows'): Flows.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevicePorts'): LogicalPorts.FromString,
-    ('voltha.VolthaLogicalLayer', 'ListLogicalDevices'): LogicalDevices.FromString,
-    ('voltha.VolthaLogicalLayer', 'ReceivePacketsIn'): PacketIn.FromString,
-    ('voltha.VolthaLogicalLayer', 'StreamPacketsOut'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateFlowTable'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-    ('voltha.VolthaLogicalLayer', 'UpdateGroupTable'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
-  }
-  cardinalities = {
-    'GetLogicalDevice': cardinality.Cardinality.UNARY_UNARY,
-    'ListDeviceFlowGroups': cardinality.Cardinality.UNARY_UNARY,
-    'ListDeviceFlows': cardinality.Cardinality.UNARY_UNARY,
-    'ListLogicalDevicePorts': cardinality.Cardinality.UNARY_UNARY,
-    'ListLogicalDevices': cardinality.Cardinality.UNARY_UNARY,
-    'ReceivePacketsIn': cardinality.Cardinality.UNARY_STREAM,
-    'StreamPacketsOut': cardinality.Cardinality.STREAM_UNARY,
-    'UpdateFlowTable': cardinality.Cardinality.UNARY_UNARY,
-    'UpdateGroupTable': 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)
-# @@protoc_insertion_point(module_scope)
diff --git a/voltha/protos/openflow_13.desc b/voltha/protos/openflow_13.desc
deleted file mode 100644
index 46bc2fa..0000000
--- a/voltha/protos/openflow_13.desc
+++ /dev/null
Binary files differ
diff --git a/voltha/protos/openflow_13_pb2.py b/voltha/protos/openflow_13_pb2.py
deleted file mode 100644
index 025e5c9..0000000
--- a/voltha/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/voltha/protos/schema.desc b/voltha/protos/schema.desc
deleted file mode 100644
index 31ccf8b..0000000
--- a/voltha/protos/schema.desc
+++ /dev/null
Binary files differ
diff --git a/voltha/protos/schema_pb2.py b/voltha/protos/schema_pb2.py
deleted file mode 100644
index 3ebbb23..0000000
--- a/voltha/protos/schema_pb2.py
+++ /dev/null
@@ -1,247 +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
-from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='schema.proto',
-  package='schema',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0cschema.proto\x12\x06schema\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.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\"B\n\x07Schemas\x12!\n\x06protos\x18\x01 \x03(\x0b\x32\x11.schema.ProtoFile\x12\x14\n\x0cswagger_from\x18\x02 \x01(\t2V\n\rSchemaService\x12\x45\n\tGetSchema\x12\x16.google.protobuf.Empty\x1a\x0f.schema.Schemas\"\x0f\x82\xd3\xe4\x93\x02\t\x12\x07/schemab\x06proto3')
-  ,
-  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__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=83,
-  serialized_end=148,
-)
-
-
-_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),
-    _descriptor.FieldDescriptor(
-      name='swagger_from', full_name='schema.Schemas.swagger_from', 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=150,
-  serialized_end=216,
-)
-
-_SCHEMAS.fields_by_name['protos'].message_type = _PROTOFILE
-DESCRIPTOR.message_types_by_name['ProtoFile'] = _PROTOFILE
-DESCRIPTOR.message_types_by_name['Schemas'] = _SCHEMAS
-
-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)
-
-
-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=google_dot_protobuf_dot_empty__pb2.Empty.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=google_dot_protobuf_dot_empty__pb2.Empty.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):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This class was generated
-  only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
-  """Schema services
-  """
-  def GetSchema(self, request, context):
-    """Return active grpc schemas
-    """
-    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
-
-
-class BetaSchemaServiceStub(object):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This class was generated
-  only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
-  """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):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This function was
-  generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
-  request_deserializers = {
-    ('schema.SchemaService', 'GetSchema'): google_dot_protobuf_dot_empty__pb2.Empty.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):
-  """The Beta API is deprecated for 0.15.0 and later.
-
-  It is recommended to use the GA API (classes and functions in this
-  file not marked beta) for all further purposes. This function was
-  generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
-  request_serializers = {
-    ('schema.SchemaService', 'GetSchema'): google_dot_protobuf_dot_empty__pb2.Empty.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/voltha/protos/third_party/google/api/annotations.desc b/voltha/protos/third_party/google/api/annotations.desc
deleted file mode 100644
index d159f06..0000000
--- a/voltha/protos/third_party/google/api/annotations.desc
+++ /dev/null
Binary files differ
diff --git a/voltha/protos/third_party/google/api/annotations_pb2.py b/voltha/protos/third_party/google/api/annotations_pb2.py
deleted file mode 100644
index 2121854..0000000
--- a/voltha/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/voltha/protos/third_party/google/api/http.desc b/voltha/protos/third_party/google/api/http.desc
deleted file mode 100644
index 7b2513a..0000000
--- a/voltha/protos/third_party/google/api/http.desc
+++ /dev/null
Binary files differ
diff --git a/voltha/protos/third_party/google/api/http_pb2.py b/voltha/protos/third_party/google/api/http_pb2.py
deleted file mode 100644
index b3abb3f..0000000
--- a/voltha/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/voltha/protos/voltha.desc b/voltha/protos/voltha.desc
deleted file mode 100644
index c870956..0000000
--- a/voltha/protos/voltha.desc
+++ /dev/null
Binary files differ
diff --git a/voltha/protos/voltha_pb2.py b/voltha/protos/voltha_pb2.py
deleted file mode 100644
index 1bae7aa..0000000
--- a/voltha/protos/voltha_pb2.py
+++ /dev/null
@@ -1,48 +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()
-
-
-import common_pb2 as common__pb2
-import health_pb2 as health__pb2
-import logical_layer_pb2 as logical__layer__pb2
-import adapter_pb2 as adapter__pb2
-import example_service_pb2 as example__service__pb2
-
-from common_pb2 import *
-from health_pb2 import *
-from logical_layer_pb2 import *
-from adapter_pb2 import *
-from example_service_pb2 import *
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='voltha.proto',
-  package='voltha',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0cvoltha.proto\x12\x06voltha\x1a\x0c\x63ommon.proto\x1a\x0chealth.proto\x1a\x13logical_layer.proto\x1a\radapter.proto\x1a\x15\x65xample_service.protoB<\n\x13org.opencord.volthaB\x0cVolthaProtos\xaa\x02\x16Opencord.Voltha.VolthaP\x00P\x01P\x02P\x03P\x04\x62\x06proto3')
-  ,
-  dependencies=[common__pb2.DESCRIPTOR,health__pb2.DESCRIPTOR,logical__layer__pb2.DESCRIPTOR,adapter__pb2.DESCRIPTOR,example__service__pb2.DESCRIPTOR,])
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-
-
-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
-# @@protoc_insertion_point(module_scope)
