# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: p4/v1/p4runtime.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
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()


from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
from p4.config.v1 import p4info_pb2 as p4_dot_config_dot_v1_dot_p4info__pb2
from p4.v1 import p4data_pb2 as p4_dot_v1_dot_p4data__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15p4/v1/p4runtime.proto\x12\x05p4.v1\x1a\x19google/protobuf/any.proto\x1a\x17google/rpc/status.proto\x1a\x19p4/config/v1/p4info.proto\x1a\x12p4/v1/p4data.proto\"\x8c\x02\n\x0cWriteRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x13\n\x07role_id\x18\x02 \x01(\x04\x42\x02\x18\x01\x12\x0c\n\x04role\x18\x06 \x01(\t\x12#\n\x0b\x65lection_id\x18\x03 \x01(\x0b\x32\x0e.p4.v1.Uint128\x12\x1e\n\x07updates\x18\x04 \x03(\x0b\x32\r.p4.v1.Update\x12\x30\n\tatomicity\x18\x05 \x01(\x0e\x32\x1d.p4.v1.WriteRequest.Atomicity\"O\n\tAtomicity\x12\x15\n\x11\x43ONTINUE_ON_ERROR\x10\x00\x12\x15\n\x11ROLLBACK_ON_ERROR\x10\x01\x12\x14\n\x10\x44\x41TAPLANE_ATOMIC\x10\x02\"\x0f\n\rWriteResponse\"O\n\x0bReadRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x0c\n\x04role\x18\x03 \x01(\t\x12\x1f\n\x08\x65ntities\x18\x02 \x03(\x0b\x32\r.p4.v1.Entity\"/\n\x0cReadResponse\x12\x1f\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\r.p4.v1.Entity\"\x86\x01\n\x06Update\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.p4.v1.Update.Type\x12\x1d\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\r.p4.v1.Entity\";\n\x04Type\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06INSERT\x10\x01\x12\n\n\x06MODIFY\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\"\x87\x05\n\x06\x45ntity\x12*\n\x0c\x65xtern_entry\x18\x01 \x01(\x0b\x32\x12.p4.v1.ExternEntryH\x00\x12(\n\x0btable_entry\x18\x02 \x01(\x0b\x32\x11.p4.v1.TableEntryH\x00\x12;\n\x15\x61\x63tion_profile_member\x18\x03 \x01(\x0b\x32\x1a.p4.v1.ActionProfileMemberH\x00\x12\x39\n\x14\x61\x63tion_profile_group\x18\x04 \x01(\x0b\x32\x19.p4.v1.ActionProfileGroupH\x00\x12(\n\x0bmeter_entry\x18\x05 \x01(\x0b\x32\x11.p4.v1.MeterEntryH\x00\x12\x35\n\x12\x64irect_meter_entry\x18\x06 \x01(\x0b\x32\x17.p4.v1.DirectMeterEntryH\x00\x12,\n\rcounter_entry\x18\x07 \x01(\x0b\x32\x13.p4.v1.CounterEntryH\x00\x12\x39\n\x14\x64irect_counter_entry\x18\x08 \x01(\x0b\x32\x19.p4.v1.DirectCounterEntryH\x00\x12N\n\x1fpacket_replication_engine_entry\x18\t \x01(\x0b\x32#.p4.v1.PacketReplicationEngineEntryH\x00\x12/\n\x0fvalue_set_entry\x18\n \x01(\x0b\x32\x14.p4.v1.ValueSetEntryH\x00\x12.\n\x0eregister_entry\x18\x0b \x01(\x0b\x32\x14.p4.v1.RegisterEntryH\x00\x12*\n\x0c\x64igest_entry\x18\x0c \x01(\x0b\x32\x12.p4.v1.DigestEntryH\x00\x42\x08\n\x06\x65ntity\"]\n\x0b\x45xternEntry\x12\x16\n\x0e\x65xtern_type_id\x18\x01 \x01(\r\x12\x11\n\textern_id\x18\x02 \x01(\r\x12#\n\x05\x65ntry\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xc5\x03\n\nTableEntry\x12\x10\n\x08table_id\x18\x01 \x01(\r\x12 \n\x05match\x18\x02 \x03(\x0b\x32\x11.p4.v1.FieldMatch\x12\"\n\x06\x61\x63tion\x18\x03 \x01(\x0b\x32\x12.p4.v1.TableAction\x12\x10\n\x08priority\x18\x04 \x01(\x05\x12\x1f\n\x13\x63ontroller_metadata\x18\x05 \x01(\x04\x42\x02\x18\x01\x12(\n\x0cmeter_config\x18\x06 \x01(\x0b\x32\x12.p4.v1.MeterConfig\x12(\n\x0c\x63ounter_data\x18\x07 \x01(\x0b\x32\x12.p4.v1.CounterData\x12\x33\n\x12meter_counter_data\x18\x0c \x01(\x0b\x32\x17.p4.v1.MeterCounterData\x12\x19\n\x11is_default_action\x18\x08 \x01(\x08\x12\x17\n\x0fidle_timeout_ns\x18\t \x01(\x03\x12:\n\x13time_since_last_hit\x18\n \x01(\x0b\x32\x1d.p4.v1.TableEntry.IdleTimeout\x12\x10\n\x08metadata\x18\x0b \x01(\x0c\x1a!\n\x0bIdleTimeout\x12\x12\n\nelapsed_ns\x18\x01 \x01(\x03\"\xda\x03\n\nFieldMatch\x12\x10\n\x08\x66ield_id\x18\x01 \x01(\r\x12(\n\x05\x65xact\x18\x02 \x01(\x0b\x32\x17.p4.v1.FieldMatch.ExactH\x00\x12,\n\x07ternary\x18\x03 \x01(\x0b\x32\x19.p4.v1.FieldMatch.TernaryH\x00\x12$\n\x03lpm\x18\x04 \x01(\x0b\x32\x15.p4.v1.FieldMatch.LPMH\x00\x12(\n\x05range\x18\x06 \x01(\x0b\x32\x17.p4.v1.FieldMatch.RangeH\x00\x12.\n\x08optional\x18\x07 \x01(\x0b\x32\x1a.p4.v1.FieldMatch.OptionalH\x00\x12%\n\x05other\x18\x64 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x1a\x16\n\x05\x45xact\x12\r\n\x05value\x18\x01 \x01(\x0c\x1a&\n\x07Ternary\x12\r\n\x05value\x18\x01 \x01(\x0c\x12\x0c\n\x04mask\x18\x02 \x01(\x0c\x1a(\n\x03LPM\x12\r\n\x05value\x18\x01 \x01(\x0c\x12\x12\n\nprefix_len\x18\x02 \x01(\x05\x1a\"\n\x05Range\x12\x0b\n\x03low\x18\x01 \x01(\x0c\x12\x0c\n\x04high\x18\x02 \x01(\x0c\x1a\x19\n\x08Optional\x12\r\n\x05value\x18\x01 \x01(\x0c\x42\x12\n\x10\x66ield_match_type\"\xc1\x01\n\x0bTableAction\x12\x1f\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\r.p4.v1.ActionH\x00\x12\"\n\x18\x61\x63tion_profile_member_id\x18\x02 \x01(\rH\x00\x12!\n\x17\x61\x63tion_profile_group_id\x18\x03 \x01(\rH\x00\x12\x42\n\x19\x61\x63tion_profile_action_set\x18\x04 \x01(\x0b\x32\x1d.p4.v1.ActionProfileActionSetH\x00\x42\x06\n\x04type\"j\n\x06\x41\x63tion\x12\x11\n\taction_id\x18\x01 \x01(\r\x12#\n\x06params\x18\x04 \x03(\x0b\x32\x13.p4.v1.Action.Param\x1a(\n\x05Param\x12\x10\n\x08param_id\x18\x02 \x01(\r\x12\r\n\x05value\x18\x03 \x01(\x0c\"T\n\x16\x41\x63tionProfileActionSet\x12:\n\x16\x61\x63tion_profile_actions\x18\x01 \x03(\x0b\x32\x1a.p4.v1.ActionProfileAction\"}\n\x13\x41\x63tionProfileAction\x12\x1d\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\r.p4.v1.Action\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x13\n\x05watch\x18\x03 \x01(\x05\x42\x02\x18\x01H\x00\x12\x14\n\nwatch_port\x18\x04 \x01(\x0cH\x00\x42\x0c\n\nwatch_kind\"b\n\x13\x41\x63tionProfileMember\x12\x19\n\x11\x61\x63tion_profile_id\x18\x01 \x01(\r\x12\x11\n\tmember_id\x18\x02 \x01(\r\x12\x1d\n\x06\x61\x63tion\x18\x03 \x01(\x0b\x32\r.p4.v1.Action\"\xec\x01\n\x12\x41\x63tionProfileGroup\x12\x19\n\x11\x61\x63tion_profile_id\x18\x01 \x01(\r\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12\x31\n\x07members\x18\x03 \x03(\x0b\x32 .p4.v1.ActionProfileGroup.Member\x12\x10\n\x08max_size\x18\x04 \x01(\x05\x1a\x64\n\x06Member\x12\x11\n\tmember_id\x18\x01 \x01(\r\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x13\n\x05watch\x18\x03 \x01(\x05\x42\x02\x18\x01H\x00\x12\x14\n\nwatch_port\x18\x04 \x01(\x0cH\x00\x42\x0c\n\nwatch_kind\"\x16\n\x05Index\x12\r\n\x05index\x18\x01 \x01(\x03\"\x8e\x01\n\nMeterEntry\x12\x10\n\x08meter_id\x18\x01 \x01(\r\x12\x1b\n\x05index\x18\x02 \x01(\x0b\x32\x0c.p4.v1.Index\x12\"\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x12.p4.v1.MeterConfig\x12-\n\x0c\x63ounter_data\x18\x04 \x01(\x0b\x32\x17.p4.v1.MeterCounterData\"\x8d\x01\n\x10\x44irectMeterEntry\x12&\n\x0btable_entry\x18\x01 \x01(\x0b\x32\x11.p4.v1.TableEntry\x12\"\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x12.p4.v1.MeterConfig\x12-\n\x0c\x63ounter_data\x18\x03 \x01(\x0b\x32\x17.p4.v1.MeterCounterData\"G\n\x0bMeterConfig\x12\x0b\n\x03\x63ir\x18\x01 \x01(\x03\x12\x0e\n\x06\x63\x62urst\x18\x02 \x01(\x03\x12\x0b\n\x03pir\x18\x03 \x01(\x03\x12\x0e\n\x06pburst\x18\x04 \x01(\x03\"a\n\x0c\x43ounterEntry\x12\x12\n\ncounter_id\x18\x01 \x01(\r\x12\x1b\n\x05index\x18\x02 \x01(\x0b\x32\x0c.p4.v1.Index\x12 \n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x12.p4.v1.CounterData\"^\n\x12\x44irectCounterEntry\x12&\n\x0btable_entry\x18\x01 \x01(\x0b\x32\x11.p4.v1.TableEntry\x12 \n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x12.p4.v1.CounterData\"7\n\x0b\x43ounterData\x12\x12\n\nbyte_count\x18\x01 \x01(\x03\x12\x14\n\x0cpacket_count\x18\x02 \x01(\x03\"z\n\x10MeterCounterData\x12!\n\x05green\x18\x01 \x01(\x0b\x32\x12.p4.v1.CounterData\x12\"\n\x06yellow\x18\x02 \x01(\x0b\x32\x12.p4.v1.CounterData\x12\x1f\n\x03red\x18\x03 \x01(\x0b\x32\x12.p4.v1.CounterData\"\x9c\x01\n\x1cPacketReplicationEngineEntry\x12;\n\x15multicast_group_entry\x18\x01 \x01(\x0b\x32\x1a.p4.v1.MulticastGroupEntryH\x00\x12\x37\n\x13\x63lone_session_entry\x18\x02 \x01(\x0b\x32\x18.p4.v1.CloneSessionEntryH\x00\x42\x06\n\x04type\"0\n\x07Replica\x12\x13\n\x0b\x65gress_port\x18\x01 \x01(\r\x12\x10\n\x08instance\x18\x02 \x01(\r\"S\n\x13MulticastGroupEntry\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\r\x12 \n\x08replicas\x18\x02 \x03(\x0b\x32\x0e.p4.v1.Replica\"\x80\x01\n\x11\x43loneSessionEntry\x12\x12\n\nsession_id\x18\x01 \x01(\r\x12 \n\x08replicas\x18\x02 \x03(\x0b\x32\x0e.p4.v1.Replica\x12\x18\n\x10\x63lass_of_service\x18\x03 \x01(\r\x12\x1b\n\x13packet_length_bytes\x18\x04 \x01(\x05\"2\n\x0eValueSetMember\x12 \n\x05match\x18\x01 \x03(\x0b\x32\x11.p4.v1.FieldMatch\"M\n\rValueSetEntry\x12\x14\n\x0cvalue_set_id\x18\x01 \x01(\r\x12&\n\x07members\x18\x02 \x03(\x0b\x32\x15.p4.v1.ValueSetMember\"^\n\rRegisterEntry\x12\x13\n\x0bregister_id\x18\x01 \x01(\r\x12\x1b\n\x05index\x18\x02 \x01(\x0b\x32\x0c.p4.v1.Index\x12\x1b\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\r.p4.v1.P4Data\"\x9c\x01\n\x0b\x44igestEntry\x12\x11\n\tdigest_id\x18\x01 \x01(\r\x12)\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.p4.v1.DigestEntry.Config\x1aO\n\x06\x43onfig\x12\x16\n\x0emax_timeout_ns\x18\x01 \x01(\x03\x12\x15\n\rmax_list_size\x18\x02 \x01(\x05\x12\x16\n\x0e\x61\x63k_timeout_ns\x18\x03 \x01(\x03\"\xce\x01\n\x14StreamMessageRequest\x12\x35\n\x0b\x61rbitration\x18\x01 \x01(\x0b\x32\x1e.p4.v1.MasterArbitrationUpdateH\x00\x12\"\n\x06packet\x18\x02 \x01(\x0b\x32\x10.p4.v1.PacketOutH\x00\x12*\n\ndigest_ack\x18\x03 \x01(\x0b\x32\x14.p4.v1.DigestListAckH\x00\x12%\n\x05other\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x08\n\x06update\"E\n\tPacketOut\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\'\n\x08metadata\x18\x02 \x03(\x0b\x32\x15.p4.v1.PacketMetadata\"3\n\rDigestListAck\x12\x11\n\tdigest_id\x18\x01 \x01(\r\x12\x0f\n\x07list_id\x18\x02 \x01(\x04\"\xb1\x02\n\x15StreamMessageResponse\x12\x35\n\x0b\x61rbitration\x18\x01 \x01(\x0b\x32\x1e.p4.v1.MasterArbitrationUpdateH\x00\x12!\n\x06packet\x18\x02 \x01(\x0b\x32\x0f.p4.v1.PacketInH\x00\x12#\n\x06\x64igest\x18\x03 \x01(\x0b\x32\x11.p4.v1.DigestListH\x00\x12\x43\n\x19idle_timeout_notification\x18\x04 \x01(\x0b\x32\x1e.p4.v1.IdleTimeoutNotificationH\x00\x12%\n\x05other\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12#\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x12.p4.v1.StreamErrorH\x00\x42\x08\n\x06update\"D\n\x08PacketIn\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\'\n\x08metadata\x18\x02 \x03(\x0b\x32\x15.p4.v1.PacketMetadata\"`\n\nDigestList\x12\x11\n\tdigest_id\x18\x01 \x01(\r\x12\x0f\n\x07list_id\x18\x02 \x01(\x04\x12\x1b\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\r.p4.v1.P4Data\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\"4\n\x0ePacketMetadata\x12\x13\n\x0bmetadata_id\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x90\x01\n\x17MasterArbitrationUpdate\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x19\n\x04role\x18\x02 \x01(\x0b\x32\x0b.p4.v1.Role\x12#\n\x0b\x65lection_id\x18\x03 \x01(\x0b\x32\x0e.p4.v1.Uint128\x12\"\n\x06status\x18\x04 \x01(\x0b\x32\x12.google.rpc.Status\"J\n\x04Role\x12\x0e\n\x02id\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x12$\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\"T\n\x17IdleTimeoutNotification\x12&\n\x0btable_entry\x18\x01 \x03(\x0b\x32\x11.p4.v1.TableEntry\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\xeb\x01\n\x0bStreamError\x12\x16\n\x0e\x63\x61nonical_code\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\r\n\x05space\x18\x03 \x01(\t\x12\x0c\n\x04\x63ode\x18\x04 \x01(\x05\x12+\n\npacket_out\x18\x05 \x01(\x0b\x32\x15.p4.v1.PacketOutErrorH\x00\x12\x34\n\x0f\x64igest_list_ack\x18\x06 \x01(\x0b\x32\x19.p4.v1.DigestListAckErrorH\x00\x12(\n\x05other\x18\x07 \x01(\x0b\x32\x17.p4.v1.StreamOtherErrorH\x00\x42\t\n\x07\x64\x65tails\"6\n\x0ePacketOutError\x12$\n\npacket_out\x18\x01 \x01(\x0b\x32\x10.p4.v1.PacketOut\"C\n\x12\x44igestListAckError\x12-\n\x0f\x64igest_list_ack\x18\x01 \x01(\x0b\x32\x14.p4.v1.DigestListAck\"7\n\x10StreamOtherError\x12#\n\x05other\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\"$\n\x07Uint128\x12\x0c\n\x04high\x18\x01 \x01(\x04\x12\x0b\n\x03low\x18\x02 \x01(\x04\"\xeb\x02\n\"SetForwardingPipelineConfigRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12\x13\n\x07role_id\x18\x02 \x01(\x04\x42\x02\x18\x01\x12\x0c\n\x04role\x18\x06 \x01(\t\x12#\n\x0b\x65lection_id\x18\x03 \x01(\x0b\x32\x0e.p4.v1.Uint128\x12@\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x30.p4.v1.SetForwardingPipelineConfigRequest.Action\x12/\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x1f.p4.v1.ForwardingPipelineConfig\"w\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06VERIFY\x10\x01\x12\x13\n\x0fVERIFY_AND_SAVE\x10\x02\x12\x15\n\x11VERIFY_AND_COMMIT\x10\x03\x12\n\n\x06\x43OMMIT\x10\x04\x12\x18\n\x14RECONCILE_AND_COMMIT\x10\x05\"%\n#SetForwardingPipelineConfigResponse\"\xac\x01\n\x18\x46orwardingPipelineConfig\x12$\n\x06p4info\x18\x01 \x01(\x0b\x32\x14.p4.config.v1.P4Info\x12\x18\n\x10p4_device_config\x18\x02 \x01(\x0c\x12\x36\n\x06\x63ookie\x18\x03 \x01(\x0b\x32&.p4.v1.ForwardingPipelineConfig.Cookie\x1a\x18\n\x06\x43ookie\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x04\"\xe5\x01\n\"GetForwardingPipelineConfigRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\x04\x12M\n\rresponse_type\x18\x02 \x01(\x0e\x32\x36.p4.v1.GetForwardingPipelineConfigRequest.ResponseType\"]\n\x0cResponseType\x12\x07\n\x03\x41LL\x10\x00\x12\x0f\n\x0b\x43OOKIE_ONLY\x10\x01\x12\x15\n\x11P4INFO_AND_COOKIE\x10\x02\x12\x1c\n\x18\x44\x45VICE_CONFIG_AND_COOKIE\x10\x03\"V\n#GetForwardingPipelineConfigResponse\x12/\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x1f.p4.v1.ForwardingPipelineConfig\"t\n\x05\x45rror\x12\x16\n\x0e\x63\x61nonical_code\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\r\n\x05space\x18\x03 \x01(\t\x12\x0c\n\x04\x63ode\x18\x04 \x01(\x05\x12%\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x14.google.protobuf.Any\"\x15\n\x13\x43\x61pabilitiesRequest\"5\n\x14\x43\x61pabilitiesResponse\x12\x1d\n\x15p4runtime_api_version\x18\x01 \x01(\t*\x8a\x01\n\x07SdnPort\x12\x14\n\x10SDN_PORT_UNKNOWN\x10\x00\x12\x10\n\x0cSDN_PORT_MIN\x10\x01\x12\x19\n\x0cSDN_PORT_MAX\x10\xff\xfd\xff\xff\xff\xff\xff\xff\xff\x01\x12!\n\x14SDN_PORT_RECIRCULATE\x10\xfa\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x19\n\x0cSDN_PORT_CPU\x10\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x01\x32\x83\x04\n\tP4Runtime\x12\x34\n\x05Write\x12\x13.p4.v1.WriteRequest\x1a\x14.p4.v1.WriteResponse\"\x00\x12\x33\n\x04Read\x12\x12.p4.v1.ReadRequest\x1a\x13.p4.v1.ReadResponse\"\x00\x30\x01\x12v\n\x1bSetForwardingPipelineConfig\x12).p4.v1.SetForwardingPipelineConfigRequest\x1a*.p4.v1.SetForwardingPipelineConfigResponse\"\x00\x12v\n\x1bGetForwardingPipelineConfig\x12).p4.v1.GetForwardingPipelineConfigRequest\x1a*.p4.v1.GetForwardingPipelineConfigResponse\"\x00\x12P\n\rStreamChannel\x12\x1b.p4.v1.StreamMessageRequest\x1a\x1c.p4.v1.StreamMessageResponse\"\x00(\x01\x30\x01\x12I\n\x0c\x43\x61pabilities\x12\x1a.p4.v1.CapabilitiesRequest\x1a\x1b.p4.v1.CapabilitiesResponse\"\x00\x42)Z$github.com/p4lang/p4runtime/go/p4/v1\xf8\x01\x01\x62\x06proto3')

_SDNPORT = DESCRIPTOR.enum_types_by_name['SdnPort']
SdnPort = enum_type_wrapper.EnumTypeWrapper(_SDNPORT)
SDN_PORT_UNKNOWN = 0
SDN_PORT_MIN = 1
SDN_PORT_MAX = -257
SDN_PORT_RECIRCULATE = -6
SDN_PORT_CPU = -3


_WRITEREQUEST = DESCRIPTOR.message_types_by_name['WriteRequest']
_WRITERESPONSE = DESCRIPTOR.message_types_by_name['WriteResponse']
_READREQUEST = DESCRIPTOR.message_types_by_name['ReadRequest']
_READRESPONSE = DESCRIPTOR.message_types_by_name['ReadResponse']
_UPDATE = DESCRIPTOR.message_types_by_name['Update']
_ENTITY = DESCRIPTOR.message_types_by_name['Entity']
_EXTERNENTRY = DESCRIPTOR.message_types_by_name['ExternEntry']
_TABLEENTRY = DESCRIPTOR.message_types_by_name['TableEntry']
_TABLEENTRY_IDLETIMEOUT = _TABLEENTRY.nested_types_by_name['IdleTimeout']
_FIELDMATCH = DESCRIPTOR.message_types_by_name['FieldMatch']
_FIELDMATCH_EXACT = _FIELDMATCH.nested_types_by_name['Exact']
_FIELDMATCH_TERNARY = _FIELDMATCH.nested_types_by_name['Ternary']
_FIELDMATCH_LPM = _FIELDMATCH.nested_types_by_name['LPM']
_FIELDMATCH_RANGE = _FIELDMATCH.nested_types_by_name['Range']
_FIELDMATCH_OPTIONAL = _FIELDMATCH.nested_types_by_name['Optional']
_TABLEACTION = DESCRIPTOR.message_types_by_name['TableAction']
_ACTION = DESCRIPTOR.message_types_by_name['Action']
_ACTION_PARAM = _ACTION.nested_types_by_name['Param']
_ACTIONPROFILEACTIONSET = DESCRIPTOR.message_types_by_name['ActionProfileActionSet']
_ACTIONPROFILEACTION = DESCRIPTOR.message_types_by_name['ActionProfileAction']
_ACTIONPROFILEMEMBER = DESCRIPTOR.message_types_by_name['ActionProfileMember']
_ACTIONPROFILEGROUP = DESCRIPTOR.message_types_by_name['ActionProfileGroup']
_ACTIONPROFILEGROUP_MEMBER = _ACTIONPROFILEGROUP.nested_types_by_name['Member']
_INDEX = DESCRIPTOR.message_types_by_name['Index']
_METERENTRY = DESCRIPTOR.message_types_by_name['MeterEntry']
_DIRECTMETERENTRY = DESCRIPTOR.message_types_by_name['DirectMeterEntry']
_METERCONFIG = DESCRIPTOR.message_types_by_name['MeterConfig']
_COUNTERENTRY = DESCRIPTOR.message_types_by_name['CounterEntry']
_DIRECTCOUNTERENTRY = DESCRIPTOR.message_types_by_name['DirectCounterEntry']
_COUNTERDATA = DESCRIPTOR.message_types_by_name['CounterData']
_METERCOUNTERDATA = DESCRIPTOR.message_types_by_name['MeterCounterData']
_PACKETREPLICATIONENGINEENTRY = DESCRIPTOR.message_types_by_name['PacketReplicationEngineEntry']
_REPLICA = DESCRIPTOR.message_types_by_name['Replica']
_MULTICASTGROUPENTRY = DESCRIPTOR.message_types_by_name['MulticastGroupEntry']
_CLONESESSIONENTRY = DESCRIPTOR.message_types_by_name['CloneSessionEntry']
_VALUESETMEMBER = DESCRIPTOR.message_types_by_name['ValueSetMember']
_VALUESETENTRY = DESCRIPTOR.message_types_by_name['ValueSetEntry']
_REGISTERENTRY = DESCRIPTOR.message_types_by_name['RegisterEntry']
_DIGESTENTRY = DESCRIPTOR.message_types_by_name['DigestEntry']
_DIGESTENTRY_CONFIG = _DIGESTENTRY.nested_types_by_name['Config']
_STREAMMESSAGEREQUEST = DESCRIPTOR.message_types_by_name['StreamMessageRequest']
_PACKETOUT = DESCRIPTOR.message_types_by_name['PacketOut']
_DIGESTLISTACK = DESCRIPTOR.message_types_by_name['DigestListAck']
_STREAMMESSAGERESPONSE = DESCRIPTOR.message_types_by_name['StreamMessageResponse']
_PACKETIN = DESCRIPTOR.message_types_by_name['PacketIn']
_DIGESTLIST = DESCRIPTOR.message_types_by_name['DigestList']
_PACKETMETADATA = DESCRIPTOR.message_types_by_name['PacketMetadata']
_MASTERARBITRATIONUPDATE = DESCRIPTOR.message_types_by_name['MasterArbitrationUpdate']
_ROLE = DESCRIPTOR.message_types_by_name['Role']
_IDLETIMEOUTNOTIFICATION = DESCRIPTOR.message_types_by_name['IdleTimeoutNotification']
_STREAMERROR = DESCRIPTOR.message_types_by_name['StreamError']
_PACKETOUTERROR = DESCRIPTOR.message_types_by_name['PacketOutError']
_DIGESTLISTACKERROR = DESCRIPTOR.message_types_by_name['DigestListAckError']
_STREAMOTHERERROR = DESCRIPTOR.message_types_by_name['StreamOtherError']
_UINT128 = DESCRIPTOR.message_types_by_name['Uint128']
_SETFORWARDINGPIPELINECONFIGREQUEST = DESCRIPTOR.message_types_by_name['SetForwardingPipelineConfigRequest']
_SETFORWARDINGPIPELINECONFIGRESPONSE = DESCRIPTOR.message_types_by_name['SetForwardingPipelineConfigResponse']
_FORWARDINGPIPELINECONFIG = DESCRIPTOR.message_types_by_name['ForwardingPipelineConfig']
_FORWARDINGPIPELINECONFIG_COOKIE = _FORWARDINGPIPELINECONFIG.nested_types_by_name['Cookie']
_GETFORWARDINGPIPELINECONFIGREQUEST = DESCRIPTOR.message_types_by_name['GetForwardingPipelineConfigRequest']
_GETFORWARDINGPIPELINECONFIGRESPONSE = DESCRIPTOR.message_types_by_name['GetForwardingPipelineConfigResponse']
_ERROR = DESCRIPTOR.message_types_by_name['Error']
_CAPABILITIESREQUEST = DESCRIPTOR.message_types_by_name['CapabilitiesRequest']
_CAPABILITIESRESPONSE = DESCRIPTOR.message_types_by_name['CapabilitiesResponse']
_WRITEREQUEST_ATOMICITY = _WRITEREQUEST.enum_types_by_name['Atomicity']
_UPDATE_TYPE = _UPDATE.enum_types_by_name['Type']
_SETFORWARDINGPIPELINECONFIGREQUEST_ACTION = _SETFORWARDINGPIPELINECONFIGREQUEST.enum_types_by_name['Action']
_GETFORWARDINGPIPELINECONFIGREQUEST_RESPONSETYPE = _GETFORWARDINGPIPELINECONFIGREQUEST.enum_types_by_name['ResponseType']
WriteRequest = _reflection.GeneratedProtocolMessageType('WriteRequest', (_message.Message,), {
  'DESCRIPTOR' : _WRITEREQUEST,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.WriteRequest)
  })
_sym_db.RegisterMessage(WriteRequest)

WriteResponse = _reflection.GeneratedProtocolMessageType('WriteResponse', (_message.Message,), {
  'DESCRIPTOR' : _WRITERESPONSE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.WriteResponse)
  })
_sym_db.RegisterMessage(WriteResponse)

ReadRequest = _reflection.GeneratedProtocolMessageType('ReadRequest', (_message.Message,), {
  'DESCRIPTOR' : _READREQUEST,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ReadRequest)
  })
_sym_db.RegisterMessage(ReadRequest)

ReadResponse = _reflection.GeneratedProtocolMessageType('ReadResponse', (_message.Message,), {
  'DESCRIPTOR' : _READRESPONSE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ReadResponse)
  })
_sym_db.RegisterMessage(ReadResponse)

Update = _reflection.GeneratedProtocolMessageType('Update', (_message.Message,), {
  'DESCRIPTOR' : _UPDATE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Update)
  })
_sym_db.RegisterMessage(Update)

Entity = _reflection.GeneratedProtocolMessageType('Entity', (_message.Message,), {
  'DESCRIPTOR' : _ENTITY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Entity)
  })
_sym_db.RegisterMessage(Entity)

ExternEntry = _reflection.GeneratedProtocolMessageType('ExternEntry', (_message.Message,), {
  'DESCRIPTOR' : _EXTERNENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ExternEntry)
  })
_sym_db.RegisterMessage(ExternEntry)

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

  'IdleTimeout' : _reflection.GeneratedProtocolMessageType('IdleTimeout', (_message.Message,), {
    'DESCRIPTOR' : _TABLEENTRY_IDLETIMEOUT,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.TableEntry.IdleTimeout)
    })
  ,
  'DESCRIPTOR' : _TABLEENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.TableEntry)
  })
_sym_db.RegisterMessage(TableEntry)
_sym_db.RegisterMessage(TableEntry.IdleTimeout)

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

  'Exact' : _reflection.GeneratedProtocolMessageType('Exact', (_message.Message,), {
    'DESCRIPTOR' : _FIELDMATCH_EXACT,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.FieldMatch.Exact)
    })
  ,

  'Ternary' : _reflection.GeneratedProtocolMessageType('Ternary', (_message.Message,), {
    'DESCRIPTOR' : _FIELDMATCH_TERNARY,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.FieldMatch.Ternary)
    })
  ,

  'LPM' : _reflection.GeneratedProtocolMessageType('LPM', (_message.Message,), {
    'DESCRIPTOR' : _FIELDMATCH_LPM,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.FieldMatch.LPM)
    })
  ,

  'Range' : _reflection.GeneratedProtocolMessageType('Range', (_message.Message,), {
    'DESCRIPTOR' : _FIELDMATCH_RANGE,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.FieldMatch.Range)
    })
  ,

  'Optional' : _reflection.GeneratedProtocolMessageType('Optional', (_message.Message,), {
    'DESCRIPTOR' : _FIELDMATCH_OPTIONAL,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.FieldMatch.Optional)
    })
  ,
  'DESCRIPTOR' : _FIELDMATCH,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.FieldMatch)
  })
_sym_db.RegisterMessage(FieldMatch)
_sym_db.RegisterMessage(FieldMatch.Exact)
_sym_db.RegisterMessage(FieldMatch.Ternary)
_sym_db.RegisterMessage(FieldMatch.LPM)
_sym_db.RegisterMessage(FieldMatch.Range)
_sym_db.RegisterMessage(FieldMatch.Optional)

TableAction = _reflection.GeneratedProtocolMessageType('TableAction', (_message.Message,), {
  'DESCRIPTOR' : _TABLEACTION,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.TableAction)
  })
_sym_db.RegisterMessage(TableAction)

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

  'Param' : _reflection.GeneratedProtocolMessageType('Param', (_message.Message,), {
    'DESCRIPTOR' : _ACTION_PARAM,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.Action.Param)
    })
  ,
  'DESCRIPTOR' : _ACTION,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Action)
  })
_sym_db.RegisterMessage(Action)
_sym_db.RegisterMessage(Action.Param)

ActionProfileActionSet = _reflection.GeneratedProtocolMessageType('ActionProfileActionSet', (_message.Message,), {
  'DESCRIPTOR' : _ACTIONPROFILEACTIONSET,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ActionProfileActionSet)
  })
_sym_db.RegisterMessage(ActionProfileActionSet)

ActionProfileAction = _reflection.GeneratedProtocolMessageType('ActionProfileAction', (_message.Message,), {
  'DESCRIPTOR' : _ACTIONPROFILEACTION,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ActionProfileAction)
  })
_sym_db.RegisterMessage(ActionProfileAction)

ActionProfileMember = _reflection.GeneratedProtocolMessageType('ActionProfileMember', (_message.Message,), {
  'DESCRIPTOR' : _ACTIONPROFILEMEMBER,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ActionProfileMember)
  })
_sym_db.RegisterMessage(ActionProfileMember)

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

  'Member' : _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), {
    'DESCRIPTOR' : _ACTIONPROFILEGROUP_MEMBER,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.ActionProfileGroup.Member)
    })
  ,
  'DESCRIPTOR' : _ACTIONPROFILEGROUP,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ActionProfileGroup)
  })
_sym_db.RegisterMessage(ActionProfileGroup)
_sym_db.RegisterMessage(ActionProfileGroup.Member)

Index = _reflection.GeneratedProtocolMessageType('Index', (_message.Message,), {
  'DESCRIPTOR' : _INDEX,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Index)
  })
_sym_db.RegisterMessage(Index)

MeterEntry = _reflection.GeneratedProtocolMessageType('MeterEntry', (_message.Message,), {
  'DESCRIPTOR' : _METERENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.MeterEntry)
  })
_sym_db.RegisterMessage(MeterEntry)

DirectMeterEntry = _reflection.GeneratedProtocolMessageType('DirectMeterEntry', (_message.Message,), {
  'DESCRIPTOR' : _DIRECTMETERENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.DirectMeterEntry)
  })
_sym_db.RegisterMessage(DirectMeterEntry)

MeterConfig = _reflection.GeneratedProtocolMessageType('MeterConfig', (_message.Message,), {
  'DESCRIPTOR' : _METERCONFIG,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.MeterConfig)
  })
_sym_db.RegisterMessage(MeterConfig)

CounterEntry = _reflection.GeneratedProtocolMessageType('CounterEntry', (_message.Message,), {
  'DESCRIPTOR' : _COUNTERENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.CounterEntry)
  })
_sym_db.RegisterMessage(CounterEntry)

DirectCounterEntry = _reflection.GeneratedProtocolMessageType('DirectCounterEntry', (_message.Message,), {
  'DESCRIPTOR' : _DIRECTCOUNTERENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.DirectCounterEntry)
  })
_sym_db.RegisterMessage(DirectCounterEntry)

CounterData = _reflection.GeneratedProtocolMessageType('CounterData', (_message.Message,), {
  'DESCRIPTOR' : _COUNTERDATA,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.CounterData)
  })
_sym_db.RegisterMessage(CounterData)

MeterCounterData = _reflection.GeneratedProtocolMessageType('MeterCounterData', (_message.Message,), {
  'DESCRIPTOR' : _METERCOUNTERDATA,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.MeterCounterData)
  })
_sym_db.RegisterMessage(MeterCounterData)

PacketReplicationEngineEntry = _reflection.GeneratedProtocolMessageType('PacketReplicationEngineEntry', (_message.Message,), {
  'DESCRIPTOR' : _PACKETREPLICATIONENGINEENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.PacketReplicationEngineEntry)
  })
_sym_db.RegisterMessage(PacketReplicationEngineEntry)

Replica = _reflection.GeneratedProtocolMessageType('Replica', (_message.Message,), {
  'DESCRIPTOR' : _REPLICA,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Replica)
  })
_sym_db.RegisterMessage(Replica)

MulticastGroupEntry = _reflection.GeneratedProtocolMessageType('MulticastGroupEntry', (_message.Message,), {
  'DESCRIPTOR' : _MULTICASTGROUPENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.MulticastGroupEntry)
  })
_sym_db.RegisterMessage(MulticastGroupEntry)

CloneSessionEntry = _reflection.GeneratedProtocolMessageType('CloneSessionEntry', (_message.Message,), {
  'DESCRIPTOR' : _CLONESESSIONENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.CloneSessionEntry)
  })
_sym_db.RegisterMessage(CloneSessionEntry)

ValueSetMember = _reflection.GeneratedProtocolMessageType('ValueSetMember', (_message.Message,), {
  'DESCRIPTOR' : _VALUESETMEMBER,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ValueSetMember)
  })
_sym_db.RegisterMessage(ValueSetMember)

ValueSetEntry = _reflection.GeneratedProtocolMessageType('ValueSetEntry', (_message.Message,), {
  'DESCRIPTOR' : _VALUESETENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ValueSetEntry)
  })
_sym_db.RegisterMessage(ValueSetEntry)

RegisterEntry = _reflection.GeneratedProtocolMessageType('RegisterEntry', (_message.Message,), {
  'DESCRIPTOR' : _REGISTERENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.RegisterEntry)
  })
_sym_db.RegisterMessage(RegisterEntry)

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

  'Config' : _reflection.GeneratedProtocolMessageType('Config', (_message.Message,), {
    'DESCRIPTOR' : _DIGESTENTRY_CONFIG,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.DigestEntry.Config)
    })
  ,
  'DESCRIPTOR' : _DIGESTENTRY,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.DigestEntry)
  })
_sym_db.RegisterMessage(DigestEntry)
_sym_db.RegisterMessage(DigestEntry.Config)

StreamMessageRequest = _reflection.GeneratedProtocolMessageType('StreamMessageRequest', (_message.Message,), {
  'DESCRIPTOR' : _STREAMMESSAGEREQUEST,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.StreamMessageRequest)
  })
_sym_db.RegisterMessage(StreamMessageRequest)

PacketOut = _reflection.GeneratedProtocolMessageType('PacketOut', (_message.Message,), {
  'DESCRIPTOR' : _PACKETOUT,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.PacketOut)
  })
_sym_db.RegisterMessage(PacketOut)

DigestListAck = _reflection.GeneratedProtocolMessageType('DigestListAck', (_message.Message,), {
  'DESCRIPTOR' : _DIGESTLISTACK,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.DigestListAck)
  })
_sym_db.RegisterMessage(DigestListAck)

StreamMessageResponse = _reflection.GeneratedProtocolMessageType('StreamMessageResponse', (_message.Message,), {
  'DESCRIPTOR' : _STREAMMESSAGERESPONSE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.StreamMessageResponse)
  })
_sym_db.RegisterMessage(StreamMessageResponse)

PacketIn = _reflection.GeneratedProtocolMessageType('PacketIn', (_message.Message,), {
  'DESCRIPTOR' : _PACKETIN,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.PacketIn)
  })
_sym_db.RegisterMessage(PacketIn)

DigestList = _reflection.GeneratedProtocolMessageType('DigestList', (_message.Message,), {
  'DESCRIPTOR' : _DIGESTLIST,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.DigestList)
  })
_sym_db.RegisterMessage(DigestList)

PacketMetadata = _reflection.GeneratedProtocolMessageType('PacketMetadata', (_message.Message,), {
  'DESCRIPTOR' : _PACKETMETADATA,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.PacketMetadata)
  })
_sym_db.RegisterMessage(PacketMetadata)

MasterArbitrationUpdate = _reflection.GeneratedProtocolMessageType('MasterArbitrationUpdate', (_message.Message,), {
  'DESCRIPTOR' : _MASTERARBITRATIONUPDATE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.MasterArbitrationUpdate)
  })
_sym_db.RegisterMessage(MasterArbitrationUpdate)

Role = _reflection.GeneratedProtocolMessageType('Role', (_message.Message,), {
  'DESCRIPTOR' : _ROLE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Role)
  })
_sym_db.RegisterMessage(Role)

IdleTimeoutNotification = _reflection.GeneratedProtocolMessageType('IdleTimeoutNotification', (_message.Message,), {
  'DESCRIPTOR' : _IDLETIMEOUTNOTIFICATION,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.IdleTimeoutNotification)
  })
_sym_db.RegisterMessage(IdleTimeoutNotification)

StreamError = _reflection.GeneratedProtocolMessageType('StreamError', (_message.Message,), {
  'DESCRIPTOR' : _STREAMERROR,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.StreamError)
  })
_sym_db.RegisterMessage(StreamError)

PacketOutError = _reflection.GeneratedProtocolMessageType('PacketOutError', (_message.Message,), {
  'DESCRIPTOR' : _PACKETOUTERROR,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.PacketOutError)
  })
_sym_db.RegisterMessage(PacketOutError)

DigestListAckError = _reflection.GeneratedProtocolMessageType('DigestListAckError', (_message.Message,), {
  'DESCRIPTOR' : _DIGESTLISTACKERROR,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.DigestListAckError)
  })
_sym_db.RegisterMessage(DigestListAckError)

StreamOtherError = _reflection.GeneratedProtocolMessageType('StreamOtherError', (_message.Message,), {
  'DESCRIPTOR' : _STREAMOTHERERROR,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.StreamOtherError)
  })
_sym_db.RegisterMessage(StreamOtherError)

Uint128 = _reflection.GeneratedProtocolMessageType('Uint128', (_message.Message,), {
  'DESCRIPTOR' : _UINT128,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Uint128)
  })
_sym_db.RegisterMessage(Uint128)

SetForwardingPipelineConfigRequest = _reflection.GeneratedProtocolMessageType('SetForwardingPipelineConfigRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETFORWARDINGPIPELINECONFIGREQUEST,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.SetForwardingPipelineConfigRequest)
  })
_sym_db.RegisterMessage(SetForwardingPipelineConfigRequest)

SetForwardingPipelineConfigResponse = _reflection.GeneratedProtocolMessageType('SetForwardingPipelineConfigResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETFORWARDINGPIPELINECONFIGRESPONSE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.SetForwardingPipelineConfigResponse)
  })
_sym_db.RegisterMessage(SetForwardingPipelineConfigResponse)

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

  'Cookie' : _reflection.GeneratedProtocolMessageType('Cookie', (_message.Message,), {
    'DESCRIPTOR' : _FORWARDINGPIPELINECONFIG_COOKIE,
    '__module__' : 'p4.v1.p4runtime_pb2'
    # @@protoc_insertion_point(class_scope:p4.v1.ForwardingPipelineConfig.Cookie)
    })
  ,
  'DESCRIPTOR' : _FORWARDINGPIPELINECONFIG,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.ForwardingPipelineConfig)
  })
_sym_db.RegisterMessage(ForwardingPipelineConfig)
_sym_db.RegisterMessage(ForwardingPipelineConfig.Cookie)

GetForwardingPipelineConfigRequest = _reflection.GeneratedProtocolMessageType('GetForwardingPipelineConfigRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETFORWARDINGPIPELINECONFIGREQUEST,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.GetForwardingPipelineConfigRequest)
  })
_sym_db.RegisterMessage(GetForwardingPipelineConfigRequest)

GetForwardingPipelineConfigResponse = _reflection.GeneratedProtocolMessageType('GetForwardingPipelineConfigResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETFORWARDINGPIPELINECONFIGRESPONSE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.GetForwardingPipelineConfigResponse)
  })
_sym_db.RegisterMessage(GetForwardingPipelineConfigResponse)

Error = _reflection.GeneratedProtocolMessageType('Error', (_message.Message,), {
  'DESCRIPTOR' : _ERROR,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.Error)
  })
_sym_db.RegisterMessage(Error)

CapabilitiesRequest = _reflection.GeneratedProtocolMessageType('CapabilitiesRequest', (_message.Message,), {
  'DESCRIPTOR' : _CAPABILITIESREQUEST,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.CapabilitiesRequest)
  })
_sym_db.RegisterMessage(CapabilitiesRequest)

CapabilitiesResponse = _reflection.GeneratedProtocolMessageType('CapabilitiesResponse', (_message.Message,), {
  'DESCRIPTOR' : _CAPABILITIESRESPONSE,
  '__module__' : 'p4.v1.p4runtime_pb2'
  # @@protoc_insertion_point(class_scope:p4.v1.CapabilitiesResponse)
  })
_sym_db.RegisterMessage(CapabilitiesResponse)

_P4RUNTIME = DESCRIPTOR.services_by_name['P4Runtime']
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'Z$github.com/p4lang/p4runtime/go/p4/v1\370\001\001'
  _WRITEREQUEST.fields_by_name['role_id']._options = None
  _WRITEREQUEST.fields_by_name['role_id']._serialized_options = b'\030\001'
  _TABLEENTRY.fields_by_name['controller_metadata']._options = None
  _TABLEENTRY.fields_by_name['controller_metadata']._serialized_options = b'\030\001'
  _ACTIONPROFILEACTION.fields_by_name['watch']._options = None
  _ACTIONPROFILEACTION.fields_by_name['watch']._serialized_options = b'\030\001'
  _ACTIONPROFILEGROUP_MEMBER.fields_by_name['watch']._options = None
  _ACTIONPROFILEGROUP_MEMBER.fields_by_name['watch']._serialized_options = b'\030\001'
  _ROLE.fields_by_name['id']._options = None
  _ROLE.fields_by_name['id']._serialized_options = b'\030\001'
  _SETFORWARDINGPIPELINECONFIGREQUEST.fields_by_name['role_id']._options = None
  _SETFORWARDINGPIPELINECONFIGREQUEST.fields_by_name['role_id']._serialized_options = b'\030\001'
  _SDNPORT._serialized_start=7520
  _SDNPORT._serialized_end=7658
  _WRITEREQUEST._serialized_start=132
  _WRITEREQUEST._serialized_end=400
  _WRITEREQUEST_ATOMICITY._serialized_start=321
  _WRITEREQUEST_ATOMICITY._serialized_end=400
  _WRITERESPONSE._serialized_start=402
  _WRITERESPONSE._serialized_end=417
  _READREQUEST._serialized_start=419
  _READREQUEST._serialized_end=498
  _READRESPONSE._serialized_start=500
  _READRESPONSE._serialized_end=547
  _UPDATE._serialized_start=550
  _UPDATE._serialized_end=684
  _UPDATE_TYPE._serialized_start=625
  _UPDATE_TYPE._serialized_end=684
  _ENTITY._serialized_start=687
  _ENTITY._serialized_end=1334
  _EXTERNENTRY._serialized_start=1336
  _EXTERNENTRY._serialized_end=1429
  _TABLEENTRY._serialized_start=1432
  _TABLEENTRY._serialized_end=1885
  _TABLEENTRY_IDLETIMEOUT._serialized_start=1852
  _TABLEENTRY_IDLETIMEOUT._serialized_end=1885
  _FIELDMATCH._serialized_start=1888
  _FIELDMATCH._serialized_end=2362
  _FIELDMATCH_EXACT._serialized_start=2175
  _FIELDMATCH_EXACT._serialized_end=2197
  _FIELDMATCH_TERNARY._serialized_start=2199
  _FIELDMATCH_TERNARY._serialized_end=2237
  _FIELDMATCH_LPM._serialized_start=2239
  _FIELDMATCH_LPM._serialized_end=2279
  _FIELDMATCH_RANGE._serialized_start=2281
  _FIELDMATCH_RANGE._serialized_end=2315
  _FIELDMATCH_OPTIONAL._serialized_start=2317
  _FIELDMATCH_OPTIONAL._serialized_end=2342
  _TABLEACTION._serialized_start=2365
  _TABLEACTION._serialized_end=2558
  _ACTION._serialized_start=2560
  _ACTION._serialized_end=2666
  _ACTION_PARAM._serialized_start=2626
  _ACTION_PARAM._serialized_end=2666
  _ACTIONPROFILEACTIONSET._serialized_start=2668
  _ACTIONPROFILEACTIONSET._serialized_end=2752
  _ACTIONPROFILEACTION._serialized_start=2754
  _ACTIONPROFILEACTION._serialized_end=2879
  _ACTIONPROFILEMEMBER._serialized_start=2881
  _ACTIONPROFILEMEMBER._serialized_end=2979
  _ACTIONPROFILEGROUP._serialized_start=2982
  _ACTIONPROFILEGROUP._serialized_end=3218
  _ACTIONPROFILEGROUP_MEMBER._serialized_start=3118
  _ACTIONPROFILEGROUP_MEMBER._serialized_end=3218
  _INDEX._serialized_start=3220
  _INDEX._serialized_end=3242
  _METERENTRY._serialized_start=3245
  _METERENTRY._serialized_end=3387
  _DIRECTMETERENTRY._serialized_start=3390
  _DIRECTMETERENTRY._serialized_end=3531
  _METERCONFIG._serialized_start=3533
  _METERCONFIG._serialized_end=3604
  _COUNTERENTRY._serialized_start=3606
  _COUNTERENTRY._serialized_end=3703
  _DIRECTCOUNTERENTRY._serialized_start=3705
  _DIRECTCOUNTERENTRY._serialized_end=3799
  _COUNTERDATA._serialized_start=3801
  _COUNTERDATA._serialized_end=3856
  _METERCOUNTERDATA._serialized_start=3858
  _METERCOUNTERDATA._serialized_end=3980
  _PACKETREPLICATIONENGINEENTRY._serialized_start=3983
  _PACKETREPLICATIONENGINEENTRY._serialized_end=4139
  _REPLICA._serialized_start=4141
  _REPLICA._serialized_end=4189
  _MULTICASTGROUPENTRY._serialized_start=4191
  _MULTICASTGROUPENTRY._serialized_end=4274
  _CLONESESSIONENTRY._serialized_start=4277
  _CLONESESSIONENTRY._serialized_end=4405
  _VALUESETMEMBER._serialized_start=4407
  _VALUESETMEMBER._serialized_end=4457
  _VALUESETENTRY._serialized_start=4459
  _VALUESETENTRY._serialized_end=4536
  _REGISTERENTRY._serialized_start=4538
  _REGISTERENTRY._serialized_end=4632
  _DIGESTENTRY._serialized_start=4635
  _DIGESTENTRY._serialized_end=4791
  _DIGESTENTRY_CONFIG._serialized_start=4712
  _DIGESTENTRY_CONFIG._serialized_end=4791
  _STREAMMESSAGEREQUEST._serialized_start=4794
  _STREAMMESSAGEREQUEST._serialized_end=5000
  _PACKETOUT._serialized_start=5002
  _PACKETOUT._serialized_end=5071
  _DIGESTLISTACK._serialized_start=5073
  _DIGESTLISTACK._serialized_end=5124
  _STREAMMESSAGERESPONSE._serialized_start=5127
  _STREAMMESSAGERESPONSE._serialized_end=5432
  _PACKETIN._serialized_start=5434
  _PACKETIN._serialized_end=5502
  _DIGESTLIST._serialized_start=5504
  _DIGESTLIST._serialized_end=5600
  _PACKETMETADATA._serialized_start=5602
  _PACKETMETADATA._serialized_end=5654
  _MASTERARBITRATIONUPDATE._serialized_start=5657
  _MASTERARBITRATIONUPDATE._serialized_end=5801
  _ROLE._serialized_start=5803
  _ROLE._serialized_end=5877
  _IDLETIMEOUTNOTIFICATION._serialized_start=5879
  _IDLETIMEOUTNOTIFICATION._serialized_end=5963
  _STREAMERROR._serialized_start=5966
  _STREAMERROR._serialized_end=6201
  _PACKETOUTERROR._serialized_start=6203
  _PACKETOUTERROR._serialized_end=6257
  _DIGESTLISTACKERROR._serialized_start=6259
  _DIGESTLISTACKERROR._serialized_end=6326
  _STREAMOTHERERROR._serialized_start=6328
  _STREAMOTHERERROR._serialized_end=6383
  _UINT128._serialized_start=6385
  _UINT128._serialized_end=6421
  _SETFORWARDINGPIPELINECONFIGREQUEST._serialized_start=6424
  _SETFORWARDINGPIPELINECONFIGREQUEST._serialized_end=6787
  _SETFORWARDINGPIPELINECONFIGREQUEST_ACTION._serialized_start=6668
  _SETFORWARDINGPIPELINECONFIGREQUEST_ACTION._serialized_end=6787
  _SETFORWARDINGPIPELINECONFIGRESPONSE._serialized_start=6789
  _SETFORWARDINGPIPELINECONFIGRESPONSE._serialized_end=6826
  _FORWARDINGPIPELINECONFIG._serialized_start=6829
  _FORWARDINGPIPELINECONFIG._serialized_end=7001
  _FORWARDINGPIPELINECONFIG_COOKIE._serialized_start=6977
  _FORWARDINGPIPELINECONFIG_COOKIE._serialized_end=7001
  _GETFORWARDINGPIPELINECONFIGREQUEST._serialized_start=7004
  _GETFORWARDINGPIPELINECONFIGREQUEST._serialized_end=7233
  _GETFORWARDINGPIPELINECONFIGREQUEST_RESPONSETYPE._serialized_start=7140
  _GETFORWARDINGPIPELINECONFIGREQUEST_RESPONSETYPE._serialized_end=7233
  _GETFORWARDINGPIPELINECONFIGRESPONSE._serialized_start=7235
  _GETFORWARDINGPIPELINECONFIGRESPONSE._serialized_end=7321
  _ERROR._serialized_start=7323
  _ERROR._serialized_end=7439
  _CAPABILITIESREQUEST._serialized_start=7441
  _CAPABILITIESREQUEST._serialized_end=7462
  _CAPABILITIESRESPONSE._serialized_start=7464
  _CAPABILITIESRESPONSE._serialized_end=7517
  _P4RUNTIME._serialized_start=7661
  _P4RUNTIME._serialized_end=8176
# @@protoc_insertion_point(module_scope)
