# -*- 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 descriptor_pool as _descriptor_pool
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_pool.Default().AddSerializedFile(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 = DESCRIPTOR.message_types_by_name['P4TypeInfo']
_P4TYPEINFO_STRUCTSENTRY = _P4TYPEINFO.nested_types_by_name['StructsEntry']
_P4TYPEINFO_HEADERSENTRY = _P4TYPEINFO.nested_types_by_name['HeadersEntry']
_P4TYPEINFO_HEADERUNIONSENTRY = _P4TYPEINFO.nested_types_by_name['HeaderUnionsEntry']
_P4TYPEINFO_ENUMSENTRY = _P4TYPEINFO.nested_types_by_name['EnumsEntry']
_P4TYPEINFO_SERIALIZABLEENUMSENTRY = _P4TYPEINFO.nested_types_by_name['SerializableEnumsEntry']
_P4TYPEINFO_NEWTYPESENTRY = _P4TYPEINFO.nested_types_by_name['NewTypesEntry']
_P4DATATYPESPEC = DESCRIPTOR.message_types_by_name['P4DataTypeSpec']
_P4NAMEDTYPE = DESCRIPTOR.message_types_by_name['P4NamedType']
_P4BOOLTYPE = DESCRIPTOR.message_types_by_name['P4BoolType']
_P4ERRORTYPE = DESCRIPTOR.message_types_by_name['P4ErrorType']
_P4BITSTRINGLIKETYPESPEC = DESCRIPTOR.message_types_by_name['P4BitstringLikeTypeSpec']
_P4BITTYPESPEC = DESCRIPTOR.message_types_by_name['P4BitTypeSpec']
_P4INTTYPESPEC = DESCRIPTOR.message_types_by_name['P4IntTypeSpec']
_P4VARBITTYPESPEC = DESCRIPTOR.message_types_by_name['P4VarbitTypeSpec']
_P4TUPLETYPESPEC = DESCRIPTOR.message_types_by_name['P4TupleTypeSpec']
_P4STRUCTTYPESPEC = DESCRIPTOR.message_types_by_name['P4StructTypeSpec']
_P4STRUCTTYPESPEC_MEMBER = _P4STRUCTTYPESPEC.nested_types_by_name['Member']
_P4HEADERTYPESPEC = DESCRIPTOR.message_types_by_name['P4HeaderTypeSpec']
_P4HEADERTYPESPEC_MEMBER = _P4HEADERTYPESPEC.nested_types_by_name['Member']
_P4HEADERUNIONTYPESPEC = DESCRIPTOR.message_types_by_name['P4HeaderUnionTypeSpec']
_P4HEADERUNIONTYPESPEC_MEMBER = _P4HEADERUNIONTYPESPEC.nested_types_by_name['Member']
_P4HEADERSTACKTYPESPEC = DESCRIPTOR.message_types_by_name['P4HeaderStackTypeSpec']
_P4HEADERUNIONSTACKTYPESPEC = DESCRIPTOR.message_types_by_name['P4HeaderUnionStackTypeSpec']
_KEYVALUEPAIR = DESCRIPTOR.message_types_by_name['KeyValuePair']
_KEYVALUEPAIRLIST = DESCRIPTOR.message_types_by_name['KeyValuePairList']
_EXPRESSION = DESCRIPTOR.message_types_by_name['Expression']
_EXPRESSIONLIST = DESCRIPTOR.message_types_by_name['ExpressionList']
_STRUCTUREDANNOTATION = DESCRIPTOR.message_types_by_name['StructuredAnnotation']
_SOURCELOCATION = DESCRIPTOR.message_types_by_name['SourceLocation']
_P4ENUMTYPESPEC = DESCRIPTOR.message_types_by_name['P4EnumTypeSpec']
_P4ENUMTYPESPEC_MEMBER = _P4ENUMTYPESPEC.nested_types_by_name['Member']
_P4SERIALIZABLEENUMTYPESPEC = DESCRIPTOR.message_types_by_name['P4SerializableEnumTypeSpec']
_P4SERIALIZABLEENUMTYPESPEC_MEMBER = _P4SERIALIZABLEENUMTYPESPEC.nested_types_by_name['Member']
_P4ERRORTYPESPEC = DESCRIPTOR.message_types_by_name['P4ErrorTypeSpec']
_P4NEWTYPETRANSLATION = DESCRIPTOR.message_types_by_name['P4NewTypeTranslation']
_P4NEWTYPETRANSLATION_SDNSTRING = _P4NEWTYPETRANSLATION.nested_types_by_name['SdnString']
_P4NEWTYPESPEC = DESCRIPTOR.message_types_by_name['P4NewTypeSpec']
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)

if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'Z+github.com/p4lang/p4runtime/go/p4/config/v1'
  _P4TYPEINFO_STRUCTSENTRY._options = None
  _P4TYPEINFO_STRUCTSENTRY._serialized_options = b'8\001'
  _P4TYPEINFO_HEADERSENTRY._options = None
  _P4TYPEINFO_HEADERSENTRY._serialized_options = b'8\001'
  _P4TYPEINFO_HEADERUNIONSENTRY._options = None
  _P4TYPEINFO_HEADERUNIONSENTRY._serialized_options = b'8\001'
  _P4TYPEINFO_ENUMSENTRY._options = None
  _P4TYPEINFO_ENUMSENTRY._serialized_options = b'8\001'
  _P4TYPEINFO_SERIALIZABLEENUMSENTRY._options = None
  _P4TYPEINFO_SERIALIZABLEENUMSENTRY._serialized_options = b'8\001'
  _P4TYPEINFO_NEWTYPESENTRY._options = None
  _P4TYPEINFO_NEWTYPESENTRY._serialized_options = b'8\001'
  _P4TYPEINFO._serialized_start=45
  _P4TYPEINFO._serialized_end=974
  _P4TYPEINFO_STRUCTSENTRY._serialized_start=472
  _P4TYPEINFO_STRUCTSENTRY._serialized_end=550
  _P4TYPEINFO_HEADERSENTRY._serialized_start=552
  _P4TYPEINFO_HEADERSENTRY._serialized_end=630
  _P4TYPEINFO_HEADERUNIONSENTRY._serialized_start=632
  _P4TYPEINFO_HEADERUNIONSENTRY._serialized_end=720
  _P4TYPEINFO_ENUMSENTRY._serialized_start=722
  _P4TYPEINFO_ENUMSENTRY._serialized_end=796
  _P4TYPEINFO_SERIALIZABLEENUMSENTRY._serialized_start=798
  _P4TYPEINFO_SERIALIZABLEENUMSENTRY._serialized_end=896
  _P4TYPEINFO_NEWTYPESENTRY._serialized_start=898
  _P4TYPEINFO_NEWTYPESENTRY._serialized_end=974
  _P4DATATYPESPEC._serialized_start=977
  _P4DATATYPESPEC._serialized_end=1620
  _P4NAMEDTYPE._serialized_start=1622
  _P4NAMEDTYPE._serialized_end=1649
  _P4BOOLTYPE._serialized_start=1651
  _P4BOOLTYPE._serialized_end=1663
  _P4ERRORTYPE._serialized_start=1665
  _P4ERRORTYPE._serialized_end=1678
  _P4BITSTRINGLIKETYPESPEC._serialized_start=1681
  _P4BITSTRINGLIKETYPESPEC._serialized_end=2006
  _P4BITTYPESPEC._serialized_start=2008
  _P4BITTYPESPEC._serialized_end=2041
  _P4INTTYPESPEC._serialized_start=2043
  _P4INTTYPESPEC._serialized_end=2076
  _P4VARBITTYPESPEC._serialized_start=2078
  _P4VARBITTYPESPEC._serialized_end=2118
  _P4TUPLETYPESPEC._serialized_start=2120
  _P4TUPLETYPESPEC._serialized_end=2184
  _P4STRUCTTYPESPEC._serialized_start=2187
  _P4STRUCTTYPESPEC._serialized_end=2483
  _P4STRUCTTYPESPEC_MEMBER._serialized_start=2412
  _P4STRUCTTYPESPEC_MEMBER._serialized_end=2483
  _P4HEADERTYPESPEC._serialized_start=2486
  _P4HEADERTYPESPEC._serialized_end=2791
  _P4HEADERTYPESPEC_MEMBER._serialized_start=2711
  _P4HEADERTYPESPEC_MEMBER._serialized_end=2791
  _P4HEADERUNIONTYPESPEC._serialized_start=2794
  _P4HEADERUNIONTYPESPEC._serialized_end=3094
  _P4HEADERUNIONTYPESPEC_MEMBER._serialized_start=3029
  _P4HEADERUNIONTYPESPEC_MEMBER._serialized_end=3094
  _P4HEADERSTACKTYPESPEC._serialized_start=3096
  _P4HEADERSTACKTYPESPEC._serialized_end=3176
  _P4HEADERUNIONSTACKTYPESPEC._serialized_start=3178
  _P4HEADERUNIONSTACKTYPESPEC._serialized_end=3269
  _KEYVALUEPAIR._serialized_start=3271
  _KEYVALUEPAIR._serialized_end=3339
  _KEYVALUEPAIRLIST._serialized_start=3341
  _KEYVALUEPAIRLIST._serialized_end=3405
  _EXPRESSION._serialized_start=3407
  _EXPRESSION._serialized_end=3497
  _EXPRESSIONLIST._serialized_start=3499
  _EXPRESSIONLIST._serialized_end=3562
  _STRUCTUREDANNOTATION._serialized_start=3565
  _STRUCTUREDANNOTATION._serialized_end=3777
  _SOURCELOCATION._serialized_start=3779
  _SOURCELOCATION._serialized_end=3839
  _P4ENUMTYPESPEC._serialized_start=3842
  _P4ENUMTYPESPEC._serialized_end=4235
  _P4ENUMTYPESPEC_MEMBER._serialized_start=4064
  _P4ENUMTYPESPEC_MEMBER._serialized_end=4235
  _P4SERIALIZABLEENUMTYPESPEC._serialized_start=4238
  _P4SERIALIZABLEENUMTYPESPEC._serialized_end=4724
  _P4SERIALIZABLEENUMTYPESPEC_MEMBER._serialized_start=4538
  _P4SERIALIZABLEENUMTYPESPEC_MEMBER._serialized_end=4724
  _P4ERRORTYPESPEC._serialized_start=4726
  _P4ERRORTYPESPEC._serialized_end=4760
  _P4NEWTYPETRANSLATION._serialized_start=4763
  _P4NEWTYPETRANSLATION._serialized_end=4915
  _P4NEWTYPETRANSLATION_SDNSTRING._serialized_start=4892
  _P4NEWTYPETRANSLATION_SDNSTRING._serialized_end=4903
  _P4NEWTYPESPEC._serialized_start=4918
  _P4NEWTYPESPEC._serialized_end=5218
# @@protoc_insertion_point(module_scope)
