# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: p4/config/v1/p4types.proto
"""Generated protocol buffer code."""
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
# @@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_options=b'Z+github.com/p4lang/p4runtime/go/p4/config/v1',
  create_key=_descriptor._internal_create_key,
  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\x02\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(\t\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x06 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotationB\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\x02\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\x12:\n\x14\x61nnotation_locations\x18\x03 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\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\x02\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\x12:\n\x14\x61nnotation_locations\x18\x03 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\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\x02\n\x15P4HeaderUnionTypeSpec\x12;\n\x07members\x18\x01 \x03(\x0b\x32*.p4.config.v1.P4HeaderUnionTypeSpec.Member\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x03 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\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\"D\n\x0cKeyValuePair\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.p4.config.v1.Expression\"@\n\x10KeyValuePairList\x12,\n\x08kv_pairs\x18\x01 \x03(\x0b\x32\x1a.p4.config.v1.KeyValuePair\"Z\n\nExpression\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x15\n\x0bint64_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x42\x07\n\x05value\"?\n\x0e\x45xpressionList\x12-\n\x0b\x65xpressions\x18\x01 \x03(\x0b\x32\x18.p4.config.v1.Expression\"\xd4\x01\n\x14StructuredAnnotation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x0f\x65xpression_list\x18\x02 \x01(\x0b\x32\x1c.p4.config.v1.ExpressionListH\x00\x12\x36\n\x0ckv_pair_list\x18\x03 \x01(\x0b\x32\x1e.p4.config.v1.KeyValuePairListH\x00\x12\x35\n\x0fsource_location\x18\x04 \x01(\x0b\x32\x1c.p4.config.v1.SourceLocationB\x06\n\x04\x62ody\"<\n\x0eSourceLocation\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x0c\n\x04line\x18\x02 \x01(\x05\x12\x0e\n\x06\x63olumn\x18\x03 \x01(\x05\"\x89\x03\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\x12:\n\x14\x61nnotation_locations\x18\x04 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x03 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\x1a\xab\x01\n\x06Member\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x61nnotations\x18\x02 \x03(\t\x12:\n\x14\x61nnotation_locations\x18\x04 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x03 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"\xe6\x03\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\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\x1a\xba\x01\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\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotation\"\"\n\x0fP4ErrorTypeSpec\x12\x0f\n\x07members\x18\x01 \x03(\t\"\x98\x01\n\x14P4NewTypeTranslation\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x16\n\x0csdn_bitwidth\x18\x02 \x01(\x05H\x00\x12\x42\n\nsdn_string\x18\x03 \x01(\x0b\x32,.p4.config.v1.P4NewTypeTranslation.SdnStringH\x00\x1a\x0b\n\tSdnStringB\n\n\x08sdn_type\"\xac\x02\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(\t\x12:\n\x14\x61nnotation_locations\x18\x05 \x03(\x0b\x32\x1c.p4.config.v1.SourceLocation\x12\x42\n\x16structured_annotations\x18\x04 \x03(\x0b\x32\".p4.config.v1.StructuredAnnotationB\x10\n\x0erepresentationB-Z+github.com/p4lang/p4runtime/go/p4/config/v1b\x06proto3'
)




_P4TYPEINFO_STRUCTSENTRY = _descriptor.Descriptor(
  name='StructsEntry',
  full_name='p4.config.v1.P4TypeInfo.StructsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_P4TYPEINFO_STRUCTSENTRY, _P4TYPEINFO_HEADERSENTRY, _P4TYPEINFO_HEADERUNIONSENTRY, _P4TYPEINFO_ENUMSENTRY, _P4TYPEINFO_SERIALIZABLEENUMSENTRY, _P4TYPEINFO_NEWTYPESENTRY, ],
  enum_types=[
  ],
  serialized_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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_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,
      create_key=_descriptor._internal_create_key,
    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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_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,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_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,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_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,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4BitstringLikeTypeSpec.annotation_locations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4BitstringLikeTypeSpec.structured_annotations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_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,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=1681,
  serialized_end=2006,
)


_P4BITTYPESPEC = _descriptor.Descriptor(
  name='P4BitTypeSpec',
  full_name='p4.config.v1.P4BitTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2008,
  serialized_end=2041,
)


_P4INTTYPESPEC = _descriptor.Descriptor(
  name='P4IntTypeSpec',
  full_name='p4.config.v1.P4IntTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2043,
  serialized_end=2076,
)


_P4VARBITTYPESPEC = _descriptor.Descriptor(
  name='P4VarbitTypeSpec',
  full_name='p4.config.v1.P4VarbitTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2078,
  serialized_end=2118,
)


_P4TUPLETYPESPEC = _descriptor.Descriptor(
  name='P4TupleTypeSpec',
  full_name='p4.config.v1.P4TupleTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2120,
  serialized_end=2184,
)


_P4STRUCTTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4StructTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2412,
  serialized_end=2483,
)

_P4STRUCTTYPESPEC = _descriptor.Descriptor(
  name='P4StructTypeSpec',
  full_name='p4.config.v1.P4StructTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4StructTypeSpec.annotation_locations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4StructTypeSpec.structured_annotations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_P4STRUCTTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2187,
  serialized_end=2483,
)


_P4HEADERTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4HeaderTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2711,
  serialized_end=2791,
)

_P4HEADERTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderTypeSpec',
  full_name='p4.config.v1.P4HeaderTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4HeaderTypeSpec.annotation_locations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4HeaderTypeSpec.structured_annotations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_P4HEADERTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2486,
  serialized_end=2791,
)


_P4HEADERUNIONTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4HeaderUnionTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3029,
  serialized_end=3094,
)

_P4HEADERUNIONTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderUnionTypeSpec',
  full_name='p4.config.v1.P4HeaderUnionTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4HeaderUnionTypeSpec.annotation_locations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4HeaderUnionTypeSpec.structured_annotations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_P4HEADERUNIONTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2794,
  serialized_end=3094,
)


_P4HEADERSTACKTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderStackTypeSpec',
  full_name='p4.config.v1.P4HeaderStackTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3096,
  serialized_end=3176,
)


_P4HEADERUNIONSTACKTYPESPEC = _descriptor.Descriptor(
  name='P4HeaderUnionStackTypeSpec',
  full_name='p4.config.v1.P4HeaderUnionStackTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3178,
  serialized_end=3269,
)


_KEYVALUEPAIR = _descriptor.Descriptor(
  name='KeyValuePair',
  full_name='p4.config.v1.KeyValuePair',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='p4.config.v1.KeyValuePair.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='p4.config.v1.KeyValuePair.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3271,
  serialized_end=3339,
)


_KEYVALUEPAIRLIST = _descriptor.Descriptor(
  name='KeyValuePairList',
  full_name='p4.config.v1.KeyValuePairList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='kv_pairs', full_name='p4.config.v1.KeyValuePairList.kv_pairs', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3341,
  serialized_end=3405,
)


_EXPRESSION = _descriptor.Descriptor(
  name='Expression',
  full_name='p4.config.v1.Expression',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='string_value', full_name='p4.config.v1.Expression.string_value', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='int64_value', full_name='p4.config.v1.Expression.int64_value', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='bool_value', full_name='p4.config.v1.Expression.bool_value', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='p4.config.v1.Expression.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=3407,
  serialized_end=3497,
)


_EXPRESSIONLIST = _descriptor.Descriptor(
  name='ExpressionList',
  full_name='p4.config.v1.ExpressionList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='expressions', full_name='p4.config.v1.ExpressionList.expressions', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3499,
  serialized_end=3562,
)


_STRUCTUREDANNOTATION = _descriptor.Descriptor(
  name='StructuredAnnotation',
  full_name='p4.config.v1.StructuredAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='p4.config.v1.StructuredAnnotation.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='expression_list', full_name='p4.config.v1.StructuredAnnotation.expression_list', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='kv_pair_list', full_name='p4.config.v1.StructuredAnnotation.kv_pair_list', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='source_location', full_name='p4.config.v1.StructuredAnnotation.source_location', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='body', full_name='p4.config.v1.StructuredAnnotation.body',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=3565,
  serialized_end=3777,
)


_SOURCELOCATION = _descriptor.Descriptor(
  name='SourceLocation',
  full_name='p4.config.v1.SourceLocation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='file', full_name='p4.config.v1.SourceLocation.file', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='line', full_name='p4.config.v1.SourceLocation.line', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='column', full_name='p4.config.v1.SourceLocation.column', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3779,
  serialized_end=3839,
)


_P4ENUMTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4EnumTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4EnumTypeSpec.Member.annotation_locations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4EnumTypeSpec.Member.structured_annotations', index=3,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4064,
  serialized_end=4235,
)

_P4ENUMTYPESPEC = _descriptor.Descriptor(
  name='P4EnumTypeSpec',
  full_name='p4.config.v1.P4EnumTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4EnumTypeSpec.annotation_locations', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4EnumTypeSpec.structured_annotations', index=3,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_P4ENUMTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3842,
  serialized_end=4235,
)


_P4SERIALIZABLEENUMTYPESPEC_MEMBER = _descriptor.Descriptor(
  name='Member',
  full_name='p4.config.v1.P4SerializableEnumTypeSpec.Member',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4SerializableEnumTypeSpec.Member.annotation_locations', index=3,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4SerializableEnumTypeSpec.Member.structured_annotations', index=4,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4538,
  serialized_end=4724,
)

_P4SERIALIZABLEENUMTYPESPEC = _descriptor.Descriptor(
  name='P4SerializableEnumTypeSpec',
  full_name='p4.config.v1.P4SerializableEnumTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4SerializableEnumTypeSpec.annotation_locations', index=3,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4SerializableEnumTypeSpec.structured_annotations', index=4,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_P4SERIALIZABLEENUMTYPESPEC_MEMBER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4238,
  serialized_end=4724,
)


_P4ERRORTYPESPEC = _descriptor.Descriptor(
  name='P4ErrorTypeSpec',
  full_name='p4.config.v1.P4ErrorTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4726,
  serialized_end=4760,
)


_P4NEWTYPETRANSLATION_SDNSTRING = _descriptor.Descriptor(
  name='SdnString',
  full_name='p4.config.v1.P4NewTypeTranslation.SdnString',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4892,
  serialized_end=4903,
)

_P4NEWTYPETRANSLATION = _descriptor.Descriptor(
  name='P4NewTypeTranslation',
  full_name='p4.config.v1.P4NewTypeTranslation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='sdn_string', full_name='p4.config.v1.P4NewTypeTranslation.sdn_string', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_P4NEWTYPETRANSLATION_SDNSTRING, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='sdn_type', full_name='p4.config.v1.P4NewTypeTranslation.sdn_type',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=4763,
  serialized_end=4915,
)


_P4NEWTYPESPEC = _descriptor.Descriptor(
  name='P4NewTypeSpec',
  full_name='p4.config.v1.P4NewTypeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='annotation_locations', full_name='p4.config.v1.P4NewTypeSpec.annotation_locations', index=3,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='structured_annotations', full_name='p4.config.v1.P4NewTypeSpec.structured_annotations', index=4,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_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,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=4918,
  serialized_end=5218,
)

_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.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4BITSTRINGLIKETYPESPEC.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_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
_P4STRUCTTYPESPEC.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4STRUCTTYPESPEC.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_P4HEADERTYPESPEC_MEMBER.fields_by_name['type_spec'].message_type = _P4BITSTRINGLIKETYPESPEC
_P4HEADERTYPESPEC_MEMBER.containing_type = _P4HEADERTYPESPEC
_P4HEADERTYPESPEC.fields_by_name['members'].message_type = _P4HEADERTYPESPEC_MEMBER
_P4HEADERTYPESPEC.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4HEADERTYPESPEC.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_P4HEADERUNIONTYPESPEC_MEMBER.fields_by_name['header'].message_type = _P4NAMEDTYPE
_P4HEADERUNIONTYPESPEC_MEMBER.containing_type = _P4HEADERUNIONTYPESPEC
_P4HEADERUNIONTYPESPEC.fields_by_name['members'].message_type = _P4HEADERUNIONTYPESPEC_MEMBER
_P4HEADERUNIONTYPESPEC.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4HEADERUNIONTYPESPEC.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_P4HEADERSTACKTYPESPEC.fields_by_name['header'].message_type = _P4NAMEDTYPE
_P4HEADERUNIONSTACKTYPESPEC.fields_by_name['header_union'].message_type = _P4NAMEDTYPE
_KEYVALUEPAIR.fields_by_name['value'].message_type = _EXPRESSION
_KEYVALUEPAIRLIST.fields_by_name['kv_pairs'].message_type = _KEYVALUEPAIR
_EXPRESSION.oneofs_by_name['value'].fields.append(
  _EXPRESSION.fields_by_name['string_value'])
_EXPRESSION.fields_by_name['string_value'].containing_oneof = _EXPRESSION.oneofs_by_name['value']
_EXPRESSION.oneofs_by_name['value'].fields.append(
  _EXPRESSION.fields_by_name['int64_value'])
_EXPRESSION.fields_by_name['int64_value'].containing_oneof = _EXPRESSION.oneofs_by_name['value']
_EXPRESSION.oneofs_by_name['value'].fields.append(
  _EXPRESSION.fields_by_name['bool_value'])
_EXPRESSION.fields_by_name['bool_value'].containing_oneof = _EXPRESSION.oneofs_by_name['value']
_EXPRESSIONLIST.fields_by_name['expressions'].message_type = _EXPRESSION
_STRUCTUREDANNOTATION.fields_by_name['expression_list'].message_type = _EXPRESSIONLIST
_STRUCTUREDANNOTATION.fields_by_name['kv_pair_list'].message_type = _KEYVALUEPAIRLIST
_STRUCTUREDANNOTATION.fields_by_name['source_location'].message_type = _SOURCELOCATION
_STRUCTUREDANNOTATION.oneofs_by_name['body'].fields.append(
  _STRUCTUREDANNOTATION.fields_by_name['expression_list'])
_STRUCTUREDANNOTATION.fields_by_name['expression_list'].containing_oneof = _STRUCTUREDANNOTATION.oneofs_by_name['body']
_STRUCTUREDANNOTATION.oneofs_by_name['body'].fields.append(
  _STRUCTUREDANNOTATION.fields_by_name['kv_pair_list'])
_STRUCTUREDANNOTATION.fields_by_name['kv_pair_list'].containing_oneof = _STRUCTUREDANNOTATION.oneofs_by_name['body']
_P4ENUMTYPESPEC_MEMBER.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4ENUMTYPESPEC_MEMBER.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_P4ENUMTYPESPEC_MEMBER.containing_type = _P4ENUMTYPESPEC
_P4ENUMTYPESPEC.fields_by_name['members'].message_type = _P4ENUMTYPESPEC_MEMBER
_P4ENUMTYPESPEC.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4ENUMTYPESPEC.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_P4SERIALIZABLEENUMTYPESPEC_MEMBER.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4SERIALIZABLEENUMTYPESPEC_MEMBER.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_P4SERIALIZABLEENUMTYPESPEC_MEMBER.containing_type = _P4SERIALIZABLEENUMTYPESPEC
_P4SERIALIZABLEENUMTYPESPEC.fields_by_name['underlying_type'].message_type = _P4BITTYPESPEC
_P4SERIALIZABLEENUMTYPESPEC.fields_by_name['members'].message_type = _P4SERIALIZABLEENUMTYPESPEC_MEMBER
_P4SERIALIZABLEENUMTYPESPEC.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4SERIALIZABLEENUMTYPESPEC.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_P4NEWTYPETRANSLATION_SDNSTRING.containing_type = _P4NEWTYPETRANSLATION
_P4NEWTYPETRANSLATION.fields_by_name['sdn_string'].message_type = _P4NEWTYPETRANSLATION_SDNSTRING
_P4NEWTYPETRANSLATION.oneofs_by_name['sdn_type'].fields.append(
  _P4NEWTYPETRANSLATION.fields_by_name['sdn_bitwidth'])
_P4NEWTYPETRANSLATION.fields_by_name['sdn_bitwidth'].containing_oneof = _P4NEWTYPETRANSLATION.oneofs_by_name['sdn_type']
_P4NEWTYPETRANSLATION.oneofs_by_name['sdn_type'].fields.append(
  _P4NEWTYPETRANSLATION.fields_by_name['sdn_string'])
_P4NEWTYPETRANSLATION.fields_by_name['sdn_string'].containing_oneof = _P4NEWTYPETRANSLATION.oneofs_by_name['sdn_type']
_P4NEWTYPESPEC.fields_by_name['original_type'].message_type = _P4DATATYPESPEC
_P4NEWTYPESPEC.fields_by_name['translated_type'].message_type = _P4NEWTYPETRANSLATION
_P4NEWTYPESPEC.fields_by_name['annotation_locations'].message_type = _SOURCELOCATION
_P4NEWTYPESPEC.fields_by_name['structured_annotations'].message_type = _STRUCTUREDANNOTATION
_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['KeyValuePair'] = _KEYVALUEPAIR
DESCRIPTOR.message_types_by_name['KeyValuePairList'] = _KEYVALUEPAIRLIST
DESCRIPTOR.message_types_by_name['Expression'] = _EXPRESSION
DESCRIPTOR.message_types_by_name['ExpressionList'] = _EXPRESSIONLIST
DESCRIPTOR.message_types_by_name['StructuredAnnotation'] = _STRUCTUREDANNOTATION
DESCRIPTOR.message_types_by_name['SourceLocation'] = _SOURCELOCATION
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
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

  'StructsEntry' : _reflection.GeneratedProtocolMessageType('StructsEntry', (_message.Message,), {
    '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,), {
    '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,), {
    '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,), {
    '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,), {
    '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,), {
    '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,), {
  '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,), {
  '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,), {
  '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,), {
  '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,), {
  '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,), {
  '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,), {
  '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,), {
  '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,), {
  '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,), {

  'Member' : _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), {
    '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,), {

  'Member' : _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), {
    '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,), {

  'Member' : _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), {
    '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,), {
  '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,), {
  'DESCRIPTOR' : _P4HEADERUNIONSTACKTYPESPEC,
  '__module__' : 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.P4HeaderUnionStackTypeSpec)
  })
_sym_db.RegisterMessage(P4HeaderUnionStackTypeSpec)

KeyValuePair = _reflection.GeneratedProtocolMessageType('KeyValuePair', (_message.Message,), {
  'DESCRIPTOR' : _KEYVALUEPAIR,
  '__module__' : 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.KeyValuePair)
  })
_sym_db.RegisterMessage(KeyValuePair)

KeyValuePairList = _reflection.GeneratedProtocolMessageType('KeyValuePairList', (_message.Message,), {
  'DESCRIPTOR' : _KEYVALUEPAIRLIST,
  '__module__' : 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.KeyValuePairList)
  })
_sym_db.RegisterMessage(KeyValuePairList)

Expression = _reflection.GeneratedProtocolMessageType('Expression', (_message.Message,), {
  'DESCRIPTOR' : _EXPRESSION,
  '__module__' : 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.Expression)
  })
_sym_db.RegisterMessage(Expression)

ExpressionList = _reflection.GeneratedProtocolMessageType('ExpressionList', (_message.Message,), {
  'DESCRIPTOR' : _EXPRESSIONLIST,
  '__module__' : 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.ExpressionList)
  })
_sym_db.RegisterMessage(ExpressionList)

StructuredAnnotation = _reflection.GeneratedProtocolMessageType('StructuredAnnotation', (_message.Message,), {
  'DESCRIPTOR' : _STRUCTUREDANNOTATION,
  '__module__' : 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.StructuredAnnotation)
  })
_sym_db.RegisterMessage(StructuredAnnotation)

SourceLocation = _reflection.GeneratedProtocolMessageType('SourceLocation', (_message.Message,), {
  'DESCRIPTOR' : _SOURCELOCATION,
  '__module__' : 'p4.config.v1.p4types_pb2'
  # @@protoc_insertion_point(class_scope:p4.config.v1.SourceLocation)
  })
_sym_db.RegisterMessage(SourceLocation)

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

  'Member' : _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), {
    '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,), {

  'Member' : _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), {
    '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,), {
  '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,), {

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

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


DESCRIPTOR._options = None
_P4TYPEINFO_STRUCTSENTRY._options = None
_P4TYPEINFO_HEADERSENTRY._options = None
_P4TYPEINFO_HEADERUNIONSENTRY._options = None
_P4TYPEINFO_ENUMSENTRY._options = None
_P4TYPEINFO_SERIALIZABLEENUMSENTRY._options = None
_P4TYPEINFO_NEWTYPESENTRY._options = None
# @@protoc_insertion_point(module_scope)
