# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: p4/config/v1/p4types.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='p4/config/v1/p4types.proto',
  package='p4.config.v1',
  syntax='proto3',
  serialized_pb=_b('\n\x1ap4/config/v1/p4types.proto\x12\x0cp4.config.v1\"\xa1\x07\n\nP4TypeInfo\x12\x36\n\x07structs\x18\x01 \x03(\x0b\x32%.p4.config.v1.P4TypeInfo.StructsEntry\x12\x36\n\x07headers\x18\x02 \x03(\x0b\x32%.p4.config.v1.P4TypeInfo.HeadersEntry\x12\x41\n\rheader_unions\x18\x03 \x03(\x0b\x32*.p4.config.v1.P4TypeInfo.HeaderUnionsEntry\x12\x32\n\x05\x65nums\x18\x04 \x03(\x0b\x32#.p4.config.v1.P4TypeInfo.EnumsEntry\x12,\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x1d.p4.config.v1.P4ErrorTypeSpec\x12K\n\x12serializable_enums\x18\x06 \x03(\x0b\x32/.p4.config.v1.P4TypeInfo.SerializableEnumsEntry\x12\x39\n\tnew_types\x18\x07 \x03(\x0b\x32&.p4.config.v1.P4TypeInfo.NewTypesEntry\x1aN\n\x0cStructsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.p4.config.v1.P4StructTypeSpec:\x02\x38\x01\x1aN\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.p4.config.v1.P4HeaderTypeSpec:\x02\x38\x01\x1aX\n\x11HeaderUnionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.p4.config.v1.P4HeaderUnionTypeSpec:\x02\x38\x01\x1aJ\n\nEnumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.P4EnumTypeSpec:\x02\x38\x01\x1a\x62\n\x16SerializableEnumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.p4.config.v1.P4SerializableEnumTypeSpec:\x02\x38\x01\x1aL\n\rNewTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.p4.config.v1.P4NewTypeSpec:\x02\x38\x01\"\x83\x05\n\x0eP4DataTypeSpec\x12:\n\tbitstring\x18\x01 \x01(\x0b\x32%.p4.config.v1.P4BitstringLikeTypeSpecH\x00\x12(\n\x04\x62ool\x18\x02 \x01(\x0b\x32\x18.p4.config.v1.P4BoolTypeH\x00\x12.\n\x05tuple\x18\x03 \x01(\x0b\x32\x1d.p4.config.v1.P4TupleTypeSpecH\x00\x12+\n\x06struct\x18\x04 \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12+\n\x06header\x18\x05 \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12\x31\n\x0cheader_union\x18\x06 \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12;\n\x0cheader_stack\x18\x07 \x01(\x0b\x32#.p4.config.v1.P4HeaderStackTypeSpecH\x00\x12\x46\n\x12header_union_stack\x18\x08 \x01(\x0b\x32(.p4.config.v1.P4HeaderUnionStackTypeSpecH\x00\x12)\n\x04\x65num\x18\t \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12*\n\x05\x65rror\x18\n \x01(\x0b\x32\x19.p4.config.v1.P4ErrorTypeH\x00\x12\x36\n\x11serializable_enum\x18\x0b \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x12-\n\x08new_type\x18\x0c \x01(\x0b\x32\x19.p4.config.v1.P4NamedTypeH\x00\x42\x0b\n\ttype_spec\"\x1b\n\x0bP4NamedType\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x0c\n\nP4BoolType\"\r\n\x0bP4ErrorType\"\xc5\x01\n\x17P4BitstringLikeTypeSpec\x12*\n\x03\x62it\x18\x01 \x01(\x0b\x32\x1b.p4.config.v1.P4BitTypeSpecH\x00\x12*\n\x03int\x18\x02 \x01(\x0b\x32\x1b.p4.config.v1.P4IntTypeSpecH\x00\x12\x30\n\x06varbit\x18\x03 \x01(\x0b\x32\x1e.p4.config.v1.P4VarbitTypeSpecH\x00\x12\x13\n\x0b\x61nnotations\x18\x04 \x03(\tB\x0b\n\ttype_spec\"!\n\rP4BitTypeSpec\x12\x10\n\x08\x62itwidth\x18\x01 \x01(\x05\"!\n\rP4IntTypeSpec\x12\x10\n\x08\x62itwidth\x18\x01 \x01(\x05\"(\n\x10P4VarbitTypeSpec\x12\x14\n\x0cmax_bitwidth\x18\x01 \x01(\x05\"@\n\x0fP4TupleTypeSpec\x12-\n\x07members\x18\x01 \x03(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpec\"\xa8\x01\n\x10P4StructTypeSpec\x12\x36\n\x07members\x18\x01 \x03(\x0b\x32%.p4.config.v1.P4StructTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x1aG\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\ttype_spec\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpec\"\xb1\x01\n\x10P4HeaderTypeSpec\x12\x36\n\x07members\x18\x01 \x03(\x0b\x32%.p4.config.v1.P4HeaderTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x1aP\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\ttype_spec\x18\x02 \x01(\x0b\x32%.p4.config.v1.P4BitstringLikeTypeSpec\"\xac\x01\n\x15P4HeaderUnionTypeSpec\x12;\n\x07members\x18\x01 \x03(\x0b\x32*.p4.config.v1.P4HeaderUnionTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x1a\x41\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x06header\x18\x02 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\"P\n\x15P4HeaderStackTypeSpec\x12)\n\x06header\x18\x01 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\x12\x0c\n\x04size\x18\x02 \x01(\x05\"[\n\x1aP4HeaderUnionStackTypeSpec\x12/\n\x0cheader_union\x18\x01 \x01(\x0b\x32\x19.p4.config.v1.P4NamedType\x12\x0c\n\x04size\x18\x02 \x01(\x05\"\x88\x01\n\x0eP4EnumTypeSpec\x12\x34\n\x07members\x18\x01 \x03(\x0b\x32#.p4.config.v1.P4EnumTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x1a+\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\"\xe5\x01\n\x1aP4SerializableEnumTypeSpec\x12\x34\n\x0funderlying_type\x18\x01 \x01(\x0b\x32\x1b.p4.config.v1.P4BitTypeSpec\x12@\n\x07members\x18\x02 \x03(\x0b\x32/.p4.config.v1.P4SerializableEnumTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\x1a:\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\t\"\"\n\x0fP4ErrorTypeSpec\x12\x0f\n\x07members\x18\x01 \x03(\t\"9\n\x14P4NewTypeTranslation\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x14\n\x0csdn_bitwidth\x18\x02 \x01(\x05\"\xac\x01\n\rP4NewTypeSpec\x12\x35\n\roriginal_type\x18\x01 \x01(\x0b\x32\x1c.p4.config.v1.P4DataTypeSpecH\x00\x12=\n\x0ftranslated_type\x18\x02 \x01(\x0b\x32\".p4.config.v1.P4NewTypeTranslationH\x00\x12\x13\n\x0b\x61nnotations\x18\x03 \x03(\tB\x10\n\x0erepresentationb\x06proto3')
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)




_P4TYPEINFO_STRUCTSENTRY = _descriptor.Descriptor(
  name='StructsEntry',
  full_name='p4.config.v1.P4TypeInfo.StructsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='p4.config.v1.P4TypeInfo.StructsEntry.key', 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='value', full_name='p4.config.v1.P4TypeInfo.StructsEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=472,
  serialized_end=550,
)

_P4TYPEINFO_HEADERSENTRY = _descriptor.Descriptor(
  name='HeadersEntry',
  full_name='p4.config.v1.P4TypeInfo.HeadersEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='p4.config.v1.P4TypeInfo.HeadersEntry.key', 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='value', full_name='p4.config.v1.P4TypeInfo.HeadersEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=552,
  serialized_end=630,
)

_P4TYPEINFO_HEADERUNIONSENTRY = _descriptor.Descriptor(
  name='HeaderUnionsEntry',
  full_name='p4.config.v1.P4TypeInfo.HeaderUnionsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='p4.config.v1.P4TypeInfo.HeaderUnionsEntry.key', 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='value', full_name='p4.config.v1.P4TypeInfo.HeaderUnionsEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=632,
  serialized_end=720,
)

_P4TYPEINFO_ENUMSENTRY = _descriptor.Descriptor(
  name='EnumsEntry',
  full_name='p4.config.v1.P4TypeInfo.EnumsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='p4.config.v1.P4TypeInfo.EnumsEntry.key', 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='value', full_name='p4.config.v1.P4TypeInfo.EnumsEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=722,
  serialized_end=796,
)

_P4TYPEINFO_SERIALIZABLEENUMSENTRY = _descriptor.Descriptor(
  name='SerializableEnumsEntry',
  full_name='p4.config.v1.P4TypeInfo.SerializableEnumsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='p4.config.v1.P4TypeInfo.SerializableEnumsEntry.key', 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='value', full_name='p4.config.v1.P4TypeInfo.SerializableEnumsEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=798,
  serialized_end=896,
)

_P4TYPEINFO_NEWTYPESENTRY = _descriptor.Descriptor(
  name='NewTypesEntry',
  full_name='p4.config.v1.P4TypeInfo.NewTypesEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='p4.config.v1.P4TypeInfo.NewTypesEntry.key', 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='value', full_name='p4.config.v1.P4TypeInfo.NewTypesEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=898,
  serialized_end=974,
)

_P4TYPEINFO = _descriptor.Descriptor(
  name='P4TypeInfo',
  full_name='p4.config.v1.P4TypeInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='structs', full_name='p4.config.v1.P4TypeInfo.structs', 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='headers', full_name='p4.config.v1.P4TypeInfo.headers', 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),
    _descriptor.FieldDescriptor(
      name='header_unions', full_name='p4.config.v1.P4TypeInfo.header_unions', 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='enums', full_name='p4.config.v1.P4TypeInfo.enums', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='error', full_name='p4.config.v1.P4TypeInfo.error', 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='serializable_enums', full_name='p4.config.v1.P4TypeInfo.serializable_enums', index=5,
      number=6, 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='new_types', full_name='p4.config.v1.P4TypeInfo.new_types', 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=[_P4TYPEINFO_STRUCTSENTRY, _P4TYPEINFO_HEADERSENTRY, _P4TYPEINFO_HEADERUNIONSENTRY, _P4TYPEINFO_ENUMSENTRY, _P4TYPEINFO_SERIALIZABLEENUMSENTRY, _P4TYPEINFO_NEWTYPESENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=45,
  serialized_end=974,
)


_P4DATATYPESPEC = _descriptor.Descriptor(
  name='P4DataTypeSpec',
  full_name='p4.config.v1.P4DataTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bitstring', full_name='p4.config.v1.P4DataTypeSpec.bitstring', 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='bool', full_name='p4.config.v1.P4DataTypeSpec.bool', 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='tuple', full_name='p4.config.v1.P4DataTypeSpec.tuple', 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='struct', full_name='p4.config.v1.P4DataTypeSpec.struct', 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='header', full_name='p4.config.v1.P4DataTypeSpec.header', 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='header_union', full_name='p4.config.v1.P4DataTypeSpec.header_union', 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='header_stack', full_name='p4.config.v1.P4DataTypeSpec.header_stack', 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='header_union_stack', full_name='p4.config.v1.P4DataTypeSpec.header_union_stack', 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='enum', full_name='p4.config.v1.P4DataTypeSpec.enum', 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),
    _descriptor.FieldDescriptor(
      name='error', full_name='p4.config.v1.P4DataTypeSpec.error', index=9,
      number=10, 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='serializable_enum', full_name='p4.config.v1.P4DataTypeSpec.serializable_enum', index=10,
      number=11, 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='new_type', full_name='p4.config.v1.P4DataTypeSpec.new_type', 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=[
    _descriptor.OneofDescriptor(
      name='type_spec', full_name='p4.config.v1.P4DataTypeSpec.type_spec',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=977,
  serialized_end=1620,
)


_P4NAMEDTYPE = _descriptor.Descriptor(
  name='P4NamedType',
  full_name='p4.config.v1.P4NamedType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='p4.config.v1.P4NamedType.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1622,
  serialized_end=1649,
)


_P4BOOLTYPE = _descriptor.Descriptor(
  name='P4BoolType',
  full_name='p4.config.v1.P4BoolType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1651,
  serialized_end=1663,
)


_P4ERRORTYPE = _descriptor.Descriptor(
  name='P4ErrorType',
  full_name='p4.config.v1.P4ErrorType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1665,
  serialized_end=1678,
)


_P4BITSTRINGLIKETYPESPEC = _descriptor.Descriptor(
  name='P4BitstringLikeTypeSpec',
  full_name='p4.config.v1.P4BitstringLikeTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bit', full_name='p4.config.v1.P4BitstringLikeTypeSpec.bit', 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='int', full_name='p4.config.v1.P4BitstringLikeTypeSpec.int', 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='varbit', full_name='p4.config.v1.P4BitstringLikeTypeSpec.varbit', 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='annotations', full_name='p4.config.v1.P4BitstringLikeTypeSpec.annotations', index=3,
      number=4, type=9, cpp_type=9, 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='type_spec', full_name='p4.config.v1.P4BitstringLikeTypeSpec.type_spec',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1681,
  serialized_end=1878,
)


_P4BITTYPESPEC = _descriptor.Descriptor(
  name='P4BitTypeSpec',
  full_name='p4.config.v1.P4BitTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bitwidth', full_name='p4.config.v1.P4BitTypeSpec.bitwidth', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1880,
  serialized_end=1913,
)


_P4INTTYPESPEC = _descriptor.Descriptor(
  name='P4IntTypeSpec',
  full_name='p4.config.v1.P4IntTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bitwidth', full_name='p4.config.v1.P4IntTypeSpec.bitwidth', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1915,
  serialized_end=1948,
)


_P4VARBITTYPESPEC = _descriptor.Descriptor(
  name='P4VarbitTypeSpec',
  full_name='p4.config.v1.P4VarbitTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='max_bitwidth', full_name='p4.config.v1.P4VarbitTypeSpec.max_bitwidth', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1950,
  serialized_end=1990,
)


_P4TUPLETYPESPEC = _descriptor.Descriptor(
  name='P4TupleTypeSpec',
  full_name='p4.config.v1.P4TupleTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='members', full_name='p4.config.v1.P4TupleTypeSpec.members', 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=1992,
  serialized_end=2056,
)


_P4STRUCTTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4StructTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='p4.config.v1.P4StructTypeSpec.Member.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='type_spec', full_name='p4.config.v1.P4StructTypeSpec.Member.type_spec', 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=2156,
  serialized_end=2227,
)

_P4STRUCTTYPESPEC = _descriptor.Descriptor(
  name='P4StructTypeSpec',
  full_name='p4.config.v1.P4StructTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='members', full_name='p4.config.v1.P4StructTypeSpec.members', 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='annotations', full_name='p4.config.v1.P4StructTypeSpec.annotations', index=1,
      number=2, type=9, cpp_type=9, 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=[_P4STRUCTTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2059,
  serialized_end=2227,
)


_P4HEADERTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4HeaderTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='p4.config.v1.P4HeaderTypeSpec.Member.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='type_spec', full_name='p4.config.v1.P4HeaderTypeSpec.Member.type_spec', 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=2327,
  serialized_end=2407,
)

_P4HEADERTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderTypeSpec',
  full_name='p4.config.v1.P4HeaderTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='members', full_name='p4.config.v1.P4HeaderTypeSpec.members', 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='annotations', full_name='p4.config.v1.P4HeaderTypeSpec.annotations', index=1,
      number=2, type=9, cpp_type=9, 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=[_P4HEADERTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2230,
  serialized_end=2407,
)


_P4HEADERUNIONTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4HeaderUnionTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='p4.config.v1.P4HeaderUnionTypeSpec.Member.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='header', full_name='p4.config.v1.P4HeaderUnionTypeSpec.Member.header', 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=2517,
  serialized_end=2582,
)

_P4HEADERUNIONTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderUnionTypeSpec',
  full_name='p4.config.v1.P4HeaderUnionTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='members', full_name='p4.config.v1.P4HeaderUnionTypeSpec.members', 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='annotations', full_name='p4.config.v1.P4HeaderUnionTypeSpec.annotations', index=1,
      number=2, type=9, cpp_type=9, 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=[_P4HEADERUNIONTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2410,
  serialized_end=2582,
)


_P4HEADERSTACKTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderStackTypeSpec',
  full_name='p4.config.v1.P4HeaderStackTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header', full_name='p4.config.v1.P4HeaderStackTypeSpec.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='size', full_name='p4.config.v1.P4HeaderStackTypeSpec.size', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2584,
  serialized_end=2664,
)


_P4HEADERUNIONSTACKTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderUnionStackTypeSpec',
  full_name='p4.config.v1.P4HeaderUnionStackTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header_union', full_name='p4.config.v1.P4HeaderUnionStackTypeSpec.header_union', 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='size', full_name='p4.config.v1.P4HeaderUnionStackTypeSpec.size', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2666,
  serialized_end=2757,
)


_P4ENUMTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4EnumTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='p4.config.v1.P4EnumTypeSpec.Member.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='annotations', full_name='p4.config.v1.P4EnumTypeSpec.Member.annotations', index=1,
      number=2, type=9, cpp_type=9, 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=2853,
  serialized_end=2896,
)

_P4ENUMTYPESPEC = _descriptor.Descriptor(
  name='P4EnumTypeSpec',
  full_name='p4.config.v1.P4EnumTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='members', full_name='p4.config.v1.P4EnumTypeSpec.members', 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='annotations', full_name='p4.config.v1.P4EnumTypeSpec.annotations', index=1,
      number=2, type=9, cpp_type=9, 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=[_P4ENUMTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2760,
  serialized_end=2896,
)


_P4SERIALIZABLEENUMTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4SerializableEnumTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='p4.config.v1.P4SerializableEnumTypeSpec.Member.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='value', full_name='p4.config.v1.P4SerializableEnumTypeSpec.Member.value', 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),
    _descriptor.FieldDescriptor(
      name='annotations', full_name='p4.config.v1.P4SerializableEnumTypeSpec.Member.annotations', index=2,
      number=3, type=9, cpp_type=9, 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=3070,
  serialized_end=3128,
)

_P4SERIALIZABLEENUMTYPESPEC = _descriptor.Descriptor(
  name='P4SerializableEnumTypeSpec',
  full_name='p4.config.v1.P4SerializableEnumTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='underlying_type', full_name='p4.config.v1.P4SerializableEnumTypeSpec.underlying_type', 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='members', full_name='p4.config.v1.P4SerializableEnumTypeSpec.members', 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),
    _descriptor.FieldDescriptor(
      name='annotations', full_name='p4.config.v1.P4SerializableEnumTypeSpec.annotations', index=2,
      number=3, type=9, cpp_type=9, 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=[_P4SERIALIZABLEENUMTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2899,
  serialized_end=3128,
)


_P4ERRORTYPESPEC = _descriptor.Descriptor(
  name='P4ErrorTypeSpec',
  full_name='p4.config.v1.P4ErrorTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='members', full_name='p4.config.v1.P4ErrorTypeSpec.members', index=0,
      number=1, type=9, cpp_type=9, 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=3130,
  serialized_end=3164,
)


_P4NEWTYPETRANSLATION = _descriptor.Descriptor(
  name='P4NewTypeTranslation',
  full_name='p4.config.v1.P4NewTypeTranslation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='uri', full_name='p4.config.v1.P4NewTypeTranslation.uri', 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='sdn_bitwidth', full_name='p4.config.v1.P4NewTypeTranslation.sdn_bitwidth', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3166,
  serialized_end=3223,
)


_P4NEWTYPESPEC = _descriptor.Descriptor(
  name='P4NewTypeSpec',
  full_name='p4.config.v1.P4NewTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='original_type', full_name='p4.config.v1.P4NewTypeSpec.original_type', 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='translated_type', full_name='p4.config.v1.P4NewTypeSpec.translated_type', 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='annotations', full_name='p4.config.v1.P4NewTypeSpec.annotations', index=2,
      number=3, type=9, cpp_type=9, 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='representation', full_name='p4.config.v1.P4NewTypeSpec.representation',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=3226,
  serialized_end=3398,
)

_P4TYPEINFO_STRUCTSENTRY.fields_by_name['value'].message_type = _P4STRUCTTYPESPEC
_P4TYPEINFO_STRUCTSENTRY.containing_type = _P4TYPEINFO
_P4TYPEINFO_HEADERSENTRY.fields_by_name['value'].message_type = _P4HEADERTYPESPEC
_P4TYPEINFO_HEADERSENTRY.containing_type = _P4TYPEINFO
_P4TYPEINFO_HEADERUNIONSENTRY.fields_by_name['value'].message_type = _P4HEADERUNIONTYPESPEC
_P4TYPEINFO_HEADERUNIONSENTRY.containing_type = _P4TYPEINFO
_P4TYPEINFO_ENUMSENTRY.fields_by_name['value'].message_type = _P4ENUMTYPESPEC
_P4TYPEINFO_ENUMSENTRY.containing_type = _P4TYPEINFO
_P4TYPEINFO_SERIALIZABLEENUMSENTRY.fields_by_name['value'].message_type = _P4SERIALIZABLEENUMTYPESPEC
_P4TYPEINFO_SERIALIZABLEENUMSENTRY.containing_type = _P4TYPEINFO
_P4TYPEINFO_NEWTYPESENTRY.fields_by_name['value'].message_type = _P4NEWTYPESPEC
_P4TYPEINFO_NEWTYPESENTRY.containing_type = _P4TYPEINFO
_P4TYPEINFO.fields_by_name['structs'].message_type = _P4TYPEINFO_STRUCTSENTRY
_P4TYPEINFO.fields_by_name['headers'].message_type = _P4TYPEINFO_HEADERSENTRY
_P4TYPEINFO.fields_by_name['header_unions'].message_type = _P4TYPEINFO_HEADERUNIONSENTRY
_P4TYPEINFO.fields_by_name['enums'].message_type = _P4TYPEINFO_ENUMSENTRY
_P4TYPEINFO.fields_by_name['error'].message_type = _P4ERRORTYPESPEC
_P4TYPEINFO.fields_by_name['serializable_enums'].message_type = _P4TYPEINFO_SERIALIZABLEENUMSENTRY
_P4TYPEINFO.fields_by_name['new_types'].message_type = _P4TYPEINFO_NEWTYPESENTRY
_P4DATATYPESPEC.fields_by_name['bitstring'].message_type = _P4BITSTRINGLIKETYPESPEC
_P4DATATYPESPEC.fields_by_name['bool'].message_type = _P4BOOLTYPE
_P4DATATYPESPEC.fields_by_name['tuple'].message_type = _P4TUPLETYPESPEC
_P4DATATYPESPEC.fields_by_name['struct'].message_type = _P4NAMEDTYPE
_P4DATATYPESPEC.fields_by_name['header'].message_type = _P4NAMEDTYPE
_P4DATATYPESPEC.fields_by_name['header_union'].message_type = _P4NAMEDTYPE
_P4DATATYPESPEC.fields_by_name['header_stack'].message_type = _P4HEADERSTACKTYPESPEC
_P4DATATYPESPEC.fields_by_name['header_union_stack'].message_type = _P4HEADERUNIONSTACKTYPESPEC
_P4DATATYPESPEC.fields_by_name['enum'].message_type = _P4NAMEDTYPE
_P4DATATYPESPEC.fields_by_name['error'].message_type = _P4ERRORTYPE
_P4DATATYPESPEC.fields_by_name['serializable_enum'].message_type = _P4NAMEDTYPE
_P4DATATYPESPEC.fields_by_name['new_type'].message_type = _P4NAMEDTYPE
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['bitstring'])
_P4DATATYPESPEC.fields_by_name['bitstring'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['bool'])
_P4DATATYPESPEC.fields_by_name['bool'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['tuple'])
_P4DATATYPESPEC.fields_by_name['tuple'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['struct'])
_P4DATATYPESPEC.fields_by_name['struct'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['header'])
_P4DATATYPESPEC.fields_by_name['header'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['header_union'])
_P4DATATYPESPEC.fields_by_name['header_union'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['header_stack'])
_P4DATATYPESPEC.fields_by_name['header_stack'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['header_union_stack'])
_P4DATATYPESPEC.fields_by_name['header_union_stack'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['enum'])
_P4DATATYPESPEC.fields_by_name['enum'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['error'])
_P4DATATYPESPEC.fields_by_name['error'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['serializable_enum'])
_P4DATATYPESPEC.fields_by_name['serializable_enum'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4DATATYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4DATATYPESPEC.fields_by_name['new_type'])
_P4DATATYPESPEC.fields_by_name['new_type'].containing_oneof = _P4DATATYPESPEC.oneofs_by_name['type_spec']
_P4BITSTRINGLIKETYPESPEC.fields_by_name['bit'].message_type = _P4BITTYPESPEC
_P4BITSTRINGLIKETYPESPEC.fields_by_name['int'].message_type = _P4INTTYPESPEC
_P4BITSTRINGLIKETYPESPEC.fields_by_name['varbit'].message_type = _P4VARBITTYPESPEC
_P4BITSTRINGLIKETYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4BITSTRINGLIKETYPESPEC.fields_by_name['bit'])
_P4BITSTRINGLIKETYPESPEC.fields_by_name['bit'].containing_oneof = _P4BITSTRINGLIKETYPESPEC.oneofs_by_name['type_spec']
_P4BITSTRINGLIKETYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4BITSTRINGLIKETYPESPEC.fields_by_name['int'])
_P4BITSTRINGLIKETYPESPEC.fields_by_name['int'].containing_oneof = _P4BITSTRINGLIKETYPESPEC.oneofs_by_name['type_spec']
_P4BITSTRINGLIKETYPESPEC.oneofs_by_name['type_spec'].fields.append(
  _P4BITSTRINGLIKETYPESPEC.fields_by_name['varbit'])
_P4BITSTRINGLIKETYPESPEC.fields_by_name['varbit'].containing_oneof = _P4BITSTRINGLIKETYPESPEC.oneofs_by_name['type_spec']
_P4TUPLETYPESPEC.fields_by_name['members'].message_type = _P4DATATYPESPEC
_P4STRUCTTYPESPEC_MEMBER.fields_by_name['type_spec'].message_type = _P4DATATYPESPEC
_P4STRUCTTYPESPEC_MEMBER.containing_type = _P4STRUCTTYPESPEC
_P4STRUCTTYPESPEC.fields_by_name['members'].message_type = _P4STRUCTTYPESPEC_MEMBER
_P4HEADERTYPESPEC_MEMBER.fields_by_name['type_spec'].message_type = _P4BITSTRINGLIKETYPESPEC
_P4HEADERTYPESPEC_MEMBER.containing_type = _P4HEADERTYPESPEC
_P4HEADERTYPESPEC.fields_by_name['members'].message_type = _P4HEADERTYPESPEC_MEMBER
_P4HEADERUNIONTYPESPEC_MEMBER.fields_by_name['header'].message_type = _P4NAMEDTYPE
_P4HEADERUNIONTYPESPEC_MEMBER.containing_type = _P4HEADERUNIONTYPESPEC
_P4HEADERUNIONTYPESPEC.fields_by_name['members'].message_type = _P4HEADERUNIONTYPESPEC_MEMBER
_P4HEADERSTACKTYPESPEC.fields_by_name['header'].message_type = _P4NAMEDTYPE
_P4HEADERUNIONSTACKTYPESPEC.fields_by_name['header_union'].message_type = _P4NAMEDTYPE
_P4ENUMTYPESPEC_MEMBER.containing_type = _P4ENUMTYPESPEC
_P4ENUMTYPESPEC.fields_by_name['members'].message_type = _P4ENUMTYPESPEC_MEMBER
_P4SERIALIZABLEENUMTYPESPEC_MEMBER.containing_type = _P4SERIALIZABLEENUMTYPESPEC
_P4SERIALIZABLEENUMTYPESPEC.fields_by_name['underlying_type'].message_type = _P4BITTYPESPEC
_P4SERIALIZABLEENUMTYPESPEC.fields_by_name['members'].message_type = _P4SERIALIZABLEENUMTYPESPEC_MEMBER
_P4NEWTYPESPEC.fields_by_name['original_type'].message_type = _P4DATATYPESPEC
_P4NEWTYPESPEC.fields_by_name['translated_type'].message_type = _P4NEWTYPETRANSLATION
_P4NEWTYPESPEC.oneofs_by_name['representation'].fields.append(
  _P4NEWTYPESPEC.fields_by_name['original_type'])
_P4NEWTYPESPEC.fields_by_name['original_type'].containing_oneof = _P4NEWTYPESPEC.oneofs_by_name['representation']
_P4NEWTYPESPEC.oneofs_by_name['representation'].fields.append(
  _P4NEWTYPESPEC.fields_by_name['translated_type'])
_P4NEWTYPESPEC.fields_by_name['translated_type'].containing_oneof = _P4NEWTYPESPEC.oneofs_by_name['representation']
DESCRIPTOR.message_types_by_name['P4TypeInfo'] = _P4TYPEINFO
DESCRIPTOR.message_types_by_name['P4DataTypeSpec'] = _P4DATATYPESPEC
DESCRIPTOR.message_types_by_name['P4NamedType'] = _P4NAMEDTYPE
DESCRIPTOR.message_types_by_name['P4BoolType'] = _P4BOOLTYPE
DESCRIPTOR.message_types_by_name['P4ErrorType'] = _P4ERRORTYPE
DESCRIPTOR.message_types_by_name['P4BitstringLikeTypeSpec'] = _P4BITSTRINGLIKETYPESPEC
DESCRIPTOR.message_types_by_name['P4BitTypeSpec'] = _P4BITTYPESPEC
DESCRIPTOR.message_types_by_name['P4IntTypeSpec'] = _P4INTTYPESPEC
DESCRIPTOR.message_types_by_name['P4VarbitTypeSpec'] = _P4VARBITTYPESPEC
DESCRIPTOR.message_types_by_name['P4TupleTypeSpec'] = _P4TUPLETYPESPEC
DESCRIPTOR.message_types_by_name['P4StructTypeSpec'] = _P4STRUCTTYPESPEC
DESCRIPTOR.message_types_by_name['P4HeaderTypeSpec'] = _P4HEADERTYPESPEC
DESCRIPTOR.message_types_by_name['P4HeaderUnionTypeSpec'] = _P4HEADERUNIONTYPESPEC
DESCRIPTOR.message_types_by_name['P4HeaderStackTypeSpec'] = _P4HEADERSTACKTYPESPEC
DESCRIPTOR.message_types_by_name['P4HeaderUnionStackTypeSpec'] = _P4HEADERUNIONSTACKTYPESPEC
DESCRIPTOR.message_types_by_name['P4EnumTypeSpec'] = _P4ENUMTYPESPEC
DESCRIPTOR.message_types_by_name['P4SerializableEnumTypeSpec'] = _P4SERIALIZABLEENUMTYPESPEC
DESCRIPTOR.message_types_by_name['P4ErrorTypeSpec'] = _P4ERRORTYPESPEC
DESCRIPTOR.message_types_by_name['P4NewTypeTranslation'] = _P4NEWTYPETRANSLATION
DESCRIPTOR.message_types_by_name['P4NewTypeSpec'] = _P4NEWTYPESPEC

P4TypeInfo = _reflection.GeneratedProtocolMessageType('P4TypeInfo', (_message.Message,), dict(

  StructsEntry = _reflection.GeneratedProtocolMessageType('StructsEntry', (_message.Message,), dict(
    DESCRIPTOR = _P4TYPEINFO_STRUCTSENTRY,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4TypeInfo.StructsEntry)
    ))
  ,

  HeadersEntry = _reflection.GeneratedProtocolMessageType('HeadersEntry', (_message.Message,), dict(
    DESCRIPTOR = _P4TYPEINFO_HEADERSENTRY,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4TypeInfo.HeadersEntry)
    ))
  ,

  HeaderUnionsEntry = _reflection.GeneratedProtocolMessageType('HeaderUnionsEntry', (_message.Message,), dict(
    DESCRIPTOR = _P4TYPEINFO_HEADERUNIONSENTRY,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4TypeInfo.HeaderUnionsEntry)
    ))
  ,

  EnumsEntry = _reflection.GeneratedProtocolMessageType('EnumsEntry', (_message.Message,), dict(
    DESCRIPTOR = _P4TYPEINFO_ENUMSENTRY,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4TypeInfo.EnumsEntry)
    ))
  ,

  SerializableEnumsEntry = _reflection.GeneratedProtocolMessageType('SerializableEnumsEntry', (_message.Message,), dict(
    DESCRIPTOR = _P4TYPEINFO_SERIALIZABLEENUMSENTRY,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4TypeInfo.SerializableEnumsEntry)
    ))
  ,

  NewTypesEntry = _reflection.GeneratedProtocolMessageType('NewTypesEntry', (_message.Message,), dict(
    DESCRIPTOR = _P4TYPEINFO_NEWTYPESENTRY,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4TypeInfo.NewTypesEntry)
    ))
  ,
  DESCRIPTOR = _P4TYPEINFO,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4TypeInfo)
  ))
_sym_db.RegisterMessage(P4TypeInfo)
_sym_db.RegisterMessage(P4TypeInfo.StructsEntry)
_sym_db.RegisterMessage(P4TypeInfo.HeadersEntry)
_sym_db.RegisterMessage(P4TypeInfo.HeaderUnionsEntry)
_sym_db.RegisterMessage(P4TypeInfo.EnumsEntry)
_sym_db.RegisterMessage(P4TypeInfo.SerializableEnumsEntry)
_sym_db.RegisterMessage(P4TypeInfo.NewTypesEntry)

P4DataTypeSpec = _reflection.GeneratedProtocolMessageType('P4DataTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4DATATYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4DataTypeSpec)
  ))
_sym_db.RegisterMessage(P4DataTypeSpec)

P4NamedType = _reflection.GeneratedProtocolMessageType('P4NamedType', (_message.Message,), dict(
  DESCRIPTOR = _P4NAMEDTYPE,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4NamedType)
  ))
_sym_db.RegisterMessage(P4NamedType)

P4BoolType = _reflection.GeneratedProtocolMessageType('P4BoolType', (_message.Message,), dict(
  DESCRIPTOR = _P4BOOLTYPE,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4BoolType)
  ))
_sym_db.RegisterMessage(P4BoolType)

P4ErrorType = _reflection.GeneratedProtocolMessageType('P4ErrorType', (_message.Message,), dict(
  DESCRIPTOR = _P4ERRORTYPE,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4ErrorType)
  ))
_sym_db.RegisterMessage(P4ErrorType)

P4BitstringLikeTypeSpec = _reflection.GeneratedProtocolMessageType('P4BitstringLikeTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4BITSTRINGLIKETYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4BitstringLikeTypeSpec)
  ))
_sym_db.RegisterMessage(P4BitstringLikeTypeSpec)

P4BitTypeSpec = _reflection.GeneratedProtocolMessageType('P4BitTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4BITTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4BitTypeSpec)
  ))
_sym_db.RegisterMessage(P4BitTypeSpec)

P4IntTypeSpec = _reflection.GeneratedProtocolMessageType('P4IntTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4INTTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4IntTypeSpec)
  ))
_sym_db.RegisterMessage(P4IntTypeSpec)

P4VarbitTypeSpec = _reflection.GeneratedProtocolMessageType('P4VarbitTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4VARBITTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4VarbitTypeSpec)
  ))
_sym_db.RegisterMessage(P4VarbitTypeSpec)

P4TupleTypeSpec = _reflection.GeneratedProtocolMessageType('P4TupleTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4TUPLETYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4TupleTypeSpec)
  ))
_sym_db.RegisterMessage(P4TupleTypeSpec)

P4StructTypeSpec = _reflection.GeneratedProtocolMessageType('P4StructTypeSpec', (_message.Message,), dict(

  Member = _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), dict(
    DESCRIPTOR = _P4STRUCTTYPESPEC_MEMBER,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4StructTypeSpec.Member)
    ))
  ,
  DESCRIPTOR = _P4STRUCTTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4StructTypeSpec)
  ))
_sym_db.RegisterMessage(P4StructTypeSpec)
_sym_db.RegisterMessage(P4StructTypeSpec.Member)

P4HeaderTypeSpec = _reflection.GeneratedProtocolMessageType('P4HeaderTypeSpec', (_message.Message,), dict(

  Member = _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), dict(
    DESCRIPTOR = _P4HEADERTYPESPEC_MEMBER,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4HeaderTypeSpec.Member)
    ))
  ,
  DESCRIPTOR = _P4HEADERTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4HeaderTypeSpec)
  ))
_sym_db.RegisterMessage(P4HeaderTypeSpec)
_sym_db.RegisterMessage(P4HeaderTypeSpec.Member)

P4HeaderUnionTypeSpec = _reflection.GeneratedProtocolMessageType('P4HeaderUnionTypeSpec', (_message.Message,), dict(

  Member = _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), dict(
    DESCRIPTOR = _P4HEADERUNIONTYPESPEC_MEMBER,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4HeaderUnionTypeSpec.Member)
    ))
  ,
  DESCRIPTOR = _P4HEADERUNIONTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4HeaderUnionTypeSpec)
  ))
_sym_db.RegisterMessage(P4HeaderUnionTypeSpec)
_sym_db.RegisterMessage(P4HeaderUnionTypeSpec.Member)

P4HeaderStackTypeSpec = _reflection.GeneratedProtocolMessageType('P4HeaderStackTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4HEADERSTACKTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4HeaderStackTypeSpec)
  ))
_sym_db.RegisterMessage(P4HeaderStackTypeSpec)

P4HeaderUnionStackTypeSpec = _reflection.GeneratedProtocolMessageType('P4HeaderUnionStackTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4HEADERUNIONSTACKTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4HeaderUnionStackTypeSpec)
  ))
_sym_db.RegisterMessage(P4HeaderUnionStackTypeSpec)

P4EnumTypeSpec = _reflection.GeneratedProtocolMessageType('P4EnumTypeSpec', (_message.Message,), dict(

  Member = _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), dict(
    DESCRIPTOR = _P4ENUMTYPESPEC_MEMBER,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4EnumTypeSpec.Member)
    ))
  ,
  DESCRIPTOR = _P4ENUMTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4EnumTypeSpec)
  ))
_sym_db.RegisterMessage(P4EnumTypeSpec)
_sym_db.RegisterMessage(P4EnumTypeSpec.Member)

P4SerializableEnumTypeSpec = _reflection.GeneratedProtocolMessageType('P4SerializableEnumTypeSpec', (_message.Message,), dict(

  Member = _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), dict(
    DESCRIPTOR = _P4SERIALIZABLEENUMTYPESPEC_MEMBER,
    __module__ = 'p4.config.v1.p4types_pb2'
    # @@protoc_insertion_point(class_scope:p4.config.v1.P4SerializableEnumTypeSpec.Member)
    ))
  ,
  DESCRIPTOR = _P4SERIALIZABLEENUMTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4SerializableEnumTypeSpec)
  ))
_sym_db.RegisterMessage(P4SerializableEnumTypeSpec)
_sym_db.RegisterMessage(P4SerializableEnumTypeSpec.Member)

P4ErrorTypeSpec = _reflection.GeneratedProtocolMessageType('P4ErrorTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4ERRORTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4ErrorTypeSpec)
  ))
_sym_db.RegisterMessage(P4ErrorTypeSpec)

P4NewTypeTranslation = _reflection.GeneratedProtocolMessageType('P4NewTypeTranslation', (_message.Message,), dict(
  DESCRIPTOR = _P4NEWTYPETRANSLATION,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4NewTypeTranslation)
  ))
_sym_db.RegisterMessage(P4NewTypeTranslation)

P4NewTypeSpec = _reflection.GeneratedProtocolMessageType('P4NewTypeSpec', (_message.Message,), dict(
  DESCRIPTOR = _P4NEWTYPESPEC,
  __module__ = 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4NewTypeSpec)
  ))
_sym_db.RegisterMessage(P4NewTypeSpec)


_P4TYPEINFO_STRUCTSENTRY.has_options = True
_P4TYPEINFO_STRUCTSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_P4TYPEINFO_HEADERSENTRY.has_options = True
_P4TYPEINFO_HEADERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_P4TYPEINFO_HEADERUNIONSENTRY.has_options = True
_P4TYPEINFO_HEADERUNIONSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_P4TYPEINFO_ENUMSENTRY.has_options = True
_P4TYPEINFO_ENUMSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_P4TYPEINFO_SERIALIZABLEENUMSENTRY.has_options = True
_P4TYPEINFO_SERIALIZABLEENUMSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_P4TYPEINFO_NEWTYPESENTRY.has_options = True
_P4TYPEINFO_NEWTYPESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  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
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
