diff --git a/grpc/cpp/src/gencpp/sl_af.grpc.pb.h b/grpc/cpp/src/gencpp/sl_af.grpc.pb.h index fe4ef77..c6e92f6 100644 --- a/grpc/cpp/src/gencpp/sl_af.grpc.pb.h +++ b/grpc/cpp/src/gencpp/sl_af.grpc.pb.h @@ -11,7 +11,7 @@ // change without notice and such changes can break backwards compatibility. // // ---------------------------------------------------------------- -// Copyright (c) 2023, 2024 by Cisco Systems, Inc. +// Copyright (c) 2023-2025 by Cisco Systems, Inc. // All rights reserved. // ----------------------------------------------------------------- // @@ -62,7 +62,7 @@ namespace service_layer { // Each client application MUST use a unique client ID identifying itself // that is separate from other clients programming the server. If there // are multiple instances of the client application, then each such -// instance MUST be uniquely idenified. +// instance MUST be uniquely identified. // // If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes // a default client id of 0 for that RPC invocation and associates @@ -106,7 +106,7 @@ class SLAF final { // any other object (e.g. IP Route and MPLS label object) created by // ANY other client. // - // Only the client that created the object (IP/MPLS and Path Group included) + // Only the client that created the object (IP/MPLS and Path Group included) // can manipulate that object. // // @@ -218,6 +218,8 @@ class SLAF final { return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service_layer::SLAFMsg, ::service_layer::SLAFMsgRsp>>(PrepareAsyncSLAFOpStreamRaw(context, cq)); } // Retrieves object attributes. + // This RPC is unidirectional streaming from the server side + // Server will close the stream when all the entries have been returned. std::unique_ptr< ::grpc::ClientReaderInterface< ::service_layer::SLAFGetMsgRsp>> SLAFGet(::grpc::ClientContext* context, const ::service_layer::SLAFGetMsg& request) { return std::unique_ptr< ::grpc::ClientReaderInterface< ::service_layer::SLAFGetMsgRsp>>(SLAFGetRaw(context, request)); } @@ -247,7 +249,8 @@ class SLAF final { // The call takes a stream of per-VRF table notification requests. // Each notification request is first responded to with the result // of the registration operation itself, followed by any redistributed - // routes if requested and present, and any next hops if requested and present. + // routes if requested and present, and any next hops if requested and + // present. // From then on, any updates are notified as long as RPC is up. std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service_layer::SLAFNotifReq, ::service_layer::SLAFNotifMsg>> SLAFNotifStream(::grpc::ClientContext* context) { return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service_layer::SLAFNotifReq, ::service_layer::SLAFNotifMsg>>(SLAFNotifStreamRaw(context)); @@ -269,7 +272,7 @@ class SLAF final { // any other object (e.g. IP Route and MPLS label object) created by // ANY other client. // - // Only the client that created the object (IP/MPLS and Path Group included) + // Only the client that created the object (IP/MPLS and Path Group included) // can manipulate that object. // // @@ -355,6 +358,8 @@ class SLAF final { // Delete of a non-existant object is returned as success. virtual void SLAFOpStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service_layer::SLAFMsg,::service_layer::SLAFMsgRsp>* reactor) = 0; // Retrieves object attributes. + // This RPC is unidirectional streaming from the server side + // Server will close the stream when all the entries have been returned. virtual void SLAFGet(::grpc::ClientContext* context, const ::service_layer::SLAFGetMsg* request, ::grpc::ClientReadReactor< ::service_layer::SLAFGetMsgRsp>* reactor) = 0; // The route redistribution and next hop tracking RPC. // @@ -376,7 +381,8 @@ class SLAF final { // The call takes a stream of per-VRF table notification requests. // Each notification request is first responded to with the result // of the registration operation itself, followed by any redistributed - // routes if requested and present, and any next hops if requested and present. + // routes if requested and present, and any next hops if requested and + // present. // From then on, any updates are notified as long as RPC is up. virtual void SLAFNotifStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service_layer::SLAFNotifReq,::service_layer::SLAFNotifMsg>* reactor) = 0; }; @@ -513,7 +519,7 @@ class SLAF final { // any other object (e.g. IP Route and MPLS label object) created by // ANY other client. // - // Only the client that created the object (IP/MPLS and Path Group included) + // Only the client that created the object (IP/MPLS and Path Group included) // can manipulate that object. // // @@ -597,6 +603,8 @@ class SLAF final { // Delete of a non-existant object is returned as success. virtual ::grpc::Status SLAFOpStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service_layer::SLAFMsgRsp, ::service_layer::SLAFMsg>* stream); // Retrieves object attributes. + // This RPC is unidirectional streaming from the server side + // Server will close the stream when all the entries have been returned. virtual ::grpc::Status SLAFGet(::grpc::ServerContext* context, const ::service_layer::SLAFGetMsg* request, ::grpc::ServerWriter< ::service_layer::SLAFGetMsgRsp>* writer); // The route redistribution and next hop tracking RPC. // @@ -618,7 +626,8 @@ class SLAF final { // The call takes a stream of per-VRF table notification requests. // Each notification request is first responded to with the result // of the registration operation itself, followed by any redistributed - // routes if requested and present, and any next hops if requested and present. + // routes if requested and present, and any next hops if requested and + // present. // From then on, any updates are notified as long as RPC is up. virtual ::grpc::Status SLAFNotifStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service_layer::SLAFNotifMsg, ::service_layer::SLAFNotifReq>* stream); }; diff --git a/grpc/cpp/src/gencpp/sl_af.pb.cc b/grpc/cpp/src/gencpp/sl_af.pb.cc index 73a6244..580f001 100644 --- a/grpc/cpp/src/gencpp/sl_af.pb.cc +++ b/grpc/cpp/src/gencpp/sl_af.pb.cc @@ -127,9 +127,10 @@ struct SLPathGroup_SLPathListDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroup_SLPathListDefaultTypeInternal _SLPathGroup_SLPathList_default_instance_; constexpr SLPathGroup::SLPathGroup( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : pathgroupid_(nullptr) + : pgflags_() + , _pgflags_cached_byte_size_(0) + , pathgroupid_(nullptr) , admindistance_(0u) - , flags_(0u) , _oneof_case_{}{} struct SLPathGroupDefaultTypeInternal { constexpr SLPathGroupDefaultTypeInternal() @@ -140,13 +141,25 @@ struct SLPathGroupDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroupDefaultTypeInternal _SLPathGroup_default_instance_; +constexpr SLMplsEntryKey::SLMplsEntryKey( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : label_(0u){} +struct SLMplsEntryKeyDefaultTypeInternal { + constexpr SLMplsEntryKeyDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLMplsEntryKeyDefaultTypeInternal() {} + union { + SLMplsEntryKey _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLMplsEntryKeyDefaultTypeInternal _SLMplsEntryKey_default_instance_; constexpr SLMplsEntry::SLMplsEntry( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : pathlist_() - , locallabel_(0u) - , admindistance_(0u) - , flags_(0u) - , _oneof_case_{}{} + , mplsflags_() + , _mplsflags_cached_byte_size_(0) + , mplskey_(nullptr) + , admindistance_(0u){} struct SLMplsEntryDefaultTypeInternal { constexpr SLMplsEntryDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -156,6 +169,20 @@ struct SLMplsEntryDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLMplsEntryDefaultTypeInternal _SLMplsEntry_default_instance_; +constexpr SLAFIPRoute::SLAFIPRoute( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : pathlist_() + , iprouteprefix_(nullptr) + , routecommon_(nullptr){} +struct SLAFIPRouteDefaultTypeInternal { + constexpr SLAFIPRouteDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLAFIPRouteDefaultTypeInternal() {} + union { + SLAFIPRoute _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFIPRouteDefaultTypeInternal _SLAFIPRoute_default_instance_; constexpr SLAFObject::SLAFObject( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : _oneof_case_{}{} @@ -168,7 +195,7 @@ struct SLAFObjectDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFObjectDefaultTypeInternal _SLAFObject_default_instance_; -constexpr SLAFOp::SLAFOp( +constexpr SLAFOpMsg::SLAFOpMsg( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : ackpermits_() , _ackpermits_cached_byte_size_(0) @@ -178,64 +205,95 @@ constexpr SLAFOp::SLAFOp( , ackcadence_(0) {} -struct SLAFOpDefaultTypeInternal { - constexpr SLAFOpDefaultTypeInternal() +struct SLAFOpMsgDefaultTypeInternal { + constexpr SLAFOpMsgDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLAFOpDefaultTypeInternal() {} + ~SLAFOpMsgDefaultTypeInternal() {} union { - SLAFOp _instance; + SLAFOpMsg _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFOpDefaultTypeInternal _SLAFOp_default_instance_; -constexpr SLAFGetMsg::SLAFGetMsg( +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFOpMsgDefaultTypeInternal _SLAFOpMsg_default_instance_; +constexpr SLAFClientIDList::SLAFClientIDList( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : routematch_() - , vrfname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , table_(0) - - , getallclients_(false){} -struct SLAFGetMsgDefaultTypeInternal { - constexpr SLAFGetMsgDefaultTypeInternal() + : clientidlist_() + , _clientidlist_cached_byte_size_(0){} +struct SLAFClientIDListDefaultTypeInternal { + constexpr SLAFClientIDListDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLAFGetMsgDefaultTypeInternal() {} + ~SLAFClientIDListDefaultTypeInternal() {} union { - SLAFGetMsg _instance; + SLAFClientIDList _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFGetMsgDefaultTypeInternal _SLAFGetMsg_default_instance_; -constexpr SLAFDepFibStatus::SLAFDepFibStatus( +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFClientIDListDefaultTypeInternal _SLAFClientIDList_default_instance_; +constexpr SLTableTypeList::SLTableTypeList( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : errorcode_(nullptr) - , operationid_(uint64_t{0u}) - , version_(uint64_t{0u}) - , _oneof_case_{}{} -struct SLAFDepFibStatusDefaultTypeInternal { - constexpr SLAFDepFibStatusDefaultTypeInternal() + : table_() + , _table_cached_byte_size_(0){} +struct SLTableTypeListDefaultTypeInternal { + constexpr SLTableTypeListDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLTableTypeListDefaultTypeInternal() {} + union { + SLTableTypeList _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLTableTypeListDefaultTypeInternal _SLTableTypeList_default_instance_; +constexpr SLAFObjectKey::SLAFObjectKey( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : _oneof_case_{}{} +struct SLAFObjectKeyDefaultTypeInternal { + constexpr SLAFObjectKeyDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLAFObjectKeyDefaultTypeInternal() {} + union { + SLAFObjectKey _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFObjectKeyDefaultTypeInternal _SLAFObjectKey_default_instance_; +constexpr SLAFGetMatch::SLAFGetMatch( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : _oneof_case_{}{} +struct SLAFGetMatchDefaultTypeInternal { + constexpr SLAFGetMatchDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLAFGetMatchDefaultTypeInternal() {} + union { + SLAFGetMatch _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFGetMatchDefaultTypeInternal _SLAFGetMatch_default_instance_; +constexpr SLAFGetMatchList::SLAFGetMatchList( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : match_(){} +struct SLAFGetMatchListDefaultTypeInternal { + constexpr SLAFGetMatchListDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLAFDepFibStatusDefaultTypeInternal() {} + ~SLAFGetMatchListDefaultTypeInternal() {} union { - SLAFDepFibStatus _instance; + SLAFGetMatchList _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFDepFibStatusDefaultTypeInternal _SLAFDepFibStatus_default_instance_; -constexpr SLAFFibStatus::SLAFFibStatus( +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFGetMatchListDefaultTypeInternal _SLAFGetMatchList_default_instance_; +constexpr SLAFGetMsg::SLAFGetMsg( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : depresult_(nullptr) - , version_(uint64_t{0u}){} -struct SLAFFibStatusDefaultTypeInternal { - constexpr SLAFFibStatusDefaultTypeInternal() + : vrfname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , _oneof_case_{}{} +struct SLAFGetMsgDefaultTypeInternal { + constexpr SLAFGetMsgDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLAFFibStatusDefaultTypeInternal() {} + ~SLAFGetMsgDefaultTypeInternal() {} union { - SLAFFibStatus _instance; + SLAFGetMsg _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFFibStatusDefaultTypeInternal _SLAFFibStatus_default_instance_; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFGetMsgDefaultTypeInternal _SLAFGetMsg_default_instance_; constexpr SLAFGetMsgRspEntry::SLAFGetMsgRspEntry( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : afop_(nullptr) - , errorcode_(nullptr) - , version_(uint64_t{0u}){} + : afopmsg_(nullptr) + , fibstatus_(0) +{} struct SLAFGetMsgRspEntryDefaultTypeInternal { constexpr SLAFGetMsgRspEntryDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -278,9 +336,11 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFMsgDefaultTypeInternal _SLA constexpr SLAFRes::SLAFRes( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : errorstring_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , errstatus_(nullptr) - , operation_(nullptr) - , fibstatus_(nullptr){} + , status_(nullptr) + , key_(nullptr) + , operationid_(uint64_t{0u}) + , fibstatus_(0) +{} struct SLAFResDefaultTypeInternal { constexpr SLAFResDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -320,8 +380,7 @@ struct SLAFRedistRegMsgDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFRedistRegMsgDefaultTypeInternal _SLAFRedistRegMsg_default_instance_; constexpr SLAFNextHopRegKey_SLNextHopKey::SLAFNextHopRegKey_SLNextHopKey( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : nexthop_(nullptr) - , nexthoplen_(0u) + : nexthopip_(nullptr) , exactmatch_(false) , allowdefault_(false) , recurse_(false){} @@ -405,8 +464,7 @@ constexpr SLNextHop::SLNextHop( , srcproto_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , srcprototag_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , nexthopkey_(nullptr) - , resolvingroute_(nullptr) - , resolvingroutelen_(0u) + , resolvingprefix_(nullptr) , admindistance_(0u) , metric_(0u){} struct SLNextHopDefaultTypeInternal { @@ -457,7 +515,7 @@ struct SLAFNotifMsgDefaultTypeInternal { }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFNotifMsgDefaultTypeInternal _SLAFNotifMsg_default_instance_; } // namespace service_layer -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5faf_2eproto[31]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5faf_2eproto[36]; static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_sl_5faf_2eproto = nullptr; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_sl_5faf_2eproto = nullptr; @@ -535,20 +593,34 @@ const uint32_t TableStruct_sl_5faf_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, pathgroupid_), PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, admindistance_), ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, flags_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, pgflags_), PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, entry_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntryKey, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntryKey, label_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, _internal_metadata_), ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, _oneof_case_[0]), + ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, locallabel_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, mplskey_), PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, admindistance_), PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, pathlist_), - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, flags_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, entry_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLMplsEntry, mplsflags_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFIPRoute, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFIPRoute, iprouteprefix_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFIPRoute, routecommon_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFIPRoute, pathlist_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLAFObject, _internal_metadata_), ~0u, // no _extensions_ @@ -558,57 +630,80 @@ const uint32_t TableStruct_sl_5faf_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::service_layer::SLAFObject, entry_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOp, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOpMsg, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOp, afobject_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOp, operationid_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOp, acktype_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOp, ackpermits_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOp, ackcadence_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOpMsg, afobject_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOpMsg, operationid_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOpMsg, acktype_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOpMsg, ackpermits_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFOpMsg, ackcadence_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFClientIDList, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, vrfname_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, table_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, getallclients_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, routematch_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFClientIDList, clientidlist_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLTableTypeList, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLTableTypeList, table_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFObjectKey, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFObjectKey, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFObjectKey, key_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFDepFibStatus, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMatch, _internal_metadata_), ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFDepFibStatus, _oneof_case_[0]), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMatch, _oneof_case_[0]), ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFDepFibStatus, errorcode_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFDepFibStatus, operationid_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFDepFibStatus, version_), ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFDepFibStatus, entry_), + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMatch, entry_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFFibStatus, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMatchList, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFFibStatus, version_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFFibStatus, depresult_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMatchList, match_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, vrfname_), + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, client_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsg, match_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsgRspEntry, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsgRspEntry, afop_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsgRspEntry, errorcode_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsgRspEntry, version_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsgRspEntry, afopmsg_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsgRspEntry, fibstatus_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLAFGetMsgRsp, _internal_metadata_), ~0u, // no _extensions_ @@ -634,10 +729,11 @@ const uint32_t TableStruct_sl_5faf_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, errstatus_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, operation_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, errorstring_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, status_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, key_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, operationid_), PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, fibstatus_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFRes, errorstring_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLAFMsgRsp, _internal_metadata_), ~0u, // no _extensions_ @@ -661,8 +757,7 @@ const uint32_t TableStruct_sl_5faf_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFNextHopRegKey_SLNextHopKey, nexthop_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLAFNextHopRegKey_SLNextHopKey, nexthoplen_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLAFNextHopRegKey_SLNextHopKey, nexthopip_), PROTOBUF_FIELD_OFFSET(::service_layer::SLAFNextHopRegKey_SLNextHopKey, exactmatch_), PROTOBUF_FIELD_OFFSET(::service_layer::SLAFNextHopRegKey_SLNextHopKey, allowdefault_), PROTOBUF_FIELD_OFFSET(::service_layer::SLAFNextHopRegKey_SLNextHopKey, recurse_), @@ -715,8 +810,7 @@ const uint32_t TableStruct_sl_5faf_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::service_layer::SLNextHop, nexthopkey_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLNextHop, resolvingroute_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLNextHop, resolvingroutelen_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLNextHop, resolvingprefix_), PROTOBUF_FIELD_OFFSET(::service_layer::SLNextHop, srcproto_), PROTOBUF_FIELD_OFFSET(::service_layer::SLNextHop, srcprototag_), PROTOBUF_FIELD_OFFSET(::service_layer::SLNextHop, admindistance_), @@ -760,28 +854,33 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 50, -1, -1, sizeof(::service_layer::SLPathGroup_SLPath)}, { 57, -1, -1, sizeof(::service_layer::SLPathGroup_SLPathList)}, { 64, -1, -1, sizeof(::service_layer::SLPathGroup)}, - { 75, -1, -1, sizeof(::service_layer::SLMplsEntry)}, - { 87, -1, -1, sizeof(::service_layer::SLAFObject)}, - { 98, -1, -1, sizeof(::service_layer::SLAFOp)}, - { 109, -1, -1, sizeof(::service_layer::SLAFGetMsg)}, - { 119, -1, -1, sizeof(::service_layer::SLAFDepFibStatus)}, - { 130, -1, -1, sizeof(::service_layer::SLAFFibStatus)}, - { 138, -1, -1, sizeof(::service_layer::SLAFGetMsgRspEntry)}, - { 147, -1, -1, sizeof(::service_layer::SLAFGetMsgRsp)}, - { 157, -1, -1, sizeof(::service_layer::SLAFMsg)}, - { 166, -1, -1, sizeof(::service_layer::SLAFRes)}, - { 176, -1, -1, sizeof(::service_layer::SLAFMsgRsp)}, - { 184, -1, -1, sizeof(::service_layer::SLAFRedistRegMsg)}, - { 193, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey_SLNextHopKey)}, - { 204, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey)}, - { 212, -1, -1, sizeof(::service_layer::SLAFNextHopRegMsg)}, - { 219, -1, -1, sizeof(::service_layer::SLAFNotifRegReq)}, - { 229, -1, -1, sizeof(::service_layer::SLAFNotifReq)}, - { 238, -1, -1, sizeof(::service_layer::SLAFNotifRsp)}, - { 246, -1, -1, sizeof(::service_layer::SLNextHop)}, - { 260, -1, -1, sizeof(::service_layer::SLAFNotif_SLRedistMarker)}, - { 267, -1, -1, sizeof(::service_layer::SLAFNotif)}, - { 279, -1, -1, sizeof(::service_layer::SLAFNotifMsg)}, + { 75, -1, -1, sizeof(::service_layer::SLMplsEntryKey)}, + { 82, -1, -1, sizeof(::service_layer::SLMplsEntry)}, + { 92, -1, -1, sizeof(::service_layer::SLAFIPRoute)}, + { 101, -1, -1, sizeof(::service_layer::SLAFObject)}, + { 111, -1, -1, sizeof(::service_layer::SLAFOpMsg)}, + { 122, -1, -1, sizeof(::service_layer::SLAFClientIDList)}, + { 129, -1, -1, sizeof(::service_layer::SLTableTypeList)}, + { 136, -1, -1, sizeof(::service_layer::SLAFObjectKey)}, + { 146, -1, -1, sizeof(::service_layer::SLAFGetMatch)}, + { 156, -1, -1, sizeof(::service_layer::SLAFGetMatchList)}, + { 163, -1, -1, sizeof(::service_layer::SLAFGetMsg)}, + { 176, -1, -1, sizeof(::service_layer::SLAFGetMsgRspEntry)}, + { 184, -1, -1, sizeof(::service_layer::SLAFGetMsgRsp)}, + { 194, -1, -1, sizeof(::service_layer::SLAFMsg)}, + { 203, -1, -1, sizeof(::service_layer::SLAFRes)}, + { 214, -1, -1, sizeof(::service_layer::SLAFMsgRsp)}, + { 222, -1, -1, sizeof(::service_layer::SLAFRedistRegMsg)}, + { 231, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey_SLNextHopKey)}, + { 241, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey)}, + { 249, -1, -1, sizeof(::service_layer::SLAFNextHopRegMsg)}, + { 256, -1, -1, sizeof(::service_layer::SLAFNotifRegReq)}, + { 266, -1, -1, sizeof(::service_layer::SLAFNotifReq)}, + { 275, -1, -1, sizeof(::service_layer::SLAFNotifRsp)}, + { 283, -1, -1, sizeof(::service_layer::SLNextHop)}, + { 296, -1, -1, sizeof(::service_layer::SLAFNotif_SLRedistMarker)}, + { 303, -1, -1, sizeof(::service_layer::SLAFNotif)}, + { 315, -1, -1, sizeof(::service_layer::SLAFNotifMsg)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -794,12 +893,17 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::service_layer::_SLPathGroup_SLPath_default_instance_), reinterpret_cast(&::service_layer::_SLPathGroup_SLPathList_default_instance_), reinterpret_cast(&::service_layer::_SLPathGroup_default_instance_), + reinterpret_cast(&::service_layer::_SLMplsEntryKey_default_instance_), reinterpret_cast(&::service_layer::_SLMplsEntry_default_instance_), + reinterpret_cast(&::service_layer::_SLAFIPRoute_default_instance_), reinterpret_cast(&::service_layer::_SLAFObject_default_instance_), - reinterpret_cast(&::service_layer::_SLAFOp_default_instance_), + reinterpret_cast(&::service_layer::_SLAFOpMsg_default_instance_), + reinterpret_cast(&::service_layer::_SLAFClientIDList_default_instance_), + reinterpret_cast(&::service_layer::_SLTableTypeList_default_instance_), + reinterpret_cast(&::service_layer::_SLAFObjectKey_default_instance_), + reinterpret_cast(&::service_layer::_SLAFGetMatch_default_instance_), + reinterpret_cast(&::service_layer::_SLAFGetMatchList_default_instance_), reinterpret_cast(&::service_layer::_SLAFGetMsg_default_instance_), - reinterpret_cast(&::service_layer::_SLAFDepFibStatus_default_instance_), - reinterpret_cast(&::service_layer::_SLAFFibStatus_default_instance_), reinterpret_cast(&::service_layer::_SLAFGetMsgRspEntry_default_instance_), reinterpret_cast(&::service_layer::_SLAFGetMsgRsp_default_instance_), reinterpret_cast(&::service_layer::_SLAFMsg_default_instance_), @@ -820,137 +924,145 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = const char descriptor_table_protodef_sl_5faf_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\013sl_af.proto\022\rservice_layer\032\025sl_common_" - "types.proto\032\025sl_route_common.proto\032\023sl_r" - "oute_ipv4.proto\032\023sl_route_ipv6.proto\"`\n\n" - "SLAFVrfReg\022)\n\005Table\030\001 \001(\0162\032.service_laye" - "r.SLTableType\022\'\n\006VrfReg\030\002 \001(\0132\027.service_" - "layer.SLVrfReg\"d\n\rSLAFVrfRegMsg\022$\n\004Oper\030" - "\001 \001(\0162\026.service_layer.SLRegOp\022-\n\nVrfRegM" - "sgs\030\002 \003(\0132\031.service_layer.SLAFVrfReg\"\177\n\020" - "SLAFVrfRegMsgRes\022/\n\tErrStatus\030\001 \001(\0132\034.se" - "rvice_layer.SLErrorStatus\022\017\n\007VrfName\030\002 \001" - "(\t\022)\n\005Table\030\003 \001(\0162\032.service_layer.SLTabl" - "eType\"y\n\020SLAFVrfRegMsgRsp\0223\n\rStatusSumma" - "ry\030\001 \001(\0132\034.service_layer.SLErrorStatus\0220" - "\n\007Results\030\002 \003(\0132\037.service_layer.SLAFVrfR" - "egMsgRes\"\"\n\020SLAFVrfRegGetMsg\022\016\n\006GetAll\030\001" - " \001(\010\"\255\001\n\023SLAFVrfRegGetMsgRsp\022/\n\tErrStatu" - "s\030\001 \001(\0132\034.service_layer.SLErrorStatus\022\020\n" - "\010ClientID\030\002 \001(\004\022)\n\005Table\030\003 \001(\0162\032.service" - "_layer.SLTableType\022(\n\007Entries\030\004 \003(\0132\027.se" - "rvice_layer.SLVrfReg\"\233\002\n\013SLPathGroup\022.\n\013" - "PathGroupId\030\001 \001(\0132\031.service_layer.SLObje" - "ctId\022\025\n\rAdminDistance\030\002 \001(\r\0229\n\010PathList\030" - "\003 \001(\0132%.service_layer.SLPathGroup.SLPath" - "ListH\000\022\r\n\005Flags\030\004 \001(\r\0322\n\006SLPath\022(\n\004Path\030" - "\001 \001(\0132\032.service_layer.SLRoutePath\032>\n\nSLP" - "athList\0220\n\005Paths\030\001 \003(\0132!.service_layer.S" - "LPathGroup.SLPathB\007\n\005entry\"\270\001\n\013SLMplsEnt" - "ry\022\022\n\nLocalLabel\030\001 \001(\r\022\025\n\rAdminDistance\030" - "\002 \001(\r\022,\n\010PathList\030\003 \003(\0132\032.service_layer." - "SLRoutePath\0228\n\014PathGroupKey\030\004 \001(\0132 .serv" - "ice_layer.SLPathGroupRefKeyH\000\022\r\n\005Flags\030\005" - " \001(\rB\007\n\005entry\"\325\001\n\nSLAFObject\022-\n\tIPv4Rout" - "e\030\001 \001(\0132\030.service_layer.SLRoutev4H\000\022-\n\tI" - "Pv6Route\030\002 \001(\0132\030.service_layer.SLRoutev6" - "H\000\022/\n\tMplsLabel\030\003 \001(\0132\032.service_layer.SL" - "MplsEntryH\000\022/\n\tPathGroup\030\004 \001(\0132\032.service" - "_layer.SLPathGroupH\000B\007\n\005entry\"\337\001\n\006SLAFOp" - "\022+\n\010AFObject\030\001 \001(\0132\031.service_layer.SLAFO" - "bject\022\023\n\013OperationID\030\002 \001(\004\022,\n\007AckType\030\003 " - "\001(\0162\033.service_layer.SLRspACKType\0221\n\nAckP" - "ermits\030\004 \003(\0162\035.service_layer.SLRspACKPer" - "mit\0222\n\nAckCadence\030\005 \001(\0162\036.service_layer." - "SLRspAckCadence\"\223\001\n\nSLAFGetMsg\022\017\n\007VrfNam" - "e\030\001 \001(\t\022)\n\005Table\030\002 \001(\0162\032.service_layer.S" - "LTableType\022\025\n\rGetAllClients\030\003 \001(\010\0222\n\nRou" - "teMatch\030\004 \003(\0132\036.service_layer.SLRouteGet" - "Match\"\254\001\n\020SLAFDepFibStatus\022/\n\tErrorCode\030" - "\001 \001(\0132\034.service_layer.SLErrorStatus\022\023\n\013O" - "perationID\030\002 \001(\004\022\017\n\007Version\030\003 \001(\004\0228\n\014Pat" - "hGroupKey\030\004 \001(\0132 .service_layer.SLPathGr" - "oupRefKeyH\000B\007\n\005entry\"T\n\rSLAFFibStatus\022\017\n" - "\007Version\030\001 \001(\004\0222\n\tDepResult\030\002 \001(\0132\037.serv" - "ice_layer.SLAFDepFibStatus\"{\n\022SLAFGetMsg" - "RspEntry\022#\n\004AFOp\030\001 \001(\0132\025.service_layer.S" - "LAFOp\022/\n\tErrorCode\030\002 \001(\0132\034.service_layer" - ".SLErrorStatus\022\017\n\007Version\030\003 \001(\004\"\226\001\n\rSLAF" - "GetMsgRsp\022/\n\tErrStatus\030\001 \001(\0132\034.service_l" - "ayer.SLErrorStatus\022\017\n\007VrfName\030\002 \001(\t\022\020\n\010C" - "lientID\030\003 \001(\004\0221\n\006AFList\030\004 \003(\0132!.service_" - "layer.SLAFGetMsgRspEntry\"j\n\007SLAFMsg\022\'\n\004O" - "per\030\001 \001(\0162\031.service_layer.SLObjectOp\022\017\n\007" - "VrfName\030\002 \001(\t\022%\n\006OpList\030\003 \003(\0132\025.service_" - "layer.SLAFOp\"\252\001\n\007SLAFRes\022/\n\tErrStatus\030\001 " - "\001(\0132\034.service_layer.SLErrorStatus\022(\n\tOpe" - "ration\030\002 \001(\0132\025.service_layer.SLAFOp\022\023\n\013E" - "rrorString\030\003 \001(\t\022/\n\tFIBStatus\030\004 \001(\0132\034.se" - "rvice_layer.SLAFFibStatus\"F\n\nSLAFMsgRsp\022" - "\017\n\007VrfName\030\001 \001(\t\022\'\n\007Results\030\002 \003(\0132\026.serv" - "ice_layer.SLAFRes\"d\n\020SLAFRedistRegMsg\022\020\n" - "\010SrcProto\030\001 \001(\t\022\023\n\013SrcProtoTag\030\002 \001(\t\022)\n\005" - "Table\030\003 \001(\0162\032.service_layer.SLTableType\"" - "\360\001\n\021SLAFNextHopRegKey\022@\n\007NextHop\030\001 \001(\0132-" - ".service_layer.SLAFNextHopRegKey.SLNextH" - "opKeyH\000\032\212\001\n\014SLNextHopKey\022+\n\007NextHop\030\001 \001(" - "\0132\032.service_layer.SLIpAddress\022\022\n\nNextHop" - "Len\030\002 \001(\r\022\022\n\nExactMatch\030\003 \001(\010\022\024\n\014AllowDe" - "fault\030\004 \001(\010\022\017\n\007Recurse\030\005 \001(\010B\014\n\nnexthopk" - "ey\"I\n\021SLAFNextHopRegMsg\0224\n\nNextHopKey\030\001 " - "\001(\0132 .service_layer.SLAFNextHopRegKey\"\237\001" - "\n\017SLAFNotifRegReq\0224\n\tRedistReq\030\001 \001(\0132\037.s" - "ervice_layer.SLAFRedistRegMsgH\000\0226\n\nNextH" - "opReq\030\002 \001(\0132 .service_layer.SLAFNextHopR" - "egMsgH\000\022\023\n\013OperationID\030\003 \001(\004B\t\n\007request\"" - "y\n\014SLAFNotifReq\022&\n\004Oper\030\001 \001(\0162\030.service_" - "layer.SLNotifOp\022\017\n\007VrfName\030\002 \001(\t\0220\n\010Noti" - "fReq\030\003 \003(\0132\036.service_layer.SLAFNotifRegR" - "eq\"s\n\014SLAFNotifRsp\0220\n\010NotifReq\030\001 \001(\0132\036.s" - "ervice_layer.SLAFNotifRegReq\0221\n\013NotifSta" - "tus\030\002 \001(\0132\034.service_layer.SLErrorStatus\"" - "\211\002\n\tSLNextHop\0224\n\nNextHopKey\030\001 \001(\0132 .serv" - "ice_layer.SLAFNextHopRegKey\0222\n\016Resolving" - "Route\030\002 \001(\0132\032.service_layer.SLIpAddress\022" - "\031\n\021ResolvingRouteLen\030\003 \001(\r\022\020\n\010SrcProto\030\004" - " \001(\t\022\023\n\013SrcProtoTag\030\005 \001(\t\022\025\n\rAdminDistan" - "ce\030\006 \001(\r\022\016\n\006Metric\030\007 \001(\r\022)\n\005Paths\030\010 \003(\0132" - "\032.service_layer.SLRoutePath\"\343\002\n\tSLAFNoti" - "f\0222\n\013NotifStatus\030\001 \001(\0132\033.service_layer.S" - "LAFNotifRspH\000\022>\n\013StartMarker\030\002 \001(\0132\'.ser" - "vice_layer.SLAFNotif.SLRedistMarkerH\000\022<\n" - "\tEndMarker\030\003 \001(\0132\'.service_layer.SLAFNot" - "if.SLRedistMarkerH\000\0221\n\014RedistObject\030\004 \001(" - "\0132\031.service_layer.SLAFObjectH\000\022+\n\007NextHo" - "p\030\005 \001(\0132\030.service_layer.SLNextHopH\000\032;\n\016S" - "LRedistMarker\022)\n\005Table\030\001 \001(\0162\032.service_l" - "ayer.SLTableTypeB\007\n\005Event\"K\n\014SLAFNotifMs" - "g\022\017\n\007VrfName\030\001 \001(\t\022*\n\010AFNotifs\030\003 \003(\0132\030.s" - "ervice_layer.SLAFNotif2\310\003\n\004SLAF\022M\n\014SLAFV" - "rfRegOp\022\034.service_layer.SLAFVrfRegMsg\032\037." - "service_layer.SLAFVrfRegMsgRsp\022V\n\rSLAFVr" - "fRegGet\022\037.service_layer.SLAFVrfRegGetMsg" - "\032\".service_layer.SLAFVrfRegGetMsgRsp0\001\022;" - "\n\006SLAFOp\022\026.service_layer.SLAFMsg\032\031.servi" - "ce_layer.SLAFMsgRsp\022E\n\014SLAFOpStream\022\026.se" - "rvice_layer.SLAFMsg\032\031.service_layer.SLAF" - "MsgRsp(\0010\001\022D\n\007SLAFGet\022\031.service_layer.SL" - "AFGetMsg\032\034.service_layer.SLAFGetMsgRsp0\001" - "\022O\n\017SLAFNotifStream\022\033.service_layer.SLAF" - "NotifReq\032\033.service_layer.SLAFNotifMsg(\0010" - "\001BQZOgithub.com/Cisco-service-layer/serv" - "ice-layer-objmodel/grpc/protos;service_l" - "ayerb\006proto3" + "types.proto\032\025sl_route_common.proto\"`\n\nSL" + "AFVrfReg\022)\n\005Table\030\001 \001(\0162\032.service_layer." + "SLTableType\022\'\n\006VrfReg\030\002 \001(\0132\027.service_la" + "yer.SLVrfReg\"d\n\rSLAFVrfRegMsg\022$\n\004Oper\030\001 " + "\001(\0162\026.service_layer.SLRegOp\022-\n\nVrfRegMsg" + "s\030\002 \003(\0132\031.service_layer.SLAFVrfReg\"\177\n\020SL" + "AFVrfRegMsgRes\022/\n\tErrStatus\030\001 \001(\0132\034.serv" + "ice_layer.SLErrorStatus\022\017\n\007VrfName\030\002 \001(\t" + "\022)\n\005Table\030\003 \001(\0162\032.service_layer.SLTableT" + "ype\"y\n\020SLAFVrfRegMsgRsp\0223\n\rStatusSummary" + "\030\001 \001(\0132\034.service_layer.SLErrorStatus\0220\n\007" + "Results\030\002 \003(\0132\037.service_layer.SLAFVrfReg" + "MsgRes\"\"\n\020SLAFVrfRegGetMsg\022\016\n\006GetAll\030\001 \001" + "(\010\"\255\001\n\023SLAFVrfRegGetMsgRsp\022/\n\tErrStatus\030" + "\001 \001(\0132\034.service_layer.SLErrorStatus\022\020\n\010C" + "lientID\030\002 \001(\004\022)\n\005Table\030\003 \001(\0162\032.service_l" + "ayer.SLTableType\022(\n\007Entries\030\004 \003(\0132\027.serv" + "ice_layer.SLVrfReg\"\272\002\n\013SLPathGroup\022.\n\013Pa" + "thGroupId\030\001 \001(\0132\031.service_layer.SLObject" + "Id\022\025\n\rAdminDistance\030\002 \001(\r\0229\n\010PathList\030\003 " + "\001(\0132%.service_layer.SLPathGroup.SLPathLi" + "stH\000\022,\n\007PgFlags\030\004 \003(\0162\033.service_layer.SL" + "RouteFlags\0322\n\006SLPath\022(\n\004Path\030\001 \001(\0132\032.ser" + "vice_layer.SLRoutePath\032>\n\nSLPathList\0220\n\005" + "Paths\030\001 \003(\0132!.service_layer.SLPathGroup." + "SLPathB\007\n\005entry\"\037\n\016SLMplsEntryKey\022\r\n\005Lab" + "el\030\001 \001(\r\"\262\001\n\013SLMplsEntry\022.\n\007MplsKey\030\001 \001(" + "\0132\035.service_layer.SLMplsEntryKey\022\025\n\rAdmi" + "nDistance\030\002 \001(\r\022,\n\010PathList\030\003 \003(\0132\032.serv" + "ice_layer.SLRoutePath\022.\n\tMplsFlags\030\004 \003(\016" + "2\033.service_layer.SLRouteFlags\"\243\001\n\013SLAFIP" + "Route\0223\n\rIPRoutePrefix\030\001 \001(\0132\034.service_l" + "ayer.SLRoutePrefix\0221\n\013RouteCommon\030\002 \001(\0132" + "\034.service_layer.SLRouteCommon\022,\n\010PathLis" + "t\030\003 \003(\0132\032.service_layer.SLRoutePath\"\246\001\n\n" + "SLAFObject\022-\n\007IPRoute\030\001 \001(\0132\032.service_la" + "yer.SLAFIPRouteH\000\022/\n\tMplsLabel\030\002 \001(\0132\032.s" + "ervice_layer.SLMplsEntryH\000\022/\n\tPathGroup\030" + "\003 \001(\0132\032.service_layer.SLPathGroupH\000B\007\n\005e" + "ntry\"\342\001\n\tSLAFOpMsg\022+\n\010AFObject\030\001 \001(\0132\031.s" + "ervice_layer.SLAFObject\022\023\n\013OperationID\030\002" + " \001(\004\022,\n\007AckType\030\003 \001(\0162\033.service_layer.SL" + "RspACKType\0221\n\nAckPermits\030\004 \003(\0162\035.service" + "_layer.SLRspACKPermit\0222\n\nAckCadence\030\005 \001(" + "\0162\036.service_layer.SLRspAckCadence\"(\n\020SLA" + "FClientIDList\022\024\n\014ClientIDList\030\001 \003(\004\"<\n\017S" + "LTableTypeList\022)\n\005Table\030\001 \003(\0162\032.service_" + "layer.SLTableType\"\263\001\n\rSLAFObjectKey\0225\n\rI" + "PRoutePrefix\030\001 \001(\0132\034.service_layer.SLRou" + "tePrefixH\000\0222\n\tMplsLabel\030\002 \001(\0132\035.service_" + "layer.SLMplsEntryKeyH\000\0220\n\013PathGroupId\030\003 " + "\001(\0132\031.service_layer.SLObjectIdH\000B\005\n\003key\"" + "t\n\014SLAFGetMatch\022+\n\003Key\030\001 \001(\0132\034.service_l" + "ayer.SLAFObjectKeyH\000\022\030\n\016PathGroupRegex\030\002" + " \001(\tH\000\022\024\n\nVxlanVniId\030\003 \001(\rH\000B\007\n\005entry\">\n" + "\020SLAFGetMatchList\022*\n\005Match\030\001 \003(\0132\033.servi" + "ce_layer.SLAFGetMatch\"\357\001\n\nSLAFGetMsg\022\017\n\007" + "VrfName\030\001 \001(\t\0227\n\014ClientIDList\030\002 \001(\0132\037.se" + "rvice_layer.SLAFClientIDListH\000\022\024\n\nAllCli" + "ents\030\003 \001(\010H\000\0223\n\tTableList\030\004 \001(\0132\036.servic" + "e_layer.SLTableTypeListH\001\0229\n\016RouteMatchL" + "ist\030\005 \001(\0132\037.service_layer.SLAFGetMatchLi" + "stH\001B\010\n\006clientB\007\n\005match\"p\n\022SLAFGetMsgRsp" + "Entry\022)\n\007AFOpMsg\030\001 \001(\0132\030.service_layer.S" + "LAFOpMsg\022/\n\tFIBStatus\030\002 \001(\0162\034.service_la" + "yer.SLAFFibStatus\"\226\001\n\rSLAFGetMsgRsp\022/\n\tE" + "rrStatus\030\001 \001(\0132\034.service_layer.SLErrorSt" + "atus\022\017\n\007VrfName\030\002 \001(\t\022\020\n\010ClientID\030\003 \001(\004\022" + "1\n\006AFList\030\004 \003(\0132!.service_layer.SLAFGetM" + "sgRspEntry\"m\n\007SLAFMsg\022\'\n\004Oper\030\001 \001(\0162\031.se" + "rvice_layer.SLObjectOp\022\017\n\007VrfName\030\002 \001(\t\022" + "(\n\006OpList\030\003 \003(\0132\030.service_layer.SLAFOpMs" + "g\"\275\001\n\007SLAFRes\022,\n\006Status\030\001 \001(\0132\034.service_" + "layer.SLErrorStatus\022)\n\003Key\030\002 \001(\0132\034.servi" + "ce_layer.SLAFObjectKey\022\023\n\013OperationID\030\003 " + "\001(\004\022/\n\tFIBStatus\030\004 \001(\0162\034.service_layer.S" + "LAFFibStatus\022\023\n\013ErrorString\030\005 \001(\t\"F\n\nSLA" + "FMsgRsp\022\017\n\007VrfName\030\001 \001(\t\022\'\n\007Results\030\002 \003(" + "\0132\026.service_layer.SLAFRes\"d\n\020SLAFRedistR" + "egMsg\022\020\n\010SrcProto\030\001 \001(\t\022\023\n\013SrcProtoTag\030\002" + " \001(\t\022)\n\005Table\030\003 \001(\0162\032.service_layer.SLTa" + "bleType\"\337\001\n\021SLAFNextHopRegKey\022@\n\007NextHop" + "\030\001 \001(\0132-.service_layer.SLAFNextHopRegKey" + ".SLNextHopKeyH\000\032z\n\014SLNextHopKey\022/\n\tNextH" + "opIP\030\001 \001(\0132\034.service_layer.SLRoutePrefix" + "\022\022\n\nExactMatch\030\002 \001(\010\022\024\n\014AllowDefault\030\003 \001" + "(\010\022\017\n\007Recurse\030\004 \001(\010B\014\n\nnexthopkey\"I\n\021SLA" + "FNextHopRegMsg\0224\n\nNextHopKey\030\001 \001(\0132 .ser" + "vice_layer.SLAFNextHopRegKey\"\237\001\n\017SLAFNot" + "ifRegReq\0224\n\tRedistReq\030\001 \001(\0132\037.service_la" + "yer.SLAFRedistRegMsgH\000\0226\n\nNextHopReq\030\002 \001" + "(\0132 .service_layer.SLAFNextHopRegMsgH\000\022\023" + "\n\013OperationID\030\003 \001(\004B\t\n\007request\"y\n\014SLAFNo" + "tifReq\022&\n\004Oper\030\001 \001(\0162\030.service_layer.SLN" + "otifOp\022\017\n\007VrfName\030\002 \001(\t\0220\n\010NotifReq\030\003 \003(" + "\0132\036.service_layer.SLAFNotifRegReq\"s\n\014SLA" + "FNotifRsp\0220\n\010NotifReq\030\001 \001(\0132\036.service_la" + "yer.SLAFNotifRegReq\0221\n\013NotifStatus\030\002 \001(\013" + "2\034.service_layer.SLErrorStatus\"\361\001\n\tSLNex" + "tHop\0224\n\nNextHopKey\030\001 \001(\0132 .service_layer" + ".SLAFNextHopRegKey\0225\n\017ResolvingPrefix\030\002 " + "\001(\0132\034.service_layer.SLRoutePrefix\022\020\n\010Src" + "Proto\030\003 \001(\t\022\023\n\013SrcProtoTag\030\004 \001(\t\022\025\n\rAdmi" + "nDistance\030\005 \001(\r\022\016\n\006Metric\030\006 \001(\r\022)\n\005Paths" + "\030\007 \003(\0132\032.service_layer.SLRoutePath\"\343\002\n\tS" + "LAFNotif\0222\n\013NotifStatus\030\001 \001(\0132\033.service_" + "layer.SLAFNotifRspH\000\022>\n\013StartMarker\030\002 \001(" + "\0132\'.service_layer.SLAFNotif.SLRedistMark" + "erH\000\022<\n\tEndMarker\030\003 \001(\0132\'.service_layer." + "SLAFNotif.SLRedistMarkerH\000\0221\n\014RedistObje" + "ct\030\004 \001(\0132\031.service_layer.SLAFObjectH\000\022+\n" + "\007NextHop\030\005 \001(\0132\030.service_layer.SLNextHop" + "H\000\032;\n\016SLRedistMarker\022)\n\005Table\030\001 \001(\0162\032.se" + "rvice_layer.SLTableTypeB\007\n\005Event\"K\n\014SLAF" + "NotifMsg\022\017\n\007VrfName\030\001 \001(\t\022*\n\010AFNotifs\030\003 " + "\003(\0132\030.service_layer.SLAFNotif2\310\003\n\004SLAF\022M" + "\n\014SLAFVrfRegOp\022\034.service_layer.SLAFVrfRe" + "gMsg\032\037.service_layer.SLAFVrfRegMsgRsp\022V\n" + "\rSLAFVrfRegGet\022\037.service_layer.SLAFVrfRe" + "gGetMsg\032\".service_layer.SLAFVrfRegGetMsg" + "Rsp0\001\022;\n\006SLAFOp\022\026.service_layer.SLAFMsg\032" + "\031.service_layer.SLAFMsgRsp\022E\n\014SLAFOpStre" + "am\022\026.service_layer.SLAFMsg\032\031.service_lay" + "er.SLAFMsgRsp(\0010\001\022D\n\007SLAFGet\022\031.service_l" + "ayer.SLAFGetMsg\032\034.service_layer.SLAFGetM" + "sgRsp0\001\022O\n\017SLAFNotifStream\022\033.service_lay" + "er.SLAFNotifReq\032\033.service_layer.SLAFNoti" + "fMsg(\0010\001BQZOgithub.com/Cisco-service-lay" + "er/service-layer-objmodel/grpc/protos;se" + "rvice_layerb\006proto3" ; -static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5faf_2eproto_deps[4] = { +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5faf_2eproto_deps[2] = { &::descriptor_table_sl_5fcommon_5ftypes_2eproto, &::descriptor_table_sl_5froute_5fcommon_2eproto, - &::descriptor_table_sl_5froute_5fipv4_2eproto, - &::descriptor_table_sl_5froute_5fipv6_2eproto, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5faf_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5faf_2eproto = { - false, false, 4812, descriptor_table_protodef_sl_5faf_2eproto, "sl_af.proto", - &descriptor_table_sl_5faf_2eproto_once, descriptor_table_sl_5faf_2eproto_deps, 4, 31, + false, false, 5219, descriptor_table_protodef_sl_5faf_2eproto, "sl_af.proto", + &descriptor_table_sl_5faf_2eproto_once, descriptor_table_sl_5faf_2eproto_deps, 2, 36, schemas, file_default_instances, TableStruct_sl_5faf_2eproto::offsets, file_level_metadata_sl_5faf_2eproto, file_level_enum_descriptors_sl_5faf_2eproto, file_level_service_descriptors_sl_5faf_2eproto, }; @@ -2834,7 +2946,8 @@ void SLPathGroup::set_allocated_pathlist(::service_layer::SLPathGroup_SLPathList } SLPathGroup::SLPathGroup(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + pgflags_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); @@ -2842,16 +2955,15 @@ SLPathGroup::SLPathGroup(::PROTOBUF_NAMESPACE_ID::Arena* arena, // @@protoc_insertion_point(arena_constructor:service_layer.SLPathGroup) } SLPathGroup::SLPathGroup(const SLPathGroup& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { + : ::PROTOBUF_NAMESPACE_ID::Message(), + pgflags_(from.pgflags_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); if (from._internal_has_pathgroupid()) { pathgroupid_ = new ::service_layer::SLObjectId(*from.pathgroupid_); } else { pathgroupid_ = nullptr; } - ::memcpy(&admindistance_, &from.admindistance_, - static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&admindistance_)) + sizeof(flags_)); + admindistance_ = from.admindistance_; clear_has_entry(); switch (from.entry_case()) { case kPathList: { @@ -2868,8 +2980,8 @@ SLPathGroup::SLPathGroup(const SLPathGroup& from) inline void SLPathGroup::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( reinterpret_cast(&pathgroupid_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&pathgroupid_)) + sizeof(flags_)); + 0, static_cast(reinterpret_cast(&admindistance_) - + reinterpret_cast(&pathgroupid_)) + sizeof(admindistance_)); clear_has_entry(); } @@ -2921,13 +3033,12 @@ void SLPathGroup::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + pgflags_.Clear(); if (GetArenaForAllocation() == nullptr && pathgroupid_ != nullptr) { delete pathgroupid_; } pathgroupid_ = nullptr; - ::memset(&admindistance_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&admindistance_)) + sizeof(flags_)); + admindistance_ = 0u; clear_entry(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -2962,11 +3073,15 @@ const char* SLPathGroup::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID } else goto handle_unusual; continue; - // uint32 Flags = 4; + // repeated .service_layer.SLRouteFlags PgFlags = 4; case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - flags_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_pgflags(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 32) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); + _internal_add_pgflags(static_cast<::service_layer::SLRouteFlags>(val)); } else goto handle_unusual; continue; @@ -3021,10 +3136,13 @@ uint8_t* SLPathGroup::_InternalSerialize( 3, _Internal::pathlist(this), target, stream); } - // uint32 Flags = 4; - if (this->_internal_flags() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_flags(), target); + // repeated .service_layer.SLRouteFlags PgFlags = 4; + { + int byte_size = _pgflags_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 4, pgflags_, byte_size, target); + } } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -3043,6 +3161,24 @@ size_t SLPathGroup::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated .service_layer.SLRouteFlags PgFlags = 4; + { + size_t data_size = 0; + unsigned int count = static_cast(this->_internal_pgflags_size());for (unsigned int i = 0; i < count; i++) { + data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize( + this->_internal_pgflags(static_cast(i))); + } + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _pgflags_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // .service_layer.SLObjectId PathGroupId = 1; if (this->_internal_has_pathgroupid()) { total_size += 1 + @@ -3055,11 +3191,6 @@ size_t SLPathGroup::ByteSizeLong() const { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_admindistance()); } - // uint32 Flags = 4; - if (this->_internal_flags() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_flags()); - } - switch (entry_case()) { // .service_layer.SLPathGroup.SLPathList PathList = 3; case kPathList: { @@ -3094,15 +3225,13 @@ void SLPathGroup::MergeFrom(const SLPathGroup& from) { uint32_t cached_has_bits = 0; (void) cached_has_bits; + pgflags_.MergeFrom(from.pgflags_); if (from._internal_has_pathgroupid()) { _internal_mutable_pathgroupid()->::service_layer::SLObjectId::MergeFrom(from._internal_pathgroupid()); } if (from._internal_admindistance() != 0) { _internal_set_admindistance(from._internal_admindistance()); } - if (from._internal_flags() != 0) { - _internal_set_flags(from._internal_flags()); - } switch (from.entry_case()) { case kPathList: { _internal_mutable_pathlist()->::service_layer::SLPathGroup_SLPathList::MergeFrom(from._internal_pathlist()); @@ -3129,9 +3258,10 @@ bool SLPathGroup::IsInitialized() const { void SLPathGroup::InternalSwap(SLPathGroup* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); + pgflags_.InternalSwap(&other->pgflags_); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLPathGroup, flags_) - + sizeof(SLPathGroup::flags_) + PROTOBUF_FIELD_OFFSET(SLPathGroup, admindistance_) + + sizeof(SLPathGroup::admindistance_) - PROTOBUF_FIELD_OFFSET(SLPathGroup, pathgroupid_)>( reinterpret_cast(&pathgroupid_), reinterpret_cast(&other->pathgroupid_)); @@ -3147,183 +3277,71 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLPathGroup::GetMetadata() const { // =================================================================== -class SLMplsEntry::_Internal { +class SLMplsEntryKey::_Internal { public: - static const ::service_layer::SLPathGroupRefKey& pathgroupkey(const SLMplsEntry* msg); }; -const ::service_layer::SLPathGroupRefKey& -SLMplsEntry::_Internal::pathgroupkey(const SLMplsEntry* msg) { - return *msg->entry_.pathgroupkey_; -} -void SLMplsEntry::clear_pathlist() { - pathlist_.Clear(); -} -void SLMplsEntry::set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupkey)); - if (message_arena != submessage_arena) { - pathgroupkey = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pathgroupkey, submessage_arena); - } - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLMplsEntry.PathGroupKey) -} -void SLMplsEntry::clear_pathgroupkey() { - if (_internal_has_pathgroupkey()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - clear_has_entry(); - } -} -SLMplsEntry::SLMplsEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, +SLMplsEntryKey::SLMplsEntryKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - pathlist_(arena) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:service_layer.SLMplsEntry) + // @@protoc_insertion_point(arena_constructor:service_layer.SLMplsEntryKey) } -SLMplsEntry::SLMplsEntry(const SLMplsEntry& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - pathlist_(from.pathlist_) { +SLMplsEntryKey::SLMplsEntryKey(const SLMplsEntryKey& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&locallabel_, &from.locallabel_, - static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&locallabel_)) + sizeof(flags_)); - clear_has_entry(); - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } - // @@protoc_insertion_point(copy_constructor:service_layer.SLMplsEntry) + label_ = from.label_; + // @@protoc_insertion_point(copy_constructor:service_layer.SLMplsEntryKey) } -inline void SLMplsEntry::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&locallabel_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&locallabel_)) + sizeof(flags_)); -clear_has_entry(); +inline void SLMplsEntryKey::SharedCtor() { +label_ = 0u; } -SLMplsEntry::~SLMplsEntry() { - // @@protoc_insertion_point(destructor:service_layer.SLMplsEntry) +SLMplsEntryKey::~SLMplsEntryKey() { + // @@protoc_insertion_point(destructor:service_layer.SLMplsEntryKey) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLMplsEntry::SharedDtor() { +inline void SLMplsEntryKey::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (has_entry()) { - clear_entry(); - } } -void SLMplsEntry::ArenaDtor(void* object) { - SLMplsEntry* _this = reinterpret_cast< SLMplsEntry* >(object); +void SLMplsEntryKey::ArenaDtor(void* object) { + SLMplsEntryKey* _this = reinterpret_cast< SLMplsEntryKey* >(object); (void)_this; } -void SLMplsEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLMplsEntryKey::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLMplsEntry::SetCachedSize(int size) const { +void SLMplsEntryKey::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLMplsEntry::clear_entry() { -// @@protoc_insertion_point(one_of_clear_start:service_layer.SLMplsEntry) - switch (entry_case()) { - case kPathGroupKey: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _oneof_case_[0] = ENTRY_NOT_SET; -} - - -void SLMplsEntry::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLMplsEntry) +void SLMplsEntryKey::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLMplsEntryKey) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - pathlist_.Clear(); - ::memset(&locallabel_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&locallabel_)) + sizeof(flags_)); - clear_entry(); + label_ = 0u; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLMplsEntry::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLMplsEntryKey::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // uint32 LocalLabel = 1; + // uint32 Label = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - locallabel_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // uint32 AdminDistance = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - admindistance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // repeated .service_layer.SLRoutePath PathList = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_pathlist(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); - } else - goto handle_unusual; - continue; - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_pathgroupkey(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // uint32 Flags = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - flags_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + label_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -3351,166 +3369,85 @@ const char* SLMplsEntry::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID #undef CHK_ } -uint8_t* SLMplsEntry::_InternalSerialize( +uint8_t* SLMplsEntryKey::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLMplsEntry) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLMplsEntryKey) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // uint32 LocalLabel = 1; - if (this->_internal_locallabel() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(1, this->_internal_locallabel(), target); - } - - // uint32 AdminDistance = 2; - if (this->_internal_admindistance() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_admindistance(), target); - } - - // repeated .service_layer.SLRoutePath PathList = 3; - for (unsigned int i = 0, - n = static_cast(this->_internal_pathlist_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, this->_internal_pathlist(i), target, stream); - } - - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - if (_internal_has_pathgroupkey()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 4, _Internal::pathgroupkey(this), target, stream); - } - - // uint32 Flags = 5; - if (this->_internal_flags() != 0) { + // uint32 Label = 1; + if (this->_internal_label() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_flags(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(1, this->_internal_label(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLMplsEntry) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLMplsEntryKey) return target; } -size_t SLMplsEntry::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLMplsEntry) +size_t SLMplsEntryKey::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLMplsEntryKey) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .service_layer.SLRoutePath PathList = 3; - total_size += 1UL * this->_internal_pathlist_size(); - for (const auto& msg : this->pathlist_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // uint32 LocalLabel = 1; - if (this->_internal_locallabel() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_locallabel()); - } - - // uint32 AdminDistance = 2; - if (this->_internal_admindistance() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_admindistance()); - } - - // uint32 Flags = 5; - if (this->_internal_flags() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_flags()); + // uint32 Label = 1; + if (this->_internal_label() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_label()); } - switch (entry_case()) { - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - case kPathGroupKey: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.pathgroupkey_); - break; - } - case ENTRY_NOT_SET: { - break; - } - } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLMplsEntry::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLMplsEntryKey::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLMplsEntry::MergeImpl + SLMplsEntryKey::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLMplsEntry::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLMplsEntryKey::GetClassData() const { return &_class_data_; } -void SLMplsEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLMplsEntryKey::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void SLMplsEntry::MergeFrom(const SLMplsEntry& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLMplsEntry) +void SLMplsEntryKey::MergeFrom(const SLMplsEntryKey& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLMplsEntryKey) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - pathlist_.MergeFrom(from.pathlist_); - if (from._internal_locallabel() != 0) { - _internal_set_locallabel(from._internal_locallabel()); - } - if (from._internal_admindistance() != 0) { - _internal_set_admindistance(from._internal_admindistance()); - } - if (from._internal_flags() != 0) { - _internal_set_flags(from._internal_flags()); - } - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } + if (from._internal_label() != 0) { + _internal_set_label(from._internal_label()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void SLMplsEntry::CopyFrom(const SLMplsEntry& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLMplsEntry) +void SLMplsEntryKey::CopyFrom(const SLMplsEntryKey& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLMplsEntryKey) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLMplsEntry::IsInitialized() const { +bool SLMplsEntryKey::IsInitialized() const { return true; } -void SLMplsEntry::InternalSwap(SLMplsEntry* other) { +void SLMplsEntryKey::InternalSwap(SLMplsEntryKey* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - pathlist_.InternalSwap(&other->pathlist_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLMplsEntry, flags_) - + sizeof(SLMplsEntry::flags_) - - PROTOBUF_FIELD_OFFSET(SLMplsEntry, locallabel_)>( - reinterpret_cast(&locallabel_), - reinterpret_cast(&other->locallabel_)); - swap(entry_, other->entry_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + swap(label_, other->label_); } -::PROTOBUF_NAMESPACE_ID::Metadata SLMplsEntry::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLMplsEntryKey::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, file_level_metadata_sl_5faf_2eproto[9]); @@ -3518,255 +3455,132 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLMplsEntry::GetMetadata() const { // =================================================================== -class SLAFObject::_Internal { +class SLMplsEntry::_Internal { public: - static const ::service_layer::SLRoutev4& ipv4route(const SLAFObject* msg); - static const ::service_layer::SLRoutev6& ipv6route(const SLAFObject* msg); - static const ::service_layer::SLMplsEntry& mplslabel(const SLAFObject* msg); - static const ::service_layer::SLPathGroup& pathgroup(const SLAFObject* msg); + static const ::service_layer::SLMplsEntryKey& mplskey(const SLMplsEntry* msg); }; -const ::service_layer::SLRoutev4& -SLAFObject::_Internal::ipv4route(const SLAFObject* msg) { - return *msg->entry_.ipv4route_; -} -const ::service_layer::SLRoutev6& -SLAFObject::_Internal::ipv6route(const SLAFObject* msg) { - return *msg->entry_.ipv6route_; -} -const ::service_layer::SLMplsEntry& -SLAFObject::_Internal::mplslabel(const SLAFObject* msg) { - return *msg->entry_.mplslabel_; -} -const ::service_layer::SLPathGroup& -SLAFObject::_Internal::pathgroup(const SLAFObject* msg) { - return *msg->entry_.pathgroup_; -} -void SLAFObject::set_allocated_ipv4route(::service_layer::SLRoutev4* ipv4route) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (ipv4route) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(ipv4route)); - if (message_arena != submessage_arena) { - ipv4route = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, ipv4route, submessage_arena); - } - set_has_ipv4route(); - entry_.ipv4route_ = ipv4route; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.IPv4Route) -} -void SLAFObject::clear_ipv4route() { - if (_internal_has_ipv4route()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.ipv4route_; - } - clear_has_entry(); - } -} -void SLAFObject::set_allocated_ipv6route(::service_layer::SLRoutev6* ipv6route) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (ipv6route) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(ipv6route)); - if (message_arena != submessage_arena) { - ipv6route = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, ipv6route, submessage_arena); - } - set_has_ipv6route(); - entry_.ipv6route_ = ipv6route; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.IPv6Route) -} -void SLAFObject::clear_ipv6route() { - if (_internal_has_ipv6route()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.ipv6route_; - } - clear_has_entry(); - } -} -void SLAFObject::set_allocated_mplslabel(::service_layer::SLMplsEntry* mplslabel) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (mplslabel) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLMplsEntry>::GetOwningArena(mplslabel); - if (message_arena != submessage_arena) { - mplslabel = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, mplslabel, submessage_arena); - } - set_has_mplslabel(); - entry_.mplslabel_ = mplslabel; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.MplsLabel) +const ::service_layer::SLMplsEntryKey& +SLMplsEntry::_Internal::mplskey(const SLMplsEntry* msg) { + return *msg->mplskey_; } -void SLAFObject::set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (pathgroup) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPathGroup>::GetOwningArena(pathgroup); - if (message_arena != submessage_arena) { - pathgroup = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pathgroup, submessage_arena); - } - set_has_pathgroup(); - entry_.pathgroup_ = pathgroup; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.PathGroup) +void SLMplsEntry::clear_pathlist() { + pathlist_.Clear(); } -SLAFObject::SLAFObject(::PROTOBUF_NAMESPACE_ID::Arena* arena, +SLMplsEntry::SLMplsEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + pathlist_(arena), + mplsflags_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:service_layer.SLAFObject) + // @@protoc_insertion_point(arena_constructor:service_layer.SLMplsEntry) } -SLAFObject::SLAFObject(const SLAFObject& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +SLMplsEntry::SLMplsEntry(const SLMplsEntry& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + pathlist_(from.pathlist_), + mplsflags_(from.mplsflags_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - clear_has_entry(); - switch (from.entry_case()) { - case kIPv4Route: { - _internal_mutable_ipv4route()->::service_layer::SLRoutev4::MergeFrom(from._internal_ipv4route()); - break; - } - case kIPv6Route: { - _internal_mutable_ipv6route()->::service_layer::SLRoutev6::MergeFrom(from._internal_ipv6route()); - break; - } - case kMplsLabel: { - _internal_mutable_mplslabel()->::service_layer::SLMplsEntry::MergeFrom(from._internal_mplslabel()); - break; - } - case kPathGroup: { - _internal_mutable_pathgroup()->::service_layer::SLPathGroup::MergeFrom(from._internal_pathgroup()); - break; - } - case ENTRY_NOT_SET: { - break; - } + if (from._internal_has_mplskey()) { + mplskey_ = new ::service_layer::SLMplsEntryKey(*from.mplskey_); + } else { + mplskey_ = nullptr; } - // @@protoc_insertion_point(copy_constructor:service_layer.SLAFObject) + admindistance_ = from.admindistance_; + // @@protoc_insertion_point(copy_constructor:service_layer.SLMplsEntry) } -inline void SLAFObject::SharedCtor() { -clear_has_entry(); +inline void SLMplsEntry::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&mplskey_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&admindistance_) - + reinterpret_cast(&mplskey_)) + sizeof(admindistance_)); } -SLAFObject::~SLAFObject() { - // @@protoc_insertion_point(destructor:service_layer.SLAFObject) +SLMplsEntry::~SLMplsEntry() { + // @@protoc_insertion_point(destructor:service_layer.SLMplsEntry) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLAFObject::SharedDtor() { +inline void SLMplsEntry::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (has_entry()) { - clear_entry(); - } + if (this != internal_default_instance()) delete mplskey_; } -void SLAFObject::ArenaDtor(void* object) { - SLAFObject* _this = reinterpret_cast< SLAFObject* >(object); +void SLMplsEntry::ArenaDtor(void* object) { + SLMplsEntry* _this = reinterpret_cast< SLMplsEntry* >(object); (void)_this; } -void SLAFObject::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLMplsEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLAFObject::SetCachedSize(int size) const { +void SLMplsEntry::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLAFObject::clear_entry() { -// @@protoc_insertion_point(one_of_clear_start:service_layer.SLAFObject) - switch (entry_case()) { - case kIPv4Route: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.ipv4route_; - } - break; - } - case kIPv6Route: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.ipv6route_; - } - break; - } - case kMplsLabel: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.mplslabel_; - } - break; - } - case kPathGroup: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroup_; - } - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _oneof_case_[0] = ENTRY_NOT_SET; -} - - -void SLAFObject::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLAFObject) +void SLMplsEntry::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLMplsEntry) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - clear_entry(); + pathlist_.Clear(); + mplsflags_.Clear(); + if (GetArenaForAllocation() == nullptr && mplskey_ != nullptr) { + delete mplskey_; + } + mplskey_ = nullptr; + admindistance_ = 0u; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLAFObject::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLMplsEntry::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // .service_layer.SLRoutev4 IPv4Route = 1; + // .service_layer.SLMplsEntryKey MplsKey = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_ipv4route(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_mplskey(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLRoutev6 IPv6Route = 2; + // uint32 AdminDistance = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_ipv6route(), ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + admindistance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLMplsEntry MplsLabel = 3; + // repeated .service_layer.SLRoutePath PathList = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_mplslabel(), ptr); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_pathlist(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); } else goto handle_unusual; continue; - // .service_layer.SLPathGroup PathGroup = 4; + // repeated .service_layer.SLRouteFlags MplsFlags = 4; case 4: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_pathgroup(), ptr); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_mplsflags(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 32) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); + _internal_add_mplsflags(static_cast<::service_layer::SLRouteFlags>(val)); } else goto handle_unusual; continue; @@ -3793,158 +3607,154 @@ const char* SLAFObject::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID: #undef CHK_ } -uint8_t* SLAFObject::_InternalSerialize( +uint8_t* SLMplsEntry::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFObject) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLMplsEntry) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLRoutev4 IPv4Route = 1; - if (_internal_has_ipv4route()) { + // .service_layer.SLMplsEntryKey MplsKey = 1; + if (this->_internal_has_mplskey()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 1, _Internal::ipv4route(this), target, stream); + 1, _Internal::mplskey(this), target, stream); } - // .service_layer.SLRoutev6 IPv6Route = 2; - if (_internal_has_ipv6route()) { + // uint32 AdminDistance = 2; + if (this->_internal_admindistance() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 2, _Internal::ipv6route(this), target, stream); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_admindistance(), target); } - // .service_layer.SLMplsEntry MplsLabel = 3; - if (_internal_has_mplslabel()) { + // repeated .service_layer.SLRoutePath PathList = 3; + for (unsigned int i = 0, + n = static_cast(this->_internal_pathlist_size()); i < n; i++) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 3, _Internal::mplslabel(this), target, stream); + InternalWriteMessage(3, this->_internal_pathlist(i), target, stream); } - // .service_layer.SLPathGroup PathGroup = 4; - if (_internal_has_pathgroup()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 4, _Internal::pathgroup(this), target, stream); + // repeated .service_layer.SLRouteFlags MplsFlags = 4; + { + int byte_size = _mplsflags_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 4, mplsflags_, byte_size, target); + } } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFObject) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLMplsEntry) return target; } -size_t SLAFObject::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFObject) +size_t SLMplsEntry::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLMplsEntry) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - switch (entry_case()) { - // .service_layer.SLRoutev4 IPv4Route = 1; - case kIPv4Route: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.ipv4route_); - break; - } - // .service_layer.SLRoutev6 IPv6Route = 2; - case kIPv6Route: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.ipv6route_); - break; - } - // .service_layer.SLMplsEntry MplsLabel = 3; - case kMplsLabel: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.mplslabel_); - break; + // repeated .service_layer.SLRoutePath PathList = 3; + total_size += 1UL * this->_internal_pathlist_size(); + for (const auto& msg : this->pathlist_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated .service_layer.SLRouteFlags MplsFlags = 4; + { + size_t data_size = 0; + unsigned int count = static_cast(this->_internal_mplsflags_size());for (unsigned int i = 0; i < count; i++) { + data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize( + this->_internal_mplsflags(static_cast(i))); } - // .service_layer.SLPathGroup PathGroup = 4; - case kPathGroup: { + if (data_size > 0) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.pathgroup_); - break; - } - case ENTRY_NOT_SET: { - break; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _mplsflags_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + // .service_layer.SLMplsEntryKey MplsKey = 1; + if (this->_internal_has_mplskey()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *mplskey_); + } + + // uint32 AdminDistance = 2; + if (this->_internal_admindistance() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_admindistance()); } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFObject::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLMplsEntry::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLAFObject::MergeImpl + SLMplsEntry::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFObject::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLMplsEntry::GetClassData() const { return &_class_data_; } -void SLAFObject::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLMplsEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void SLAFObject::MergeFrom(const SLAFObject& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFObject) +void SLMplsEntry::MergeFrom(const SLMplsEntry& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLMplsEntry) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - switch (from.entry_case()) { - case kIPv4Route: { - _internal_mutable_ipv4route()->::service_layer::SLRoutev4::MergeFrom(from._internal_ipv4route()); - break; - } - case kIPv6Route: { - _internal_mutable_ipv6route()->::service_layer::SLRoutev6::MergeFrom(from._internal_ipv6route()); - break; - } - case kMplsLabel: { - _internal_mutable_mplslabel()->::service_layer::SLMplsEntry::MergeFrom(from._internal_mplslabel()); - break; - } - case kPathGroup: { - _internal_mutable_pathgroup()->::service_layer::SLPathGroup::MergeFrom(from._internal_pathgroup()); - break; - } - case ENTRY_NOT_SET: { - break; - } + pathlist_.MergeFrom(from.pathlist_); + mplsflags_.MergeFrom(from.mplsflags_); + if (from._internal_has_mplskey()) { + _internal_mutable_mplskey()->::service_layer::SLMplsEntryKey::MergeFrom(from._internal_mplskey()); + } + if (from._internal_admindistance() != 0) { + _internal_set_admindistance(from._internal_admindistance()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void SLAFObject::CopyFrom(const SLAFObject& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFObject) +void SLMplsEntry::CopyFrom(const SLMplsEntry& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLMplsEntry) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLAFObject::IsInitialized() const { +bool SLMplsEntry::IsInitialized() const { return true; } -void SLAFObject::InternalSwap(SLAFObject* other) { +void SLMplsEntry::InternalSwap(SLMplsEntry* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(entry_, other->entry_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + pathlist_.InternalSwap(&other->pathlist_); + mplsflags_.InternalSwap(&other->mplsflags_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLMplsEntry, admindistance_) + + sizeof(SLMplsEntry::admindistance_) + - PROTOBUF_FIELD_OFFSET(SLMplsEntry, mplskey_)>( + reinterpret_cast(&mplskey_), + reinterpret_cast(&other->mplskey_)); } -::PROTOBUF_NAMESPACE_ID::Metadata SLAFObject::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLMplsEntry::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, file_level_metadata_sl_5faf_2eproto[10]); @@ -3952,135 +3762,142 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLAFObject::GetMetadata() const { // =================================================================== -class SLAFOp::_Internal { +class SLAFIPRoute::_Internal { public: - static const ::service_layer::SLAFObject& afobject(const SLAFOp* msg); + static const ::service_layer::SLRoutePrefix& iprouteprefix(const SLAFIPRoute* msg); + static const ::service_layer::SLRouteCommon& routecommon(const SLAFIPRoute* msg); }; -const ::service_layer::SLAFObject& -SLAFOp::_Internal::afobject(const SLAFOp* msg) { - return *msg->afobject_; +const ::service_layer::SLRoutePrefix& +SLAFIPRoute::_Internal::iprouteprefix(const SLAFIPRoute* msg) { + return *msg->iprouteprefix_; +} +const ::service_layer::SLRouteCommon& +SLAFIPRoute::_Internal::routecommon(const SLAFIPRoute* msg) { + return *msg->routecommon_; +} +void SLAFIPRoute::clear_iprouteprefix() { + if (GetArenaForAllocation() == nullptr && iprouteprefix_ != nullptr) { + delete iprouteprefix_; + } + iprouteprefix_ = nullptr; } -SLAFOp::SLAFOp(::PROTOBUF_NAMESPACE_ID::Arena* arena, +void SLAFIPRoute::clear_routecommon() { + if (GetArenaForAllocation() == nullptr && routecommon_ != nullptr) { + delete routecommon_; + } + routecommon_ = nullptr; +} +void SLAFIPRoute::clear_pathlist() { + pathlist_.Clear(); +} +SLAFIPRoute::SLAFIPRoute(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - ackpermits_(arena) { + pathlist_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:service_layer.SLAFOp) + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFIPRoute) } -SLAFOp::SLAFOp(const SLAFOp& from) +SLAFIPRoute::SLAFIPRoute(const SLAFIPRoute& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - ackpermits_(from.ackpermits_) { + pathlist_(from.pathlist_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_afobject()) { - afobject_ = new ::service_layer::SLAFObject(*from.afobject_); + if (from._internal_has_iprouteprefix()) { + iprouteprefix_ = new ::service_layer::SLRoutePrefix(*from.iprouteprefix_); } else { - afobject_ = nullptr; + iprouteprefix_ = nullptr; } - ::memcpy(&operationid_, &from.operationid_, - static_cast(reinterpret_cast(&ackcadence_) - - reinterpret_cast(&operationid_)) + sizeof(ackcadence_)); - // @@protoc_insertion_point(copy_constructor:service_layer.SLAFOp) + if (from._internal_has_routecommon()) { + routecommon_ = new ::service_layer::SLRouteCommon(*from.routecommon_); + } else { + routecommon_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFIPRoute) } -inline void SLAFOp::SharedCtor() { +inline void SLAFIPRoute::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&afobject_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&ackcadence_) - - reinterpret_cast(&afobject_)) + sizeof(ackcadence_)); + reinterpret_cast(&iprouteprefix_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&routecommon_) - + reinterpret_cast(&iprouteprefix_)) + sizeof(routecommon_)); } -SLAFOp::~SLAFOp() { - // @@protoc_insertion_point(destructor:service_layer.SLAFOp) +SLAFIPRoute::~SLAFIPRoute() { + // @@protoc_insertion_point(destructor:service_layer.SLAFIPRoute) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLAFOp::SharedDtor() { +inline void SLAFIPRoute::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete afobject_; + if (this != internal_default_instance()) delete iprouteprefix_; + if (this != internal_default_instance()) delete routecommon_; } -void SLAFOp::ArenaDtor(void* object) { - SLAFOp* _this = reinterpret_cast< SLAFOp* >(object); +void SLAFIPRoute::ArenaDtor(void* object) { + SLAFIPRoute* _this = reinterpret_cast< SLAFIPRoute* >(object); (void)_this; } -void SLAFOp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLAFIPRoute::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLAFOp::SetCachedSize(int size) const { +void SLAFIPRoute::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLAFOp::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLAFOp) +void SLAFIPRoute::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFIPRoute) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - ackpermits_.Clear(); - if (GetArenaForAllocation() == nullptr && afobject_ != nullptr) { - delete afobject_; + pathlist_.Clear(); + if (GetArenaForAllocation() == nullptr && iprouteprefix_ != nullptr) { + delete iprouteprefix_; } - afobject_ = nullptr; - ::memset(&operationid_, 0, static_cast( - reinterpret_cast(&ackcadence_) - - reinterpret_cast(&operationid_)) + sizeof(ackcadence_)); + iprouteprefix_ = nullptr; + if (GetArenaForAllocation() == nullptr && routecommon_ != nullptr) { + delete routecommon_; + } + routecommon_ = nullptr; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLAFOp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLAFIPRoute::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // .service_layer.SLAFObject AFObject = 1; + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_afobject(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_iprouteprefix(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // uint64 OperationID = 2; + // .service_layer.SLRouteCommon RouteCommon = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - operationid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_routecommon(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLRspACKType AckType = 3; + // repeated .service_layer.SLRoutePath PathList = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - _internal_set_acktype(static_cast<::service_layer::SLRspACKType>(val)); - } else - goto handle_unusual; - continue; - // repeated .service_layer.SLRspACKPermit AckPermits = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_ackpermits(), ptr, ctx); - CHK_(ptr); - } else if (static_cast(tag) == 32) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - _internal_add_ackpermits(static_cast<::service_layer::SLRspACKPermit>(val)); - } else - goto handle_unusual; - continue; - // .service_layer.SLRspAckCadence AckCadence = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - _internal_set_ackcadence(static_cast<::service_layer::SLRspAckCadence>(val)); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_pathlist(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); } else goto handle_unusual; continue; @@ -4107,304 +3924,1735 @@ const char* SLAFOp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::int #undef CHK_ } -uint8_t* SLAFOp::_InternalSerialize( +uint8_t* SLAFIPRoute::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFOp) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFIPRoute) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLAFObject AFObject = 1; - if (this->_internal_has_afobject()) { + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; + if (this->_internal_has_iprouteprefix()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 1, _Internal::afobject(this), target, stream); - } - - // uint64 OperationID = 2; - if (this->_internal_operationid() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_operationid(), target); + 1, _Internal::iprouteprefix(this), target, stream); } - // .service_layer.SLRspACKType AckType = 3; - if (this->_internal_acktype() != 0) { + // .service_layer.SLRouteCommon RouteCommon = 2; + if (this->_internal_has_routecommon()) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( - 3, this->_internal_acktype(), target); - } - - // repeated .service_layer.SLRspACKPermit AckPermits = 4; - { - int byte_size = _ackpermits_cached_byte_size_.load(std::memory_order_relaxed); - if (byte_size > 0) { - target = stream->WriteEnumPacked( - 4, ackpermits_, byte_size, target); - } + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::routecommon(this), target, stream); } - // .service_layer.SLRspAckCadence AckCadence = 5; - if (this->_internal_ackcadence() != 0) { + // repeated .service_layer.SLRoutePath PathList = 3; + for (unsigned int i = 0, + n = static_cast(this->_internal_pathlist_size()); i < n; i++) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( - 5, this->_internal_ackcadence(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, this->_internal_pathlist(i), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFOp) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFIPRoute) return target; } -size_t SLAFOp::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFOp) +size_t SLAFIPRoute::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFIPRoute) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .service_layer.SLRspACKPermit AckPermits = 4; - { - size_t data_size = 0; - unsigned int count = static_cast(this->_internal_ackpermits_size());for (unsigned int i = 0; i < count; i++) { - data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize( - this->_internal_ackpermits(static_cast(i))); - } - if (data_size > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - static_cast(data_size)); - } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); - _ackpermits_cached_byte_size_.store(cached_size, - std::memory_order_relaxed); - total_size += data_size; + // repeated .service_layer.SLRoutePath PathList = 3; + total_size += 1UL * this->_internal_pathlist_size(); + for (const auto& msg : this->pathlist_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // .service_layer.SLAFObject AFObject = 1; - if (this->_internal_has_afobject()) { + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; + if (this->_internal_has_iprouteprefix()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *afobject_); - } - - // uint64 OperationID = 2; - if (this->_internal_operationid() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_operationid()); + *iprouteprefix_); } - // .service_layer.SLRspACKType AckType = 3; - if (this->_internal_acktype() != 0) { + // .service_layer.SLRouteCommon RouteCommon = 2; + if (this->_internal_has_routecommon()) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_acktype()); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *routecommon_); } - // .service_layer.SLRspAckCadence AckCadence = 5; - if (this->_internal_ackcadence() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_ackcadence()); + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFIPRoute::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLAFIPRoute::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFIPRoute::GetClassData() const { return &_class_data_; } + +void SLAFIPRoute::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLAFIPRoute::MergeFrom(const SLAFIPRoute& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFIPRoute) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + pathlist_.MergeFrom(from.pathlist_); + if (from._internal_has_iprouteprefix()) { + _internal_mutable_iprouteprefix()->::service_layer::SLRoutePrefix::MergeFrom(from._internal_iprouteprefix()); + } + if (from._internal_has_routecommon()) { + _internal_mutable_routecommon()->::service_layer::SLRouteCommon::MergeFrom(from._internal_routecommon()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLAFIPRoute::CopyFrom(const SLAFIPRoute& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFIPRoute) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLAFIPRoute::IsInitialized() const { + return true; +} + +void SLAFIPRoute::InternalSwap(SLAFIPRoute* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + pathlist_.InternalSwap(&other->pathlist_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLAFIPRoute, routecommon_) + + sizeof(SLAFIPRoute::routecommon_) + - PROTOBUF_FIELD_OFFSET(SLAFIPRoute, iprouteprefix_)>( + reinterpret_cast(&iprouteprefix_), + reinterpret_cast(&other->iprouteprefix_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLAFIPRoute::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, + file_level_metadata_sl_5faf_2eproto[11]); +} + +// =================================================================== + +class SLAFObject::_Internal { + public: + static const ::service_layer::SLAFIPRoute& iproute(const SLAFObject* msg); + static const ::service_layer::SLMplsEntry& mplslabel(const SLAFObject* msg); + static const ::service_layer::SLPathGroup& pathgroup(const SLAFObject* msg); +}; + +const ::service_layer::SLAFIPRoute& +SLAFObject::_Internal::iproute(const SLAFObject* msg) { + return *msg->entry_.iproute_; +} +const ::service_layer::SLMplsEntry& +SLAFObject::_Internal::mplslabel(const SLAFObject* msg) { + return *msg->entry_.mplslabel_; +} +const ::service_layer::SLPathGroup& +SLAFObject::_Internal::pathgroup(const SLAFObject* msg) { + return *msg->entry_.pathgroup_; +} +void SLAFObject::set_allocated_iproute(::service_layer::SLAFIPRoute* iproute) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_entry(); + if (iproute) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFIPRoute>::GetOwningArena(iproute); + if (message_arena != submessage_arena) { + iproute = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, iproute, submessage_arena); + } + set_has_iproute(); + entry_.iproute_ = iproute; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.IPRoute) +} +void SLAFObject::set_allocated_mplslabel(::service_layer::SLMplsEntry* mplslabel) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_entry(); + if (mplslabel) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLMplsEntry>::GetOwningArena(mplslabel); + if (message_arena != submessage_arena) { + mplslabel = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, mplslabel, submessage_arena); + } + set_has_mplslabel(); + entry_.mplslabel_ = mplslabel; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.MplsLabel) +} +void SLAFObject::set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_entry(); + if (pathgroup) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPathGroup>::GetOwningArena(pathgroup); + if (message_arena != submessage_arena) { + pathgroup = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, pathgroup, submessage_arena); + } + set_has_pathgroup(); + entry_.pathgroup_ = pathgroup; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.PathGroup) +} +SLAFObject::SLAFObject(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFObject) +} +SLAFObject::SLAFObject(const SLAFObject& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_entry(); + switch (from.entry_case()) { + case kIPRoute: { + _internal_mutable_iproute()->::service_layer::SLAFIPRoute::MergeFrom(from._internal_iproute()); + break; + } + case kMplsLabel: { + _internal_mutable_mplslabel()->::service_layer::SLMplsEntry::MergeFrom(from._internal_mplslabel()); + break; + } + case kPathGroup: { + _internal_mutable_pathgroup()->::service_layer::SLPathGroup::MergeFrom(from._internal_pathgroup()); + break; + } + case ENTRY_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFObject) +} + +inline void SLAFObject::SharedCtor() { +clear_has_entry(); +} + +SLAFObject::~SLAFObject() { + // @@protoc_insertion_point(destructor:service_layer.SLAFObject) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLAFObject::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_entry()) { + clear_entry(); + } +} + +void SLAFObject::ArenaDtor(void* object) { + SLAFObject* _this = reinterpret_cast< SLAFObject* >(object); + (void)_this; +} +void SLAFObject::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLAFObject::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLAFObject::clear_entry() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLAFObject) + switch (entry_case()) { + case kIPRoute: { + if (GetArenaForAllocation() == nullptr) { + delete entry_.iproute_; + } + break; + } + case kMplsLabel: { + if (GetArenaForAllocation() == nullptr) { + delete entry_.mplslabel_; + } + break; + } + case kPathGroup: { + if (GetArenaForAllocation() == nullptr) { + delete entry_.pathgroup_; + } + break; + } + case ENTRY_NOT_SET: { + break; + } + } + _oneof_case_[0] = ENTRY_NOT_SET; +} + + +void SLAFObject::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFObject) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_entry(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLAFObject::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service_layer.SLAFIPRoute IPRoute = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_iproute(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLMplsEntry MplsLabel = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_mplslabel(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLPathGroup PathGroup = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_pathgroup(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLAFObject::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFObject) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLAFIPRoute IPRoute = 1; + if (_internal_has_iproute()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::iproute(this), target, stream); + } + + // .service_layer.SLMplsEntry MplsLabel = 2; + if (_internal_has_mplslabel()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::mplslabel(this), target, stream); + } + + // .service_layer.SLPathGroup PathGroup = 3; + if (_internal_has_pathgroup()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::pathgroup(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFObject) + return target; +} + +size_t SLAFObject::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFObject) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (entry_case()) { + // .service_layer.SLAFIPRoute IPRoute = 1; + case kIPRoute: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *entry_.iproute_); + break; + } + // .service_layer.SLMplsEntry MplsLabel = 2; + case kMplsLabel: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *entry_.mplslabel_); + break; + } + // .service_layer.SLPathGroup PathGroup = 3; + case kPathGroup: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *entry_.pathgroup_); + break; + } + case ENTRY_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFObject::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLAFObject::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFObject::GetClassData() const { return &_class_data_; } + +void SLAFObject::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLAFObject::MergeFrom(const SLAFObject& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFObject) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.entry_case()) { + case kIPRoute: { + _internal_mutable_iproute()->::service_layer::SLAFIPRoute::MergeFrom(from._internal_iproute()); + break; + } + case kMplsLabel: { + _internal_mutable_mplslabel()->::service_layer::SLMplsEntry::MergeFrom(from._internal_mplslabel()); + break; + } + case kPathGroup: { + _internal_mutable_pathgroup()->::service_layer::SLPathGroup::MergeFrom(from._internal_pathgroup()); + break; + } + case ENTRY_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLAFObject::CopyFrom(const SLAFObject& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFObject) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLAFObject::IsInitialized() const { + return true; +} + +void SLAFObject::InternalSwap(SLAFObject* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(entry_, other->entry_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLAFObject::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, + file_level_metadata_sl_5faf_2eproto[12]); +} + +// =================================================================== + +class SLAFOpMsg::_Internal { + public: + static const ::service_layer::SLAFObject& afobject(const SLAFOpMsg* msg); +}; + +const ::service_layer::SLAFObject& +SLAFOpMsg::_Internal::afobject(const SLAFOpMsg* msg) { + return *msg->afobject_; +} +SLAFOpMsg::SLAFOpMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + ackpermits_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFOpMsg) +} +SLAFOpMsg::SLAFOpMsg(const SLAFOpMsg& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + ackpermits_(from.ackpermits_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_afobject()) { + afobject_ = new ::service_layer::SLAFObject(*from.afobject_); + } else { + afobject_ = nullptr; + } + ::memcpy(&operationid_, &from.operationid_, + static_cast(reinterpret_cast(&ackcadence_) - + reinterpret_cast(&operationid_)) + sizeof(ackcadence_)); + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFOpMsg) +} + +inline void SLAFOpMsg::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&afobject_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&ackcadence_) - + reinterpret_cast(&afobject_)) + sizeof(ackcadence_)); +} + +SLAFOpMsg::~SLAFOpMsg() { + // @@protoc_insertion_point(destructor:service_layer.SLAFOpMsg) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLAFOpMsg::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete afobject_; +} + +void SLAFOpMsg::ArenaDtor(void* object) { + SLAFOpMsg* _this = reinterpret_cast< SLAFOpMsg* >(object); + (void)_this; +} +void SLAFOpMsg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLAFOpMsg::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLAFOpMsg::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFOpMsg) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ackpermits_.Clear(); + if (GetArenaForAllocation() == nullptr && afobject_ != nullptr) { + delete afobject_; + } + afobject_ = nullptr; + ::memset(&operationid_, 0, static_cast( + reinterpret_cast(&ackcadence_) - + reinterpret_cast(&operationid_)) + sizeof(ackcadence_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLAFOpMsg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service_layer.SLAFObject AFObject = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_afobject(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 OperationID = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + operationid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLRspACKType AckType = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_acktype(static_cast<::service_layer::SLRspACKType>(val)); + } else + goto handle_unusual; + continue; + // repeated .service_layer.SLRspACKPermit AckPermits = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_ackpermits(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 32) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_add_ackpermits(static_cast<::service_layer::SLRspACKPermit>(val)); + } else + goto handle_unusual; + continue; + // .service_layer.SLRspAckCadence AckCadence = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_ackcadence(static_cast<::service_layer::SLRspAckCadence>(val)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLAFOpMsg::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFOpMsg) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLAFObject AFObject = 1; + if (this->_internal_has_afobject()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::afobject(this), target, stream); + } + + // uint64 OperationID = 2; + if (this->_internal_operationid() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_operationid(), target); + } + + // .service_layer.SLRspACKType AckType = 3; + if (this->_internal_acktype() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 3, this->_internal_acktype(), target); + } + + // repeated .service_layer.SLRspACKPermit AckPermits = 4; + { + int byte_size = _ackpermits_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 4, ackpermits_, byte_size, target); + } + } + + // .service_layer.SLRspAckCadence AckCadence = 5; + if (this->_internal_ackcadence() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 5, this->_internal_ackcadence(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFOpMsg) + return target; +} + +size_t SLAFOpMsg::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFOpMsg) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .service_layer.SLRspACKPermit AckPermits = 4; + { + size_t data_size = 0; + unsigned int count = static_cast(this->_internal_ackpermits_size());for (unsigned int i = 0; i < count; i++) { + data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize( + this->_internal_ackpermits(static_cast(i))); + } + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _ackpermits_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + // .service_layer.SLAFObject AFObject = 1; + if (this->_internal_has_afobject()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *afobject_); + } + + // uint64 OperationID = 2; + if (this->_internal_operationid() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_operationid()); + } + + // .service_layer.SLRspACKType AckType = 3; + if (this->_internal_acktype() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_acktype()); + } + + // .service_layer.SLRspAckCadence AckCadence = 5; + if (this->_internal_ackcadence() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_ackcadence()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFOpMsg::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLAFOpMsg::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFOpMsg::GetClassData() const { return &_class_data_; } + +void SLAFOpMsg::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLAFOpMsg::MergeFrom(const SLAFOpMsg& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFOpMsg) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + ackpermits_.MergeFrom(from.ackpermits_); + if (from._internal_has_afobject()) { + _internal_mutable_afobject()->::service_layer::SLAFObject::MergeFrom(from._internal_afobject()); + } + if (from._internal_operationid() != 0) { + _internal_set_operationid(from._internal_operationid()); + } + if (from._internal_acktype() != 0) { + _internal_set_acktype(from._internal_acktype()); + } + if (from._internal_ackcadence() != 0) { + _internal_set_ackcadence(from._internal_ackcadence()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLAFOpMsg::CopyFrom(const SLAFOpMsg& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFOpMsg) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLAFOpMsg::IsInitialized() const { + return true; +} + +void SLAFOpMsg::InternalSwap(SLAFOpMsg* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ackpermits_.InternalSwap(&other->ackpermits_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLAFOpMsg, ackcadence_) + + sizeof(SLAFOpMsg::ackcadence_) + - PROTOBUF_FIELD_OFFSET(SLAFOpMsg, afobject_)>( + reinterpret_cast(&afobject_), + reinterpret_cast(&other->afobject_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLAFOpMsg::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, + file_level_metadata_sl_5faf_2eproto[13]); +} + +// =================================================================== + +class SLAFClientIDList::_Internal { + public: +}; + +SLAFClientIDList::SLAFClientIDList(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + clientidlist_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFClientIDList) +} +SLAFClientIDList::SLAFClientIDList(const SLAFClientIDList& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + clientidlist_(from.clientidlist_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFClientIDList) +} + +inline void SLAFClientIDList::SharedCtor() { +} + +SLAFClientIDList::~SLAFClientIDList() { + // @@protoc_insertion_point(destructor:service_layer.SLAFClientIDList) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLAFClientIDList::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void SLAFClientIDList::ArenaDtor(void* object) { + SLAFClientIDList* _this = reinterpret_cast< SLAFClientIDList* >(object); + (void)_this; +} +void SLAFClientIDList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLAFClientIDList::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLAFClientIDList::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFClientIDList) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clientidlist_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLAFClientIDList::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // repeated uint64 ClientIDList = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_clientidlist(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 8) { + _internal_add_clientidlist(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLAFClientIDList::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFClientIDList) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // repeated uint64 ClientIDList = 1; + { + int byte_size = _clientidlist_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteUInt64Packed( + 1, _internal_clientidlist(), byte_size, target); + } + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFClientIDList) + return target; +} + +size_t SLAFClientIDList::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFClientIDList) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated uint64 ClientIDList = 1; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + UInt64Size(this->clientidlist_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _clientidlist_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFClientIDList::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLAFClientIDList::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFClientIDList::GetClassData() const { return &_class_data_; } + +void SLAFClientIDList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLAFClientIDList::MergeFrom(const SLAFClientIDList& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFClientIDList) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + clientidlist_.MergeFrom(from.clientidlist_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLAFClientIDList::CopyFrom(const SLAFClientIDList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFClientIDList) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLAFClientIDList::IsInitialized() const { + return true; +} + +void SLAFClientIDList::InternalSwap(SLAFClientIDList* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + clientidlist_.InternalSwap(&other->clientidlist_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLAFClientIDList::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, + file_level_metadata_sl_5faf_2eproto[14]); +} + +// =================================================================== + +class SLTableTypeList::_Internal { + public: +}; + +SLTableTypeList::SLTableTypeList(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + table_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLTableTypeList) +} +SLTableTypeList::SLTableTypeList(const SLTableTypeList& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + table_(from.table_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:service_layer.SLTableTypeList) +} + +inline void SLTableTypeList::SharedCtor() { +} + +SLTableTypeList::~SLTableTypeList() { + // @@protoc_insertion_point(destructor:service_layer.SLTableTypeList) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLTableTypeList::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void SLTableTypeList::ArenaDtor(void* object) { + SLTableTypeList* _this = reinterpret_cast< SLTableTypeList* >(object); + (void)_this; +} +void SLTableTypeList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLTableTypeList::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLTableTypeList::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLTableTypeList) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + table_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLTableTypeList::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // repeated .service_layer.SLTableType Table = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_table(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 8) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_add_table(static_cast<::service_layer::SLTableType>(val)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLTableTypeList::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLTableTypeList) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .service_layer.SLTableType Table = 1; + { + int byte_size = _table_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 1, table_, byte_size, target); + } + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLTableTypeList) + return target; +} + +size_t SLTableTypeList::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLTableTypeList) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .service_layer.SLTableType Table = 1; + { + size_t data_size = 0; + unsigned int count = static_cast(this->_internal_table_size());for (unsigned int i = 0; i < count; i++) { + data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize( + this->_internal_table(static_cast(i))); + } + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _table_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLTableTypeList::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLTableTypeList::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLTableTypeList::GetClassData() const { return &_class_data_; } + +void SLTableTypeList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLTableTypeList::MergeFrom(const SLTableTypeList& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLTableTypeList) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + table_.MergeFrom(from.table_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLTableTypeList::CopyFrom(const SLTableTypeList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLTableTypeList) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLTableTypeList::IsInitialized() const { + return true; +} + +void SLTableTypeList::InternalSwap(SLTableTypeList* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + table_.InternalSwap(&other->table_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLTableTypeList::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, + file_level_metadata_sl_5faf_2eproto[15]); +} + +// =================================================================== + +class SLAFObjectKey::_Internal { + public: + static const ::service_layer::SLRoutePrefix& iprouteprefix(const SLAFObjectKey* msg); + static const ::service_layer::SLMplsEntryKey& mplslabel(const SLAFObjectKey* msg); + static const ::service_layer::SLObjectId& pathgroupid(const SLAFObjectKey* msg); +}; + +const ::service_layer::SLRoutePrefix& +SLAFObjectKey::_Internal::iprouteprefix(const SLAFObjectKey* msg) { + return *msg->key_.iprouteprefix_; +} +const ::service_layer::SLMplsEntryKey& +SLAFObjectKey::_Internal::mplslabel(const SLAFObjectKey* msg) { + return *msg->key_.mplslabel_; +} +const ::service_layer::SLObjectId& +SLAFObjectKey::_Internal::pathgroupid(const SLAFObjectKey* msg) { + return *msg->key_.pathgroupid_; +} +void SLAFObjectKey::set_allocated_iprouteprefix(::service_layer::SLRoutePrefix* iprouteprefix) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_key(); + if (iprouteprefix) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(iprouteprefix)); + if (message_arena != submessage_arena) { + iprouteprefix = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, iprouteprefix, submessage_arena); + } + set_has_iprouteprefix(); + key_.iprouteprefix_ = iprouteprefix; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObjectKey.IPRoutePrefix) +} +void SLAFObjectKey::clear_iprouteprefix() { + if (_internal_has_iprouteprefix()) { + if (GetArenaForAllocation() == nullptr) { + delete key_.iprouteprefix_; + } + clear_has_key(); + } +} +void SLAFObjectKey::set_allocated_mplslabel(::service_layer::SLMplsEntryKey* mplslabel) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_key(); + if (mplslabel) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLMplsEntryKey>::GetOwningArena(mplslabel); + if (message_arena != submessage_arena) { + mplslabel = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, mplslabel, submessage_arena); + } + set_has_mplslabel(); + key_.mplslabel_ = mplslabel; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObjectKey.MplsLabel) +} +void SLAFObjectKey::set_allocated_pathgroupid(::service_layer::SLObjectId* pathgroupid) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_key(); + if (pathgroupid) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid)); + if (message_arena != submessage_arena) { + pathgroupid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, pathgroupid, submessage_arena); + } + set_has_pathgroupid(); + key_.pathgroupid_ = pathgroupid; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObjectKey.PathGroupId) +} +void SLAFObjectKey::clear_pathgroupid() { + if (_internal_has_pathgroupid()) { + if (GetArenaForAllocation() == nullptr) { + delete key_.pathgroupid_; + } + clear_has_key(); + } +} +SLAFObjectKey::SLAFObjectKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFObjectKey) +} +SLAFObjectKey::SLAFObjectKey(const SLAFObjectKey& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_key(); + switch (from.key_case()) { + case kIPRoutePrefix: { + _internal_mutable_iprouteprefix()->::service_layer::SLRoutePrefix::MergeFrom(from._internal_iprouteprefix()); + break; + } + case kMplsLabel: { + _internal_mutable_mplslabel()->::service_layer::SLMplsEntryKey::MergeFrom(from._internal_mplslabel()); + break; + } + case kPathGroupId: { + _internal_mutable_pathgroupid()->::service_layer::SLObjectId::MergeFrom(from._internal_pathgroupid()); + break; + } + case KEY_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFObjectKey) +} + +inline void SLAFObjectKey::SharedCtor() { +clear_has_key(); +} + +SLAFObjectKey::~SLAFObjectKey() { + // @@protoc_insertion_point(destructor:service_layer.SLAFObjectKey) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLAFObjectKey::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_key()) { + clear_key(); + } +} + +void SLAFObjectKey::ArenaDtor(void* object) { + SLAFObjectKey* _this = reinterpret_cast< SLAFObjectKey* >(object); + (void)_this; +} +void SLAFObjectKey::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLAFObjectKey::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLAFObjectKey::clear_key() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLAFObjectKey) + switch (key_case()) { + case kIPRoutePrefix: { + if (GetArenaForAllocation() == nullptr) { + delete key_.iprouteprefix_; + } + break; + } + case kMplsLabel: { + if (GetArenaForAllocation() == nullptr) { + delete key_.mplslabel_; + } + break; + } + case kPathGroupId: { + if (GetArenaForAllocation() == nullptr) { + delete key_.pathgroupid_; + } + break; + } + case KEY_NOT_SET: { + break; + } + } + _oneof_case_[0] = KEY_NOT_SET; +} + + +void SLAFObjectKey::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFObjectKey) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_key(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLAFObjectKey::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_iprouteprefix(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLMplsEntryKey MplsLabel = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_mplslabel(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLObjectId PathGroupId = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_pathgroupid(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLAFObjectKey::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFObjectKey) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; + if (_internal_has_iprouteprefix()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::iprouteprefix(this), target, stream); + } + + // .service_layer.SLMplsEntryKey MplsLabel = 2; + if (_internal_has_mplslabel()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::mplslabel(this), target, stream); + } + + // .service_layer.SLObjectId PathGroupId = 3; + if (_internal_has_pathgroupid()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::pathgroupid(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFObjectKey) + return target; +} + +size_t SLAFObjectKey::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFObjectKey) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (key_case()) { + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; + case kIPRoutePrefix: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *key_.iprouteprefix_); + break; + } + // .service_layer.SLMplsEntryKey MplsLabel = 2; + case kMplsLabel: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *key_.mplslabel_); + break; + } + // .service_layer.SLObjectId PathGroupId = 3; + case kPathGroupId: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *key_.pathgroupid_); + break; + } + case KEY_NOT_SET: { + break; + } } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFOp::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFObjectKey::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLAFOp::MergeImpl + SLAFObjectKey::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFOp::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFObjectKey::GetClassData() const { return &_class_data_; } -void SLAFOp::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLAFObjectKey::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void SLAFOp::MergeFrom(const SLAFOp& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFOp) +void SLAFObjectKey::MergeFrom(const SLAFObjectKey& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFObjectKey) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - ackpermits_.MergeFrom(from.ackpermits_); - if (from._internal_has_afobject()) { - _internal_mutable_afobject()->::service_layer::SLAFObject::MergeFrom(from._internal_afobject()); - } - if (from._internal_operationid() != 0) { - _internal_set_operationid(from._internal_operationid()); - } - if (from._internal_acktype() != 0) { - _internal_set_acktype(from._internal_acktype()); - } - if (from._internal_ackcadence() != 0) { - _internal_set_ackcadence(from._internal_ackcadence()); + switch (from.key_case()) { + case kIPRoutePrefix: { + _internal_mutable_iprouteprefix()->::service_layer::SLRoutePrefix::MergeFrom(from._internal_iprouteprefix()); + break; + } + case kMplsLabel: { + _internal_mutable_mplslabel()->::service_layer::SLMplsEntryKey::MergeFrom(from._internal_mplslabel()); + break; + } + case kPathGroupId: { + _internal_mutable_pathgroupid()->::service_layer::SLObjectId::MergeFrom(from._internal_pathgroupid()); + break; + } + case KEY_NOT_SET: { + break; + } } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void SLAFOp::CopyFrom(const SLAFOp& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFOp) +void SLAFObjectKey::CopyFrom(const SLAFObjectKey& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFObjectKey) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLAFOp::IsInitialized() const { +bool SLAFObjectKey::IsInitialized() const { return true; } -void SLAFOp::InternalSwap(SLAFOp* other) { +void SLAFObjectKey::InternalSwap(SLAFObjectKey* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ackpermits_.InternalSwap(&other->ackpermits_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLAFOp, ackcadence_) - + sizeof(SLAFOp::ackcadence_) - - PROTOBUF_FIELD_OFFSET(SLAFOp, afobject_)>( - reinterpret_cast(&afobject_), - reinterpret_cast(&other->afobject_)); + swap(key_, other->key_); + swap(_oneof_case_[0], other->_oneof_case_[0]); } -::PROTOBUF_NAMESPACE_ID::Metadata SLAFOp::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLAFObjectKey::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[11]); + file_level_metadata_sl_5faf_2eproto[16]); } // =================================================================== -class SLAFGetMsg::_Internal { +class SLAFGetMatch::_Internal { public: + static const ::service_layer::SLAFObjectKey& key(const SLAFGetMatch* msg); }; -void SLAFGetMsg::clear_routematch() { - routematch_.Clear(); +const ::service_layer::SLAFObjectKey& +SLAFGetMatch::_Internal::key(const SLAFGetMatch* msg) { + return *msg->entry_.key_; } -SLAFGetMsg::SLAFGetMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, +void SLAFGetMatch::set_allocated_key(::service_layer::SLAFObjectKey* key) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_entry(); + if (key) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFObjectKey>::GetOwningArena(key); + if (message_arena != submessage_arena) { + key = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, key, submessage_arena); + } + set_has_key(); + entry_.key_ = key; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMatch.Key) +} +SLAFGetMatch::SLAFGetMatch(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - routematch_(arena) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:service_layer.SLAFGetMsg) + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFGetMatch) } -SLAFGetMsg::SLAFGetMsg(const SLAFGetMsg& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - routematch_(from.routematch_) { +SLAFGetMatch::SLAFGetMatch(const SLAFGetMatch& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - vrfname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_vrfname().empty()) { - vrfname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_vrfname(), - GetArenaForAllocation()); + clear_has_entry(); + switch (from.entry_case()) { + case kKey: { + _internal_mutable_key()->::service_layer::SLAFObjectKey::MergeFrom(from._internal_key()); + break; + } + case kPathGroupRegex: { + _internal_set_pathgroupregex(from._internal_pathgroupregex()); + break; + } + case kVxlanVniId: { + _internal_set_vxlanvniid(from._internal_vxlanvniid()); + break; + } + case ENTRY_NOT_SET: { + break; + } } - ::memcpy(&table_, &from.table_, - static_cast(reinterpret_cast(&getallclients_) - - reinterpret_cast(&table_)) + sizeof(getallclients_)); - // @@protoc_insertion_point(copy_constructor:service_layer.SLAFGetMsg) + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFGetMatch) } -inline void SLAFGetMsg::SharedCtor() { -vrfname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&table_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&getallclients_) - - reinterpret_cast(&table_)) + sizeof(getallclients_)); +inline void SLAFGetMatch::SharedCtor() { +clear_has_entry(); } -SLAFGetMsg::~SLAFGetMsg() { - // @@protoc_insertion_point(destructor:service_layer.SLAFGetMsg) +SLAFGetMatch::~SLAFGetMatch() { + // @@protoc_insertion_point(destructor:service_layer.SLAFGetMatch) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLAFGetMsg::SharedDtor() { +inline void SLAFGetMatch::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - vrfname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (has_entry()) { + clear_entry(); + } } -void SLAFGetMsg::ArenaDtor(void* object) { - SLAFGetMsg* _this = reinterpret_cast< SLAFGetMsg* >(object); +void SLAFGetMatch::ArenaDtor(void* object) { + SLAFGetMatch* _this = reinterpret_cast< SLAFGetMatch* >(object); (void)_this; } -void SLAFGetMsg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLAFGetMatch::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLAFGetMsg::SetCachedSize(int size) const { +void SLAFGetMatch::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLAFGetMsg::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLAFGetMsg) +void SLAFGetMatch::clear_entry() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLAFGetMatch) + switch (entry_case()) { + case kKey: { + if (GetArenaForAllocation() == nullptr) { + delete entry_.key_; + } + break; + } + case kPathGroupRegex: { + entry_.pathgroupregex_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); + break; + } + case kVxlanVniId: { + // No need to clear + break; + } + case ENTRY_NOT_SET: { + break; + } + } + _oneof_case_[0] = ENTRY_NOT_SET; +} + + +void SLAFGetMatch::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFGetMatch) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - routematch_.Clear(); - vrfname_.ClearToEmpty(); - ::memset(&table_, 0, static_cast( - reinterpret_cast(&getallclients_) - - reinterpret_cast(&table_)) + sizeof(getallclients_)); + clear_entry(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLAFGetMsg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLAFGetMatch::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // string VrfName = 1; + // .service_layer.SLAFObjectKey Key = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_vrfname(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLAFGetMsg.VrfName")); + ptr = ctx->ParseMessage(_internal_mutable_key(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLTableType Table = 2; + // string PathGroupRegex = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_pathgroupregex(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLAFGetMatch.PathGroupRegex")); CHK_(ptr); - _internal_set_table(static_cast<::service_layer::SLTableType>(val)); } else goto handle_unusual; continue; - // bool GetAllClients = 3; + // uint32 VxlanVniId = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - getallclients_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + _internal_set_vxlanvniid(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr)); CHK_(ptr); } else goto handle_unusual; continue; - // repeated .service_layer.SLRouteGetMatch RouteMatch = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_routematch(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr)); - } else - goto handle_unusual; - continue; default: goto handle_unusual; } // switch @@ -4428,337 +5676,215 @@ const char* SLAFGetMsg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID: #undef CHK_ } -uint8_t* SLAFGetMsg::_InternalSerialize( +uint8_t* SLAFGetMatch::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFGetMsg) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFGetMatch) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // string VrfName = 1; - if (!this->_internal_vrfname().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_vrfname().data(), static_cast(this->_internal_vrfname().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "service_layer.SLAFGetMsg.VrfName"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_vrfname(), target); - } - - // .service_layer.SLTableType Table = 2; - if (this->_internal_table() != 0) { + // .service_layer.SLAFObjectKey Key = 1; + if (_internal_has_key()) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( - 2, this->_internal_table(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::key(this), target, stream); } - // bool GetAllClients = 3; - if (this->_internal_getallclients() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_getallclients(), target); + // string PathGroupRegex = 2; + if (_internal_has_pathgroupregex()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_pathgroupregex().data(), static_cast(this->_internal_pathgroupregex().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service_layer.SLAFGetMatch.PathGroupRegex"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_pathgroupregex(), target); } - // repeated .service_layer.SLRouteGetMatch RouteMatch = 4; - for (unsigned int i = 0, - n = static_cast(this->_internal_routematch_size()); i < n; i++) { + // uint32 VxlanVniId = 3; + if (_internal_has_vxlanvniid()) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(4, this->_internal_routematch(i), target, stream); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_vxlanvniid(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFGetMsg) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFGetMatch) return target; } -size_t SLAFGetMsg::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFGetMsg) +size_t SLAFGetMatch::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFGetMatch) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .service_layer.SLRouteGetMatch RouteMatch = 4; - total_size += 1UL * this->_internal_routematch_size(); - for (const auto& msg : this->routematch_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // string VrfName = 1; - if (!this->_internal_vrfname().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_vrfname()); - } - - // .service_layer.SLTableType Table = 2; - if (this->_internal_table() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_table()); - } - - // bool GetAllClients = 3; - if (this->_internal_getallclients() != 0) { - total_size += 1 + 1; + switch (entry_case()) { + // .service_layer.SLAFObjectKey Key = 1; + case kKey: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *entry_.key_); + break; + } + // string PathGroupRegex = 2; + case kPathGroupRegex: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_pathgroupregex()); + break; + } + // uint32 VxlanVniId = 3; + case kVxlanVniId: { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_vxlanvniid()); + break; + } + case ENTRY_NOT_SET: { + break; + } } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFGetMsg::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFGetMatch::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLAFGetMsg::MergeImpl + SLAFGetMatch::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFGetMsg::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFGetMatch::GetClassData() const { return &_class_data_; } -void SLAFGetMsg::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLAFGetMatch::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void SLAFGetMsg::MergeFrom(const SLAFGetMsg& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFGetMsg) +void SLAFGetMatch::MergeFrom(const SLAFGetMatch& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFGetMatch) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - routematch_.MergeFrom(from.routematch_); - if (!from._internal_vrfname().empty()) { - _internal_set_vrfname(from._internal_vrfname()); - } - if (from._internal_table() != 0) { - _internal_set_table(from._internal_table()); - } - if (from._internal_getallclients() != 0) { - _internal_set_getallclients(from._internal_getallclients()); + switch (from.entry_case()) { + case kKey: { + _internal_mutable_key()->::service_layer::SLAFObjectKey::MergeFrom(from._internal_key()); + break; + } + case kPathGroupRegex: { + _internal_set_pathgroupregex(from._internal_pathgroupregex()); + break; + } + case kVxlanVniId: { + _internal_set_vxlanvniid(from._internal_vxlanvniid()); + break; + } + case ENTRY_NOT_SET: { + break; + } } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void SLAFGetMsg::CopyFrom(const SLAFGetMsg& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFGetMsg) +void SLAFGetMatch::CopyFrom(const SLAFGetMatch& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFGetMatch) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLAFGetMsg::IsInitialized() const { +bool SLAFGetMatch::IsInitialized() const { return true; } -void SLAFGetMsg::InternalSwap(SLAFGetMsg* other) { +void SLAFGetMatch::InternalSwap(SLAFGetMatch* other) { using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - routematch_.InternalSwap(&other->routematch_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &vrfname_, lhs_arena, - &other->vrfname_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLAFGetMsg, getallclients_) - + sizeof(SLAFGetMsg::getallclients_) - - PROTOBUF_FIELD_OFFSET(SLAFGetMsg, table_)>( - reinterpret_cast(&table_), - reinterpret_cast(&other->table_)); + swap(entry_, other->entry_); + swap(_oneof_case_[0], other->_oneof_case_[0]); } -::PROTOBUF_NAMESPACE_ID::Metadata SLAFGetMsg::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLAFGetMatch::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[12]); -} - -// =================================================================== - -class SLAFDepFibStatus::_Internal { - public: - static const ::service_layer::SLErrorStatus& errorcode(const SLAFDepFibStatus* msg); - static const ::service_layer::SLPathGroupRefKey& pathgroupkey(const SLAFDepFibStatus* msg); -}; - -const ::service_layer::SLErrorStatus& -SLAFDepFibStatus::_Internal::errorcode(const SLAFDepFibStatus* msg) { - return *msg->errorcode_; -} -const ::service_layer::SLPathGroupRefKey& -SLAFDepFibStatus::_Internal::pathgroupkey(const SLAFDepFibStatus* msg) { - return *msg->entry_.pathgroupkey_; -} -void SLAFDepFibStatus::clear_errorcode() { - if (GetArenaForAllocation() == nullptr && errorcode_ != nullptr) { - delete errorcode_; - } - errorcode_ = nullptr; -} -void SLAFDepFibStatus::set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupkey)); - if (message_arena != submessage_arena) { - pathgroupkey = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pathgroupkey, submessage_arena); - } - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFDepFibStatus.PathGroupKey) -} -void SLAFDepFibStatus::clear_pathgroupkey() { - if (_internal_has_pathgroupkey()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - clear_has_entry(); - } + file_level_metadata_sl_5faf_2eproto[17]); } -SLAFDepFibStatus::SLAFDepFibStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena, + +// =================================================================== + +class SLAFGetMatchList::_Internal { + public: +}; + +SLAFGetMatchList::SLAFGetMatchList(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + match_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:service_layer.SLAFDepFibStatus) + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFGetMatchList) } -SLAFDepFibStatus::SLAFDepFibStatus(const SLAFDepFibStatus& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +SLAFGetMatchList::SLAFGetMatchList(const SLAFGetMatchList& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + match_(from.match_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_errorcode()) { - errorcode_ = new ::service_layer::SLErrorStatus(*from.errorcode_); - } else { - errorcode_ = nullptr; - } - ::memcpy(&operationid_, &from.operationid_, - static_cast(reinterpret_cast(&version_) - - reinterpret_cast(&operationid_)) + sizeof(version_)); - clear_has_entry(); - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } - // @@protoc_insertion_point(copy_constructor:service_layer.SLAFDepFibStatus) + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFGetMatchList) } -inline void SLAFDepFibStatus::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&errorcode_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&version_) - - reinterpret_cast(&errorcode_)) + sizeof(version_)); -clear_has_entry(); +inline void SLAFGetMatchList::SharedCtor() { } -SLAFDepFibStatus::~SLAFDepFibStatus() { - // @@protoc_insertion_point(destructor:service_layer.SLAFDepFibStatus) +SLAFGetMatchList::~SLAFGetMatchList() { + // @@protoc_insertion_point(destructor:service_layer.SLAFGetMatchList) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLAFDepFibStatus::SharedDtor() { +inline void SLAFGetMatchList::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete errorcode_; - if (has_entry()) { - clear_entry(); - } } -void SLAFDepFibStatus::ArenaDtor(void* object) { - SLAFDepFibStatus* _this = reinterpret_cast< SLAFDepFibStatus* >(object); +void SLAFGetMatchList::ArenaDtor(void* object) { + SLAFGetMatchList* _this = reinterpret_cast< SLAFGetMatchList* >(object); (void)_this; } -void SLAFDepFibStatus::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLAFGetMatchList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLAFDepFibStatus::SetCachedSize(int size) const { +void SLAFGetMatchList::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLAFDepFibStatus::clear_entry() { -// @@protoc_insertion_point(one_of_clear_start:service_layer.SLAFDepFibStatus) - switch (entry_case()) { - case kPathGroupKey: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _oneof_case_[0] = ENTRY_NOT_SET; -} - - -void SLAFDepFibStatus::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLAFDepFibStatus) +void SLAFGetMatchList::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFGetMatchList) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && errorcode_ != nullptr) { - delete errorcode_; - } - errorcode_ = nullptr; - ::memset(&operationid_, 0, static_cast( - reinterpret_cast(&version_) - - reinterpret_cast(&operationid_)) + sizeof(version_)); - clear_entry(); + match_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLAFDepFibStatus::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLAFGetMatchList::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // .service_layer.SLErrorStatus ErrorCode = 1; + // repeated .service_layer.SLAFGetMatch Match = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_errorcode(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // uint64 OperationID = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - operationid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // uint64 Version = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_pathgroupkey(), ptr); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_match(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); } else goto handle_unusual; continue; @@ -4785,251 +5911,345 @@ const char* SLAFDepFibStatus::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPA #undef CHK_ } -uint8_t* SLAFDepFibStatus::_InternalSerialize( +uint8_t* SLAFGetMatchList::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFDepFibStatus) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFGetMatchList) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLErrorStatus ErrorCode = 1; - if (this->_internal_has_errorcode()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 1, _Internal::errorcode(this), target, stream); - } - - // uint64 OperationID = 2; - if (this->_internal_operationid() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_operationid(), target); - } - - // uint64 Version = 3; - if (this->_internal_version() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_version(), target); - } - - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - if (_internal_has_pathgroupkey()) { + // repeated .service_layer.SLAFGetMatch Match = 1; + for (unsigned int i = 0, + n = static_cast(this->_internal_match_size()); i < n; i++) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 4, _Internal::pathgroupkey(this), target, stream); + InternalWriteMessage(1, this->_internal_match(i), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFDepFibStatus) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFGetMatchList) return target; } -size_t SLAFDepFibStatus::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFDepFibStatus) +size_t SLAFGetMatchList::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFGetMatchList) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .service_layer.SLErrorStatus ErrorCode = 1; - if (this->_internal_has_errorcode()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *errorcode_); - } - - // uint64 OperationID = 2; - if (this->_internal_operationid() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_operationid()); - } - - // uint64 Version = 3; - if (this->_internal_version() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_version()); + // repeated .service_layer.SLAFGetMatch Match = 1; + total_size += 1UL * this->_internal_match_size(); + for (const auto& msg : this->match_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - switch (entry_case()) { - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - case kPathGroupKey: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.pathgroupkey_); - break; - } - case ENTRY_NOT_SET: { - break; - } - } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFDepFibStatus::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFGetMatchList::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLAFDepFibStatus::MergeImpl + SLAFGetMatchList::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFDepFibStatus::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFGetMatchList::GetClassData() const { return &_class_data_; } -void SLAFDepFibStatus::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLAFGetMatchList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void SLAFDepFibStatus::MergeFrom(const SLAFDepFibStatus& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFDepFibStatus) +void SLAFGetMatchList::MergeFrom(const SLAFGetMatchList& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFGetMatchList) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_errorcode()) { - _internal_mutable_errorcode()->::service_layer::SLErrorStatus::MergeFrom(from._internal_errorcode()); - } - if (from._internal_operationid() != 0) { - _internal_set_operationid(from._internal_operationid()); - } - if (from._internal_version() != 0) { - _internal_set_version(from._internal_version()); - } - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } + match_.MergeFrom(from.match_); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void SLAFDepFibStatus::CopyFrom(const SLAFDepFibStatus& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFDepFibStatus) +void SLAFGetMatchList::CopyFrom(const SLAFGetMatchList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFGetMatchList) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLAFDepFibStatus::IsInitialized() const { +bool SLAFGetMatchList::IsInitialized() const { return true; } -void SLAFDepFibStatus::InternalSwap(SLAFDepFibStatus* other) { +void SLAFGetMatchList::InternalSwap(SLAFGetMatchList* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLAFDepFibStatus, version_) - + sizeof(SLAFDepFibStatus::version_) - - PROTOBUF_FIELD_OFFSET(SLAFDepFibStatus, errorcode_)>( - reinterpret_cast(&errorcode_), - reinterpret_cast(&other->errorcode_)); - swap(entry_, other->entry_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + match_.InternalSwap(&other->match_); } -::PROTOBUF_NAMESPACE_ID::Metadata SLAFDepFibStatus::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLAFGetMatchList::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[13]); + file_level_metadata_sl_5faf_2eproto[18]); } // =================================================================== -class SLAFFibStatus::_Internal { +class SLAFGetMsg::_Internal { public: - static const ::service_layer::SLAFDepFibStatus& depresult(const SLAFFibStatus* msg); + static const ::service_layer::SLAFClientIDList& clientidlist(const SLAFGetMsg* msg); + static const ::service_layer::SLTableTypeList& tablelist(const SLAFGetMsg* msg); + static const ::service_layer::SLAFGetMatchList& routematchlist(const SLAFGetMsg* msg); }; -const ::service_layer::SLAFDepFibStatus& -SLAFFibStatus::_Internal::depresult(const SLAFFibStatus* msg) { - return *msg->depresult_; +const ::service_layer::SLAFClientIDList& +SLAFGetMsg::_Internal::clientidlist(const SLAFGetMsg* msg) { + return *msg->client_.clientidlist_; +} +const ::service_layer::SLTableTypeList& +SLAFGetMsg::_Internal::tablelist(const SLAFGetMsg* msg) { + return *msg->match_.tablelist_; +} +const ::service_layer::SLAFGetMatchList& +SLAFGetMsg::_Internal::routematchlist(const SLAFGetMsg* msg) { + return *msg->match_.routematchlist_; +} +void SLAFGetMsg::set_allocated_clientidlist(::service_layer::SLAFClientIDList* clientidlist) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_client(); + if (clientidlist) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFClientIDList>::GetOwningArena(clientidlist); + if (message_arena != submessage_arena) { + clientidlist = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, clientidlist, submessage_arena); + } + set_has_clientidlist(); + client_.clientidlist_ = clientidlist; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsg.ClientIDList) +} +void SLAFGetMsg::set_allocated_tablelist(::service_layer::SLTableTypeList* tablelist) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_match(); + if (tablelist) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLTableTypeList>::GetOwningArena(tablelist); + if (message_arena != submessage_arena) { + tablelist = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, tablelist, submessage_arena); + } + set_has_tablelist(); + match_.tablelist_ = tablelist; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsg.TableList) +} +void SLAFGetMsg::set_allocated_routematchlist(::service_layer::SLAFGetMatchList* routematchlist) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_match(); + if (routematchlist) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFGetMatchList>::GetOwningArena(routematchlist); + if (message_arena != submessage_arena) { + routematchlist = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, routematchlist, submessage_arena); + } + set_has_routematchlist(); + match_.routematchlist_ = routematchlist; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsg.RouteMatchList) } -SLAFFibStatus::SLAFFibStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena, +SLAFGetMsg::SLAFGetMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:service_layer.SLAFFibStatus) + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFGetMsg) } -SLAFFibStatus::SLAFFibStatus(const SLAFFibStatus& from) +SLAFGetMsg::SLAFGetMsg(const SLAFGetMsg& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_depresult()) { - depresult_ = new ::service_layer::SLAFDepFibStatus(*from.depresult_); - } else { - depresult_ = nullptr; + vrfname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_vrfname().empty()) { + vrfname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_vrfname(), + GetArenaForAllocation()); + } + clear_has_client(); + switch (from.client_case()) { + case kClientIDList: { + _internal_mutable_clientidlist()->::service_layer::SLAFClientIDList::MergeFrom(from._internal_clientidlist()); + break; + } + case kAllClients: { + _internal_set_allclients(from._internal_allclients()); + break; + } + case CLIENT_NOT_SET: { + break; + } + } + clear_has_match(); + switch (from.match_case()) { + case kTableList: { + _internal_mutable_tablelist()->::service_layer::SLTableTypeList::MergeFrom(from._internal_tablelist()); + break; + } + case kRouteMatchList: { + _internal_mutable_routematchlist()->::service_layer::SLAFGetMatchList::MergeFrom(from._internal_routematchlist()); + break; + } + case MATCH_NOT_SET: { + break; + } } - version_ = from.version_; - // @@protoc_insertion_point(copy_constructor:service_layer.SLAFFibStatus) + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFGetMsg) } -inline void SLAFFibStatus::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&depresult_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&version_) - - reinterpret_cast(&depresult_)) + sizeof(version_)); +inline void SLAFGetMsg::SharedCtor() { +vrfname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +clear_has_client(); +clear_has_match(); } -SLAFFibStatus::~SLAFFibStatus() { - // @@protoc_insertion_point(destructor:service_layer.SLAFFibStatus) +SLAFGetMsg::~SLAFGetMsg() { + // @@protoc_insertion_point(destructor:service_layer.SLAFGetMsg) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLAFFibStatus::SharedDtor() { +inline void SLAFGetMsg::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete depresult_; + vrfname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (has_client()) { + clear_client(); + } + if (has_match()) { + clear_match(); + } } -void SLAFFibStatus::ArenaDtor(void* object) { - SLAFFibStatus* _this = reinterpret_cast< SLAFFibStatus* >(object); +void SLAFGetMsg::ArenaDtor(void* object) { + SLAFGetMsg* _this = reinterpret_cast< SLAFGetMsg* >(object); (void)_this; } -void SLAFFibStatus::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLAFGetMsg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLAFFibStatus::SetCachedSize(int size) const { +void SLAFGetMsg::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLAFFibStatus::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLAFFibStatus) +void SLAFGetMsg::clear_client() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLAFGetMsg) + switch (client_case()) { + case kClientIDList: { + if (GetArenaForAllocation() == nullptr) { + delete client_.clientidlist_; + } + break; + } + case kAllClients: { + // No need to clear + break; + } + case CLIENT_NOT_SET: { + break; + } + } + _oneof_case_[0] = CLIENT_NOT_SET; +} + +void SLAFGetMsg::clear_match() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLAFGetMsg) + switch (match_case()) { + case kTableList: { + if (GetArenaForAllocation() == nullptr) { + delete match_.tablelist_; + } + break; + } + case kRouteMatchList: { + if (GetArenaForAllocation() == nullptr) { + delete match_.routematchlist_; + } + break; + } + case MATCH_NOT_SET: { + break; + } + } + _oneof_case_[1] = MATCH_NOT_SET; +} + + +void SLAFGetMsg::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFGetMsg) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && depresult_ != nullptr) { - delete depresult_; - } - depresult_ = nullptr; - version_ = uint64_t{0u}; + vrfname_.ClearToEmpty(); + clear_client(); + clear_match(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLAFFibStatus::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLAFGetMsg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // uint64 Version = 1; + // string VrfName = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_vrfname(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLAFGetMsg.VrfName")); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLAFDepFibStatus DepResult = 2; + // .service_layer.SLAFClientIDList ClientIDList = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_depresult(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_clientidlist(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool AllClients = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _internal_set_allclients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLTableTypeList TableList = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_tablelist(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLAFGetMatchList RouteMatchList = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_routematchlist(), ptr); CHK_(ptr); } else goto handle_unusual; @@ -5057,134 +6277,208 @@ const char* SLAFFibStatus::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ #undef CHK_ } -uint8_t* SLAFFibStatus::_InternalSerialize( +uint8_t* SLAFGetMsg::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFFibStatus) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFGetMsg) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // uint64 Version = 1; - if (this->_internal_version() != 0) { + // string VrfName = 1; + if (!this->_internal_vrfname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_vrfname().data(), static_cast(this->_internal_vrfname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service_layer.SLAFGetMsg.VrfName"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_vrfname(), target); + } + + // .service_layer.SLAFClientIDList ClientIDList = 2; + if (_internal_has_clientidlist()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::clientidlist(this), target, stream); + } + + // bool AllClients = 3; + if (_internal_has_allclients()) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_version(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_allclients(), target); } - // .service_layer.SLAFDepFibStatus DepResult = 2; - if (this->_internal_has_depresult()) { + // .service_layer.SLTableTypeList TableList = 4; + if (_internal_has_tablelist()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 2, _Internal::depresult(this), target, stream); + 4, _Internal::tablelist(this), target, stream); + } + + // .service_layer.SLAFGetMatchList RouteMatchList = 5; + if (_internal_has_routematchlist()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 5, _Internal::routematchlist(this), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFFibStatus) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFGetMsg) return target; } -size_t SLAFFibStatus::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFFibStatus) +size_t SLAFGetMsg::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFGetMsg) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .service_layer.SLAFDepFibStatus DepResult = 2; - if (this->_internal_has_depresult()) { + // string VrfName = 1; + if (!this->_internal_vrfname().empty()) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *depresult_); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_vrfname()); } - // uint64 Version = 1; - if (this->_internal_version() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_version()); + switch (client_case()) { + // .service_layer.SLAFClientIDList ClientIDList = 2; + case kClientIDList: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *client_.clientidlist_); + break; + } + // bool AllClients = 3; + case kAllClients: { + total_size += 1 + 1; + break; + } + case CLIENT_NOT_SET: { + break; + } + } + switch (match_case()) { + // .service_layer.SLTableTypeList TableList = 4; + case kTableList: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *match_.tablelist_); + break; + } + // .service_layer.SLAFGetMatchList RouteMatchList = 5; + case kRouteMatchList: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *match_.routematchlist_); + break; + } + case MATCH_NOT_SET: { + break; + } } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFFibStatus::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFGetMsg::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLAFFibStatus::MergeImpl + SLAFGetMsg::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFFibStatus::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFGetMsg::GetClassData() const { return &_class_data_; } -void SLAFFibStatus::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLAFGetMsg::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void SLAFFibStatus::MergeFrom(const SLAFFibStatus& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFFibStatus) +void SLAFGetMsg::MergeFrom(const SLAFGetMsg& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFGetMsg) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_depresult()) { - _internal_mutable_depresult()->::service_layer::SLAFDepFibStatus::MergeFrom(from._internal_depresult()); + if (!from._internal_vrfname().empty()) { + _internal_set_vrfname(from._internal_vrfname()); + } + switch (from.client_case()) { + case kClientIDList: { + _internal_mutable_clientidlist()->::service_layer::SLAFClientIDList::MergeFrom(from._internal_clientidlist()); + break; + } + case kAllClients: { + _internal_set_allclients(from._internal_allclients()); + break; + } + case CLIENT_NOT_SET: { + break; + } } - if (from._internal_version() != 0) { - _internal_set_version(from._internal_version()); + switch (from.match_case()) { + case kTableList: { + _internal_mutable_tablelist()->::service_layer::SLTableTypeList::MergeFrom(from._internal_tablelist()); + break; + } + case kRouteMatchList: { + _internal_mutable_routematchlist()->::service_layer::SLAFGetMatchList::MergeFrom(from._internal_routematchlist()); + break; + } + case MATCH_NOT_SET: { + break; + } } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void SLAFFibStatus::CopyFrom(const SLAFFibStatus& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFFibStatus) +void SLAFGetMsg::CopyFrom(const SLAFGetMsg& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFGetMsg) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLAFFibStatus::IsInitialized() const { +bool SLAFGetMsg::IsInitialized() const { return true; } -void SLAFFibStatus::InternalSwap(SLAFFibStatus* other) { +void SLAFGetMsg::InternalSwap(SLAFGetMsg* other) { using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLAFFibStatus, version_) - + sizeof(SLAFFibStatus::version_) - - PROTOBUF_FIELD_OFFSET(SLAFFibStatus, depresult_)>( - reinterpret_cast(&depresult_), - reinterpret_cast(&other->depresult_)); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &vrfname_, lhs_arena, + &other->vrfname_, rhs_arena + ); + swap(client_, other->client_); + swap(match_, other->match_); + swap(_oneof_case_[0], other->_oneof_case_[0]); + swap(_oneof_case_[1], other->_oneof_case_[1]); } -::PROTOBUF_NAMESPACE_ID::Metadata SLAFFibStatus::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLAFGetMsg::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[14]); + file_level_metadata_sl_5faf_2eproto[19]); } // =================================================================== class SLAFGetMsgRspEntry::_Internal { public: - static const ::service_layer::SLAFOp& afop(const SLAFGetMsgRspEntry* msg); - static const ::service_layer::SLErrorStatus& errorcode(const SLAFGetMsgRspEntry* msg); + static const ::service_layer::SLAFOpMsg& afopmsg(const SLAFGetMsgRspEntry* msg); }; -const ::service_layer::SLAFOp& -SLAFGetMsgRspEntry::_Internal::afop(const SLAFGetMsgRspEntry* msg) { - return *msg->afop_; -} -const ::service_layer::SLErrorStatus& -SLAFGetMsgRspEntry::_Internal::errorcode(const SLAFGetMsgRspEntry* msg) { - return *msg->errorcode_; -} -void SLAFGetMsgRspEntry::clear_errorcode() { - if (GetArenaForAllocation() == nullptr && errorcode_ != nullptr) { - delete errorcode_; - } - errorcode_ = nullptr; +const ::service_layer::SLAFOpMsg& +SLAFGetMsgRspEntry::_Internal::afopmsg(const SLAFGetMsgRspEntry* msg) { + return *msg->afopmsg_; } SLAFGetMsgRspEntry::SLAFGetMsgRspEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) @@ -5198,25 +6492,20 @@ SLAFGetMsgRspEntry::SLAFGetMsgRspEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, SLAFGetMsgRspEntry::SLAFGetMsgRspEntry(const SLAFGetMsgRspEntry& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_afop()) { - afop_ = new ::service_layer::SLAFOp(*from.afop_); + if (from._internal_has_afopmsg()) { + afopmsg_ = new ::service_layer::SLAFOpMsg(*from.afopmsg_); } else { - afop_ = nullptr; + afopmsg_ = nullptr; } - if (from._internal_has_errorcode()) { - errorcode_ = new ::service_layer::SLErrorStatus(*from.errorcode_); - } else { - errorcode_ = nullptr; - } - version_ = from.version_; + fibstatus_ = from.fibstatus_; // @@protoc_insertion_point(copy_constructor:service_layer.SLAFGetMsgRspEntry) } inline void SLAFGetMsgRspEntry::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&afop_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&version_) - - reinterpret_cast(&afop_)) + sizeof(version_)); + reinterpret_cast(&afopmsg_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&fibstatus_) - + reinterpret_cast(&afopmsg_)) + sizeof(fibstatus_)); } SLAFGetMsgRspEntry::~SLAFGetMsgRspEntry() { @@ -5228,8 +6517,7 @@ SLAFGetMsgRspEntry::~SLAFGetMsgRspEntry() { inline void SLAFGetMsgRspEntry::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete afop_; - if (this != internal_default_instance()) delete errorcode_; + if (this != internal_default_instance()) delete afopmsg_; } void SLAFGetMsgRspEntry::ArenaDtor(void* object) { @@ -5248,15 +6536,11 @@ void SLAFGetMsgRspEntry::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && afop_ != nullptr) { - delete afop_; - } - afop_ = nullptr; - if (GetArenaForAllocation() == nullptr && errorcode_ != nullptr) { - delete errorcode_; + if (GetArenaForAllocation() == nullptr && afopmsg_ != nullptr) { + delete afopmsg_; } - errorcode_ = nullptr; - version_ = uint64_t{0u}; + afopmsg_ = nullptr; + fibstatus_ = 0; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -5266,27 +6550,20 @@ const char* SLAFGetMsgRspEntry::_InternalParse(const char* ptr, ::PROTOBUF_NAMES uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // .service_layer.SLAFOp AFOp = 1; + // .service_layer.SLAFOpMsg AFOpMsg = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_afop(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_afopmsg(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLErrorStatus ErrorCode = 2; + // .service_layer.SLAFFibStatus FIBStatus = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_errorcode(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // uint64 Version = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); + _internal_set_fibstatus(static_cast<::service_layer::SLAFFibStatus>(val)); } else goto handle_unusual; continue; @@ -5319,26 +6596,19 @@ uint8_t* SLAFGetMsgRspEntry::_InternalSerialize( uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLAFOp AFOp = 1; - if (this->_internal_has_afop()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 1, _Internal::afop(this), target, stream); - } - - // .service_layer.SLErrorStatus ErrorCode = 2; - if (this->_internal_has_errorcode()) { + // .service_layer.SLAFOpMsg AFOpMsg = 1; + if (this->_internal_has_afopmsg()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 2, _Internal::errorcode(this), target, stream); + 1, _Internal::afopmsg(this), target, stream); } - // uint64 Version = 3; - if (this->_internal_version() != 0) { + // .service_layer.SLAFFibStatus FIBStatus = 2; + if (this->_internal_fibstatus() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_version(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 2, this->_internal_fibstatus(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -5357,23 +6627,17 @@ size_t SLAFGetMsgRspEntry::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .service_layer.SLAFOp AFOp = 1; - if (this->_internal_has_afop()) { + // .service_layer.SLAFOpMsg AFOpMsg = 1; + if (this->_internal_has_afopmsg()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *afop_); + *afopmsg_); } - // .service_layer.SLErrorStatus ErrorCode = 2; - if (this->_internal_has_errorcode()) { + // .service_layer.SLAFFibStatus FIBStatus = 2; + if (this->_internal_fibstatus() != 0) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *errorcode_); - } - - // uint64 Version = 3; - if (this->_internal_version() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_version()); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fibstatus()); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); @@ -5398,14 +6662,11 @@ void SLAFGetMsgRspEntry::MergeFrom(const SLAFGetMsgRspEntry& from) { uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_afop()) { - _internal_mutable_afop()->::service_layer::SLAFOp::MergeFrom(from._internal_afop()); + if (from._internal_has_afopmsg()) { + _internal_mutable_afopmsg()->::service_layer::SLAFOpMsg::MergeFrom(from._internal_afopmsg()); } - if (from._internal_has_errorcode()) { - _internal_mutable_errorcode()->::service_layer::SLErrorStatus::MergeFrom(from._internal_errorcode()); - } - if (from._internal_version() != 0) { - _internal_set_version(from._internal_version()); + if (from._internal_fibstatus() != 0) { + _internal_set_fibstatus(from._internal_fibstatus()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -5425,17 +6686,17 @@ void SLAFGetMsgRspEntry::InternalSwap(SLAFGetMsgRspEntry* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLAFGetMsgRspEntry, version_) - + sizeof(SLAFGetMsgRspEntry::version_) - - PROTOBUF_FIELD_OFFSET(SLAFGetMsgRspEntry, afop_)>( - reinterpret_cast(&afop_), - reinterpret_cast(&other->afop_)); + PROTOBUF_FIELD_OFFSET(SLAFGetMsgRspEntry, fibstatus_) + + sizeof(SLAFGetMsgRspEntry::fibstatus_) + - PROTOBUF_FIELD_OFFSET(SLAFGetMsgRspEntry, afopmsg_)>( + reinterpret_cast(&afopmsg_), + reinterpret_cast(&other->afopmsg_)); } ::PROTOBUF_NAMESPACE_ID::Metadata SLAFGetMsgRspEntry::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[15]); + file_level_metadata_sl_5faf_2eproto[20]); } // =================================================================== @@ -5752,7 +7013,7 @@ void SLAFGetMsgRsp::InternalSwap(SLAFGetMsgRsp* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFGetMsgRsp::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[16]); + file_level_metadata_sl_5faf_2eproto[21]); } // =================================================================== @@ -5854,7 +7115,7 @@ const char* SLAFMsg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::in } else goto handle_unusual; continue; - // repeated .service_layer.SLAFOp OpList = 3; + // repeated .service_layer.SLAFOpMsg OpList = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { ptr -= 1; @@ -5913,7 +7174,7 @@ uint8_t* SLAFMsg::_InternalSerialize( 2, this->_internal_vrfname(), target); } - // repeated .service_layer.SLAFOp OpList = 3; + // repeated .service_layer.SLAFOpMsg OpList = 3; for (unsigned int i = 0, n = static_cast(this->_internal_oplist_size()); i < n; i++) { target = stream->EnsureSpace(target); @@ -5937,7 +7198,7 @@ size_t SLAFMsg::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .service_layer.SLAFOp OpList = 3; + // repeated .service_layer.SLAFOpMsg OpList = 3; total_size += 1UL * this->_internal_oplist_size(); for (const auto& msg : this->oplist_) { total_size += @@ -6017,35 +7278,30 @@ void SLAFMsg::InternalSwap(SLAFMsg* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFMsg::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[17]); + file_level_metadata_sl_5faf_2eproto[22]); } // =================================================================== class SLAFRes::_Internal { public: - static const ::service_layer::SLErrorStatus& errstatus(const SLAFRes* msg); - static const ::service_layer::SLAFOp& operation(const SLAFRes* msg); - static const ::service_layer::SLAFFibStatus& fibstatus(const SLAFRes* msg); + static const ::service_layer::SLErrorStatus& status(const SLAFRes* msg); + static const ::service_layer::SLAFObjectKey& key(const SLAFRes* msg); }; const ::service_layer::SLErrorStatus& -SLAFRes::_Internal::errstatus(const SLAFRes* msg) { - return *msg->errstatus_; +SLAFRes::_Internal::status(const SLAFRes* msg) { + return *msg->status_; } -const ::service_layer::SLAFOp& -SLAFRes::_Internal::operation(const SLAFRes* msg) { - return *msg->operation_; +const ::service_layer::SLAFObjectKey& +SLAFRes::_Internal::key(const SLAFRes* msg) { + return *msg->key_; } -const ::service_layer::SLAFFibStatus& -SLAFRes::_Internal::fibstatus(const SLAFRes* msg) { - return *msg->fibstatus_; -} -void SLAFRes::clear_errstatus() { - if (GetArenaForAllocation() == nullptr && errstatus_ != nullptr) { - delete errstatus_; +void SLAFRes::clear_status() { + if (GetArenaForAllocation() == nullptr && status_ != nullptr) { + delete status_; } - errstatus_ = nullptr; + status_ = nullptr; } SLAFRes::SLAFRes(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) @@ -6067,21 +7323,19 @@ SLAFRes::SLAFRes(const SLAFRes& from) errorstring_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_errorstring(), GetArenaForAllocation()); } - if (from._internal_has_errstatus()) { - errstatus_ = new ::service_layer::SLErrorStatus(*from.errstatus_); - } else { - errstatus_ = nullptr; - } - if (from._internal_has_operation()) { - operation_ = new ::service_layer::SLAFOp(*from.operation_); + if (from._internal_has_status()) { + status_ = new ::service_layer::SLErrorStatus(*from.status_); } else { - operation_ = nullptr; + status_ = nullptr; } - if (from._internal_has_fibstatus()) { - fibstatus_ = new ::service_layer::SLAFFibStatus(*from.fibstatus_); + if (from._internal_has_key()) { + key_ = new ::service_layer::SLAFObjectKey(*from.key_); } else { - fibstatus_ = nullptr; + key_ = nullptr; } + ::memcpy(&operationid_, &from.operationid_, + static_cast(reinterpret_cast(&fibstatus_) - + reinterpret_cast(&operationid_)) + sizeof(fibstatus_)); // @@protoc_insertion_point(copy_constructor:service_layer.SLAFRes) } @@ -6091,9 +7345,9 @@ errorstring_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString errorstring_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&errstatus_) - reinterpret_cast(this)), + reinterpret_cast(&status_) - reinterpret_cast(this)), 0, static_cast(reinterpret_cast(&fibstatus_) - - reinterpret_cast(&errstatus_)) + sizeof(fibstatus_)); + reinterpret_cast(&status_)) + sizeof(fibstatus_)); } SLAFRes::~SLAFRes() { @@ -6106,9 +7360,8 @@ SLAFRes::~SLAFRes() { inline void SLAFRes::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); errorstring_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete errstatus_; - if (this != internal_default_instance()) delete operation_; - if (this != internal_default_instance()) delete fibstatus_; + if (this != internal_default_instance()) delete status_; + if (this != internal_default_instance()) delete key_; } void SLAFRes::ArenaDtor(void* object) { @@ -6128,18 +7381,17 @@ void SLAFRes::Clear() { (void) cached_has_bits; errorstring_.ClearToEmpty(); - if (GetArenaForAllocation() == nullptr && errstatus_ != nullptr) { - delete errstatus_; + if (GetArenaForAllocation() == nullptr && status_ != nullptr) { + delete status_; } - errstatus_ = nullptr; - if (GetArenaForAllocation() == nullptr && operation_ != nullptr) { - delete operation_; - } - operation_ = nullptr; - if (GetArenaForAllocation() == nullptr && fibstatus_ != nullptr) { - delete fibstatus_; + status_ = nullptr; + if (GetArenaForAllocation() == nullptr && key_ != nullptr) { + delete key_; } - fibstatus_ = nullptr; + key_ = nullptr; + ::memset(&operationid_, 0, static_cast( + reinterpret_cast(&fibstatus_) - + reinterpret_cast(&operationid_)) + sizeof(fibstatus_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -6149,36 +7401,45 @@ const char* SLAFRes::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::in uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // .service_layer.SLErrorStatus ErrStatus = 1; + // .service_layer.SLErrorStatus Status = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_errstatus(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_status(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLAFOp Operation = 2; + // .service_layer.SLAFObjectKey Key = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_operation(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_key(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // string ErrorString = 3; + // uint64 OperationID = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - auto str = _internal_mutable_errorstring(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLAFRes.ErrorString")); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + operationid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; // .service_layer.SLAFFibStatus FIBStatus = 4; case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_fibstatus(), ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_fibstatus(static_cast<::service_layer::SLAFFibStatus>(val)); + } else + goto handle_unusual; + continue; + // string ErrorString = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + auto str = _internal_mutable_errorstring(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLAFRes.ErrorString")); CHK_(ptr); } else goto handle_unusual; @@ -6212,38 +7473,43 @@ uint8_t* SLAFRes::_InternalSerialize( uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLErrorStatus ErrStatus = 1; - if (this->_internal_has_errstatus()) { + // .service_layer.SLErrorStatus Status = 1; + if (this->_internal_has_status()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 1, _Internal::errstatus(this), target, stream); + 1, _Internal::status(this), target, stream); } - // .service_layer.SLAFOp Operation = 2; - if (this->_internal_has_operation()) { + // .service_layer.SLAFObjectKey Key = 2; + if (this->_internal_has_key()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 2, _Internal::operation(this), target, stream); + 2, _Internal::key(this), target, stream); + } + + // uint64 OperationID = 3; + if (this->_internal_operationid() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_operationid(), target); + } + + // .service_layer.SLAFFibStatus FIBStatus = 4; + if (this->_internal_fibstatus() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 4, this->_internal_fibstatus(), target); } - // string ErrorString = 3; + // string ErrorString = 5; if (!this->_internal_errorstring().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_errorstring().data(), static_cast(this->_internal_errorstring().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "service_layer.SLAFRes.ErrorString"); target = stream->WriteStringMaybeAliased( - 3, this->_internal_errorstring(), target); - } - - // .service_layer.SLAFFibStatus FIBStatus = 4; - if (this->_internal_has_fibstatus()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 4, _Internal::fibstatus(this), target, stream); + 5, this->_internal_errorstring(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -6262,32 +7528,36 @@ size_t SLAFRes::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string ErrorString = 3; + // string ErrorString = 5; if (!this->_internal_errorstring().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_errorstring()); } - // .service_layer.SLErrorStatus ErrStatus = 1; - if (this->_internal_has_errstatus()) { + // .service_layer.SLErrorStatus Status = 1; + if (this->_internal_has_status()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *errstatus_); + *status_); } - // .service_layer.SLAFOp Operation = 2; - if (this->_internal_has_operation()) { + // .service_layer.SLAFObjectKey Key = 2; + if (this->_internal_has_key()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *operation_); + *key_); + } + + // uint64 OperationID = 3; + if (this->_internal_operationid() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_operationid()); } // .service_layer.SLAFFibStatus FIBStatus = 4; - if (this->_internal_has_fibstatus()) { + if (this->_internal_fibstatus() != 0) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *fibstatus_); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_fibstatus()); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); @@ -6315,14 +7585,17 @@ void SLAFRes::MergeFrom(const SLAFRes& from) { if (!from._internal_errorstring().empty()) { _internal_set_errorstring(from._internal_errorstring()); } - if (from._internal_has_errstatus()) { - _internal_mutable_errstatus()->::service_layer::SLErrorStatus::MergeFrom(from._internal_errstatus()); + if (from._internal_has_status()) { + _internal_mutable_status()->::service_layer::SLErrorStatus::MergeFrom(from._internal_status()); + } + if (from._internal_has_key()) { + _internal_mutable_key()->::service_layer::SLAFObjectKey::MergeFrom(from._internal_key()); } - if (from._internal_has_operation()) { - _internal_mutable_operation()->::service_layer::SLAFOp::MergeFrom(from._internal_operation()); + if (from._internal_operationid() != 0) { + _internal_set_operationid(from._internal_operationid()); } - if (from._internal_has_fibstatus()) { - _internal_mutable_fibstatus()->::service_layer::SLAFFibStatus::MergeFrom(from._internal_fibstatus()); + if (from._internal_fibstatus() != 0) { + _internal_set_fibstatus(from._internal_fibstatus()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -6351,15 +7624,15 @@ void SLAFRes::InternalSwap(SLAFRes* other) { ::PROTOBUF_NAMESPACE_ID::internal::memswap< PROTOBUF_FIELD_OFFSET(SLAFRes, fibstatus_) + sizeof(SLAFRes::fibstatus_) - - PROTOBUF_FIELD_OFFSET(SLAFRes, errstatus_)>( - reinterpret_cast(&errstatus_), - reinterpret_cast(&other->errstatus_)); + - PROTOBUF_FIELD_OFFSET(SLAFRes, status_)>( + reinterpret_cast(&status_), + reinterpret_cast(&other->status_)); } ::PROTOBUF_NAMESPACE_ID::Metadata SLAFRes::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[18]); + file_level_metadata_sl_5faf_2eproto[23]); } // =================================================================== @@ -6595,7 +7868,7 @@ void SLAFMsgRsp::InternalSwap(SLAFMsgRsp* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFMsgRsp::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[19]); + file_level_metadata_sl_5faf_2eproto[24]); } // =================================================================== @@ -6876,25 +8149,25 @@ void SLAFRedistRegMsg::InternalSwap(SLAFRedistRegMsg* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFRedistRegMsg::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[20]); + file_level_metadata_sl_5faf_2eproto[25]); } // =================================================================== class SLAFNextHopRegKey_SLNextHopKey::_Internal { public: - static const ::service_layer::SLIpAddress& nexthop(const SLAFNextHopRegKey_SLNextHopKey* msg); + static const ::service_layer::SLRoutePrefix& nexthopip(const SLAFNextHopRegKey_SLNextHopKey* msg); }; -const ::service_layer::SLIpAddress& -SLAFNextHopRegKey_SLNextHopKey::_Internal::nexthop(const SLAFNextHopRegKey_SLNextHopKey* msg) { - return *msg->nexthop_; +const ::service_layer::SLRoutePrefix& +SLAFNextHopRegKey_SLNextHopKey::_Internal::nexthopip(const SLAFNextHopRegKey_SLNextHopKey* msg) { + return *msg->nexthopip_; } -void SLAFNextHopRegKey_SLNextHopKey::clear_nexthop() { - if (GetArenaForAllocation() == nullptr && nexthop_ != nullptr) { - delete nexthop_; +void SLAFNextHopRegKey_SLNextHopKey::clear_nexthopip() { + if (GetArenaForAllocation() == nullptr && nexthopip_ != nullptr) { + delete nexthopip_; } - nexthop_ = nullptr; + nexthopip_ = nullptr; } SLAFNextHopRegKey_SLNextHopKey::SLAFNextHopRegKey_SLNextHopKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) @@ -6908,22 +8181,22 @@ SLAFNextHopRegKey_SLNextHopKey::SLAFNextHopRegKey_SLNextHopKey(::PROTOBUF_NAMESP SLAFNextHopRegKey_SLNextHopKey::SLAFNextHopRegKey_SLNextHopKey(const SLAFNextHopRegKey_SLNextHopKey& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_nexthop()) { - nexthop_ = new ::service_layer::SLIpAddress(*from.nexthop_); + if (from._internal_has_nexthopip()) { + nexthopip_ = new ::service_layer::SLRoutePrefix(*from.nexthopip_); } else { - nexthop_ = nullptr; + nexthopip_ = nullptr; } - ::memcpy(&nexthoplen_, &from.nexthoplen_, + ::memcpy(&exactmatch_, &from.exactmatch_, static_cast(reinterpret_cast(&recurse_) - - reinterpret_cast(&nexthoplen_)) + sizeof(recurse_)); + reinterpret_cast(&exactmatch_)) + sizeof(recurse_)); // @@protoc_insertion_point(copy_constructor:service_layer.SLAFNextHopRegKey.SLNextHopKey) } inline void SLAFNextHopRegKey_SLNextHopKey::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&nexthop_) - reinterpret_cast(this)), + reinterpret_cast(&nexthopip_) - reinterpret_cast(this)), 0, static_cast(reinterpret_cast(&recurse_) - - reinterpret_cast(&nexthop_)) + sizeof(recurse_)); + reinterpret_cast(&nexthopip_)) + sizeof(recurse_)); } SLAFNextHopRegKey_SLNextHopKey::~SLAFNextHopRegKey_SLNextHopKey() { @@ -6935,7 +8208,7 @@ SLAFNextHopRegKey_SLNextHopKey::~SLAFNextHopRegKey_SLNextHopKey() { inline void SLAFNextHopRegKey_SLNextHopKey::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete nexthop_; + if (this != internal_default_instance()) delete nexthopip_; } void SLAFNextHopRegKey_SLNextHopKey::ArenaDtor(void* object) { @@ -6954,13 +8227,13 @@ void SLAFNextHopRegKey_SLNextHopKey::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && nexthop_ != nullptr) { - delete nexthop_; + if (GetArenaForAllocation() == nullptr && nexthopip_ != nullptr) { + delete nexthopip_; } - nexthop_ = nullptr; - ::memset(&nexthoplen_, 0, static_cast( + nexthopip_ = nullptr; + ::memset(&exactmatch_, 0, static_cast( reinterpret_cast(&recurse_) - - reinterpret_cast(&nexthoplen_)) + sizeof(recurse_)); + reinterpret_cast(&exactmatch_)) + sizeof(recurse_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -6970,41 +8243,33 @@ const char* SLAFNextHopRegKey_SLNextHopKey::_InternalParse(const char* ptr, ::PR uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // .service_layer.SLIpAddress NextHop = 1; + // .service_layer.SLRoutePrefix NextHopIP = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_nexthop(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_nexthopip(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // uint32 NextHopLen = 2; + // bool ExactMatch = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - nexthoplen_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + exactmatch_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // bool ExactMatch = 3; + // bool AllowDefault = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - exactmatch_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + allowdefault_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // bool AllowDefault = 4; + // bool Recurse = 4; case 4: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - allowdefault_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // bool Recurse = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { recurse_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else @@ -7039,36 +8304,30 @@ uint8_t* SLAFNextHopRegKey_SLNextHopKey::_InternalSerialize( uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLIpAddress NextHop = 1; - if (this->_internal_has_nexthop()) { + // .service_layer.SLRoutePrefix NextHopIP = 1; + if (this->_internal_has_nexthopip()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 1, _Internal::nexthop(this), target, stream); - } - - // uint32 NextHopLen = 2; - if (this->_internal_nexthoplen() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_nexthoplen(), target); + 1, _Internal::nexthopip(this), target, stream); } - // bool ExactMatch = 3; + // bool ExactMatch = 2; if (this->_internal_exactmatch() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_exactmatch(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_exactmatch(), target); } - // bool AllowDefault = 4; + // bool AllowDefault = 3; if (this->_internal_allowdefault() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_allowdefault(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_allowdefault(), target); } - // bool Recurse = 5; + // bool Recurse = 4; if (this->_internal_recurse() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_recurse(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_recurse(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -7087,29 +8346,24 @@ size_t SLAFNextHopRegKey_SLNextHopKey::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .service_layer.SLIpAddress NextHop = 1; - if (this->_internal_has_nexthop()) { + // .service_layer.SLRoutePrefix NextHopIP = 1; + if (this->_internal_has_nexthopip()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *nexthop_); - } - - // uint32 NextHopLen = 2; - if (this->_internal_nexthoplen() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_nexthoplen()); + *nexthopip_); } - // bool ExactMatch = 3; + // bool ExactMatch = 2; if (this->_internal_exactmatch() != 0) { total_size += 1 + 1; } - // bool AllowDefault = 4; + // bool AllowDefault = 3; if (this->_internal_allowdefault() != 0) { total_size += 1 + 1; } - // bool Recurse = 5; + // bool Recurse = 4; if (this->_internal_recurse() != 0) { total_size += 1 + 1; } @@ -7136,11 +8390,8 @@ void SLAFNextHopRegKey_SLNextHopKey::MergeFrom(const SLAFNextHopRegKey_SLNextHop uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_nexthop()) { - _internal_mutable_nexthop()->::service_layer::SLIpAddress::MergeFrom(from._internal_nexthop()); - } - if (from._internal_nexthoplen() != 0) { - _internal_set_nexthoplen(from._internal_nexthoplen()); + if (from._internal_has_nexthopip()) { + _internal_mutable_nexthopip()->::service_layer::SLRoutePrefix::MergeFrom(from._internal_nexthopip()); } if (from._internal_exactmatch() != 0) { _internal_set_exactmatch(from._internal_exactmatch()); @@ -7171,15 +8422,15 @@ void SLAFNextHopRegKey_SLNextHopKey::InternalSwap(SLAFNextHopRegKey_SLNextHopKey ::PROTOBUF_NAMESPACE_ID::internal::memswap< PROTOBUF_FIELD_OFFSET(SLAFNextHopRegKey_SLNextHopKey, recurse_) + sizeof(SLAFNextHopRegKey_SLNextHopKey::recurse_) - - PROTOBUF_FIELD_OFFSET(SLAFNextHopRegKey_SLNextHopKey, nexthop_)>( - reinterpret_cast(&nexthop_), - reinterpret_cast(&other->nexthop_)); + - PROTOBUF_FIELD_OFFSET(SLAFNextHopRegKey_SLNextHopKey, nexthopip_)>( + reinterpret_cast(&nexthopip_), + reinterpret_cast(&other->nexthopip_)); } ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNextHopRegKey_SLNextHopKey::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[21]); + file_level_metadata_sl_5faf_2eproto[26]); } // =================================================================== @@ -7422,7 +8673,7 @@ void SLAFNextHopRegKey::InternalSwap(SLAFNextHopRegKey* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNextHopRegKey::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[22]); + file_level_metadata_sl_5faf_2eproto[27]); } // =================================================================== @@ -7617,7 +8868,7 @@ void SLAFNextHopRegMsg::InternalSwap(SLAFNextHopRegMsg* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNextHopRegMsg::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[23]); + file_level_metadata_sl_5faf_2eproto[28]); } // =================================================================== @@ -7943,7 +9194,7 @@ void SLAFNotifRegReq::InternalSwap(SLAFNotifRegReq* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNotifRegReq::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[24]); + file_level_metadata_sl_5faf_2eproto[29]); } // =================================================================== @@ -8208,7 +9459,7 @@ void SLAFNotifReq::InternalSwap(SLAFNotifReq* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNotifReq::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[25]); + file_level_metadata_sl_5faf_2eproto[30]); } // =================================================================== @@ -8458,7 +9709,7 @@ void SLAFNotifRsp::InternalSwap(SLAFNotifRsp* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNotifRsp::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[26]); + file_level_metadata_sl_5faf_2eproto[31]); } // =================================================================== @@ -8466,22 +9717,22 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNotifRsp::GetMetadata() const { class SLNextHop::_Internal { public: static const ::service_layer::SLAFNextHopRegKey& nexthopkey(const SLNextHop* msg); - static const ::service_layer::SLIpAddress& resolvingroute(const SLNextHop* msg); + static const ::service_layer::SLRoutePrefix& resolvingprefix(const SLNextHop* msg); }; const ::service_layer::SLAFNextHopRegKey& SLNextHop::_Internal::nexthopkey(const SLNextHop* msg) { return *msg->nexthopkey_; } -const ::service_layer::SLIpAddress& -SLNextHop::_Internal::resolvingroute(const SLNextHop* msg) { - return *msg->resolvingroute_; +const ::service_layer::SLRoutePrefix& +SLNextHop::_Internal::resolvingprefix(const SLNextHop* msg) { + return *msg->resolvingprefix_; } -void SLNextHop::clear_resolvingroute() { - if (GetArenaForAllocation() == nullptr && resolvingroute_ != nullptr) { - delete resolvingroute_; +void SLNextHop::clear_resolvingprefix() { + if (GetArenaForAllocation() == nullptr && resolvingprefix_ != nullptr) { + delete resolvingprefix_; } - resolvingroute_ = nullptr; + resolvingprefix_ = nullptr; } void SLNextHop::clear_paths() { paths_.Clear(); @@ -8521,14 +9772,14 @@ SLNextHop::SLNextHop(const SLNextHop& from) } else { nexthopkey_ = nullptr; } - if (from._internal_has_resolvingroute()) { - resolvingroute_ = new ::service_layer::SLIpAddress(*from.resolvingroute_); + if (from._internal_has_resolvingprefix()) { + resolvingprefix_ = new ::service_layer::SLRoutePrefix(*from.resolvingprefix_); } else { - resolvingroute_ = nullptr; + resolvingprefix_ = nullptr; } - ::memcpy(&resolvingroutelen_, &from.resolvingroutelen_, + ::memcpy(&admindistance_, &from.admindistance_, static_cast(reinterpret_cast(&metric_) - - reinterpret_cast(&resolvingroutelen_)) + sizeof(metric_)); + reinterpret_cast(&admindistance_)) + sizeof(metric_)); // @@protoc_insertion_point(copy_constructor:service_layer.SLNextHop) } @@ -8559,7 +9810,7 @@ inline void SLNextHop::SharedDtor() { srcproto_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); srcprototag_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete nexthopkey_; - if (this != internal_default_instance()) delete resolvingroute_; + if (this != internal_default_instance()) delete resolvingprefix_; } void SLNextHop::ArenaDtor(void* object) { @@ -8585,13 +9836,13 @@ void SLNextHop::Clear() { delete nexthopkey_; } nexthopkey_ = nullptr; - if (GetArenaForAllocation() == nullptr && resolvingroute_ != nullptr) { - delete resolvingroute_; + if (GetArenaForAllocation() == nullptr && resolvingprefix_ != nullptr) { + delete resolvingprefix_; } - resolvingroute_ = nullptr; - ::memset(&resolvingroutelen_, 0, static_cast( + resolvingprefix_ = nullptr; + ::memset(&admindistance_, 0, static_cast( reinterpret_cast(&metric_) - - reinterpret_cast(&resolvingroutelen_)) + sizeof(metric_)); + reinterpret_cast(&admindistance_)) + sizeof(metric_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -8609,25 +9860,17 @@ const char* SLNextHop::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: } else goto handle_unusual; continue; - // .service_layer.SLIpAddress ResolvingRoute = 2; + // .service_layer.SLRoutePrefix ResolvingPrefix = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_resolvingroute(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_resolvingprefix(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // uint32 ResolvingRouteLen = 3; + // string SrcProto = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - resolvingroutelen_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // string SrcProto = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { auto str = _internal_mutable_srcproto(); ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLNextHop.SrcProto")); @@ -8635,9 +9878,9 @@ const char* SLNextHop::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: } else goto handle_unusual; continue; - // string SrcProtoTag = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + // string SrcProtoTag = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { auto str = _internal_mutable_srcprototag(); ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLNextHop.SrcProtoTag")); @@ -8645,32 +9888,32 @@ const char* SLNextHop::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: } else goto handle_unusual; continue; - // uint32 AdminDistance = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { + // uint32 AdminDistance = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { admindistance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // uint32 Metric = 7; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { + // uint32 Metric = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { metric_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // repeated .service_layer.SLRoutePath Paths = 8; - case 8: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + // repeated .service_layer.SLRoutePath Paths = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { ptr -= 1; do { ptr += 1; ptr = ctx->ParseMessage(_internal_add_paths(), ptr); CHK_(ptr); if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr)); + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr)); } else goto handle_unusual; continue; @@ -8711,58 +9954,52 @@ uint8_t* SLNextHop::_InternalSerialize( 1, _Internal::nexthopkey(this), target, stream); } - // .service_layer.SLIpAddress ResolvingRoute = 2; - if (this->_internal_has_resolvingroute()) { + // .service_layer.SLRoutePrefix ResolvingPrefix = 2; + if (this->_internal_has_resolvingprefix()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 2, _Internal::resolvingroute(this), target, stream); - } - - // uint32 ResolvingRouteLen = 3; - if (this->_internal_resolvingroutelen() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_resolvingroutelen(), target); + 2, _Internal::resolvingprefix(this), target, stream); } - // string SrcProto = 4; + // string SrcProto = 3; if (!this->_internal_srcproto().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_srcproto().data(), static_cast(this->_internal_srcproto().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "service_layer.SLNextHop.SrcProto"); target = stream->WriteStringMaybeAliased( - 4, this->_internal_srcproto(), target); + 3, this->_internal_srcproto(), target); } - // string SrcProtoTag = 5; + // string SrcProtoTag = 4; if (!this->_internal_srcprototag().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_srcprototag().data(), static_cast(this->_internal_srcprototag().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "service_layer.SLNextHop.SrcProtoTag"); target = stream->WriteStringMaybeAliased( - 5, this->_internal_srcprototag(), target); + 4, this->_internal_srcprototag(), target); } - // uint32 AdminDistance = 6; + // uint32 AdminDistance = 5; if (this->_internal_admindistance() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_admindistance(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_admindistance(), target); } - // uint32 Metric = 7; + // uint32 Metric = 6; if (this->_internal_metric() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_metric(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_metric(), target); } - // repeated .service_layer.SLRoutePath Paths = 8; + // repeated .service_layer.SLRoutePath Paths = 7; for (unsigned int i = 0, n = static_cast(this->_internal_paths_size()); i < n; i++) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(8, this->_internal_paths(i), target, stream); + InternalWriteMessage(7, this->_internal_paths(i), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -8781,21 +10018,21 @@ size_t SLNextHop::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .service_layer.SLRoutePath Paths = 8; + // repeated .service_layer.SLRoutePath Paths = 7; total_size += 1UL * this->_internal_paths_size(); for (const auto& msg : this->paths_) { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // string SrcProto = 4; + // string SrcProto = 3; if (!this->_internal_srcproto().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_srcproto()); } - // string SrcProtoTag = 5; + // string SrcProtoTag = 4; if (!this->_internal_srcprototag().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( @@ -8809,24 +10046,19 @@ size_t SLNextHop::ByteSizeLong() const { *nexthopkey_); } - // .service_layer.SLIpAddress ResolvingRoute = 2; - if (this->_internal_has_resolvingroute()) { + // .service_layer.SLRoutePrefix ResolvingPrefix = 2; + if (this->_internal_has_resolvingprefix()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *resolvingroute_); + *resolvingprefix_); } - // uint32 ResolvingRouteLen = 3; - if (this->_internal_resolvingroutelen() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_resolvingroutelen()); - } - - // uint32 AdminDistance = 6; + // uint32 AdminDistance = 5; if (this->_internal_admindistance() != 0) { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_admindistance()); } - // uint32 Metric = 7; + // uint32 Metric = 6; if (this->_internal_metric() != 0) { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_metric()); } @@ -8863,11 +10095,8 @@ void SLNextHop::MergeFrom(const SLNextHop& from) { if (from._internal_has_nexthopkey()) { _internal_mutable_nexthopkey()->::service_layer::SLAFNextHopRegKey::MergeFrom(from._internal_nexthopkey()); } - if (from._internal_has_resolvingroute()) { - _internal_mutable_resolvingroute()->::service_layer::SLIpAddress::MergeFrom(from._internal_resolvingroute()); - } - if (from._internal_resolvingroutelen() != 0) { - _internal_set_resolvingroutelen(from._internal_resolvingroutelen()); + if (from._internal_has_resolvingprefix()) { + _internal_mutable_resolvingprefix()->::service_layer::SLRoutePrefix::MergeFrom(from._internal_resolvingprefix()); } if (from._internal_admindistance() != 0) { _internal_set_admindistance(from._internal_admindistance()); @@ -8916,7 +10145,7 @@ void SLNextHop::InternalSwap(SLNextHop* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLNextHop::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[27]); + file_level_metadata_sl_5faf_2eproto[32]); } // =================================================================== @@ -9097,7 +10326,7 @@ void SLAFNotif_SLRedistMarker::InternalSwap(SLAFNotif_SLRedistMarker* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNotif_SLRedistMarker::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[28]); + file_level_metadata_sl_5faf_2eproto[33]); } // =================================================================== @@ -9568,7 +10797,7 @@ void SLAFNotif::InternalSwap(SLAFNotif* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNotif::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[29]); + file_level_metadata_sl_5faf_2eproto[34]); } // =================================================================== @@ -9804,7 +11033,7 @@ void SLAFNotifMsg::InternalSwap(SLAFNotifMsg* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLAFNotifMsg::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5faf_2eproto_getter, &descriptor_table_sl_5faf_2eproto_once, - file_level_metadata_sl_5faf_2eproto[30]); + file_level_metadata_sl_5faf_2eproto[35]); } // @@protoc_insertion_point(namespace_scope) @@ -9837,23 +11066,38 @@ template<> PROTOBUF_NOINLINE ::service_layer::SLPathGroup_SLPathList* Arena::Cre template<> PROTOBUF_NOINLINE ::service_layer::SLPathGroup* Arena::CreateMaybeMessage< ::service_layer::SLPathGroup >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLPathGroup >(arena); } +template<> PROTOBUF_NOINLINE ::service_layer::SLMplsEntryKey* Arena::CreateMaybeMessage< ::service_layer::SLMplsEntryKey >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLMplsEntryKey >(arena); +} template<> PROTOBUF_NOINLINE ::service_layer::SLMplsEntry* Arena::CreateMaybeMessage< ::service_layer::SLMplsEntry >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLMplsEntry >(arena); } +template<> PROTOBUF_NOINLINE ::service_layer::SLAFIPRoute* Arena::CreateMaybeMessage< ::service_layer::SLAFIPRoute >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLAFIPRoute >(arena); +} template<> PROTOBUF_NOINLINE ::service_layer::SLAFObject* Arena::CreateMaybeMessage< ::service_layer::SLAFObject >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLAFObject >(arena); } -template<> PROTOBUF_NOINLINE ::service_layer::SLAFOp* Arena::CreateMaybeMessage< ::service_layer::SLAFOp >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLAFOp >(arena); +template<> PROTOBUF_NOINLINE ::service_layer::SLAFOpMsg* Arena::CreateMaybeMessage< ::service_layer::SLAFOpMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLAFOpMsg >(arena); } -template<> PROTOBUF_NOINLINE ::service_layer::SLAFGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLAFGetMsg >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLAFGetMsg >(arena); +template<> PROTOBUF_NOINLINE ::service_layer::SLAFClientIDList* Arena::CreateMaybeMessage< ::service_layer::SLAFClientIDList >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLAFClientIDList >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLTableTypeList* Arena::CreateMaybeMessage< ::service_layer::SLTableTypeList >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLTableTypeList >(arena); } -template<> PROTOBUF_NOINLINE ::service_layer::SLAFDepFibStatus* Arena::CreateMaybeMessage< ::service_layer::SLAFDepFibStatus >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLAFDepFibStatus >(arena); +template<> PROTOBUF_NOINLINE ::service_layer::SLAFObjectKey* Arena::CreateMaybeMessage< ::service_layer::SLAFObjectKey >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLAFObjectKey >(arena); } -template<> PROTOBUF_NOINLINE ::service_layer::SLAFFibStatus* Arena::CreateMaybeMessage< ::service_layer::SLAFFibStatus >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLAFFibStatus >(arena); +template<> PROTOBUF_NOINLINE ::service_layer::SLAFGetMatch* Arena::CreateMaybeMessage< ::service_layer::SLAFGetMatch >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLAFGetMatch >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLAFGetMatchList* Arena::CreateMaybeMessage< ::service_layer::SLAFGetMatchList >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLAFGetMatchList >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLAFGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLAFGetMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLAFGetMsg >(arena); } template<> PROTOBUF_NOINLINE ::service_layer::SLAFGetMsgRspEntry* Arena::CreateMaybeMessage< ::service_layer::SLAFGetMsgRspEntry >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLAFGetMsgRspEntry >(arena); diff --git a/grpc/cpp/src/gencpp/sl_af.pb.h b/grpc/cpp/src/gencpp/sl_af.pb.h index 66c0e8b..75c5481 100644 --- a/grpc/cpp/src/gencpp/sl_af.pb.h +++ b/grpc/cpp/src/gencpp/sl_af.pb.h @@ -33,8 +33,6 @@ #include #include "sl_common_types.pb.h" #include "sl_route_common.pb.h" -#include "sl_route_ipv4.pb.h" -#include "sl_route_ipv6.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_sl_5faf_2eproto @@ -50,7 +48,7 @@ struct TableStruct_sl_5faf_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[31] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[36] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -58,12 +56,15 @@ struct TableStruct_sl_5faf_2eproto { }; extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5faf_2eproto; namespace service_layer { -class SLAFDepFibStatus; -struct SLAFDepFibStatusDefaultTypeInternal; -extern SLAFDepFibStatusDefaultTypeInternal _SLAFDepFibStatus_default_instance_; -class SLAFFibStatus; -struct SLAFFibStatusDefaultTypeInternal; -extern SLAFFibStatusDefaultTypeInternal _SLAFFibStatus_default_instance_; +class SLAFClientIDList; +struct SLAFClientIDListDefaultTypeInternal; +extern SLAFClientIDListDefaultTypeInternal _SLAFClientIDList_default_instance_; +class SLAFGetMatch; +struct SLAFGetMatchDefaultTypeInternal; +extern SLAFGetMatchDefaultTypeInternal _SLAFGetMatch_default_instance_; +class SLAFGetMatchList; +struct SLAFGetMatchListDefaultTypeInternal; +extern SLAFGetMatchListDefaultTypeInternal _SLAFGetMatchList_default_instance_; class SLAFGetMsg; struct SLAFGetMsgDefaultTypeInternal; extern SLAFGetMsgDefaultTypeInternal _SLAFGetMsg_default_instance_; @@ -73,6 +74,9 @@ extern SLAFGetMsgRspDefaultTypeInternal _SLAFGetMsgRsp_default_instance_; class SLAFGetMsgRspEntry; struct SLAFGetMsgRspEntryDefaultTypeInternal; extern SLAFGetMsgRspEntryDefaultTypeInternal _SLAFGetMsgRspEntry_default_instance_; +class SLAFIPRoute; +struct SLAFIPRouteDefaultTypeInternal; +extern SLAFIPRouteDefaultTypeInternal _SLAFIPRoute_default_instance_; class SLAFMsg; struct SLAFMsgDefaultTypeInternal; extern SLAFMsgDefaultTypeInternal _SLAFMsg_default_instance_; @@ -109,9 +113,12 @@ extern SLAFNotif_SLRedistMarkerDefaultTypeInternal _SLAFNotif_SLRedistMarker_def class SLAFObject; struct SLAFObjectDefaultTypeInternal; extern SLAFObjectDefaultTypeInternal _SLAFObject_default_instance_; -class SLAFOp; -struct SLAFOpDefaultTypeInternal; -extern SLAFOpDefaultTypeInternal _SLAFOp_default_instance_; +class SLAFObjectKey; +struct SLAFObjectKeyDefaultTypeInternal; +extern SLAFObjectKeyDefaultTypeInternal _SLAFObjectKey_default_instance_; +class SLAFOpMsg; +struct SLAFOpMsgDefaultTypeInternal; +extern SLAFOpMsgDefaultTypeInternal _SLAFOpMsg_default_instance_; class SLAFRedistRegMsg; struct SLAFRedistRegMsgDefaultTypeInternal; extern SLAFRedistRegMsgDefaultTypeInternal _SLAFRedistRegMsg_default_instance_; @@ -139,6 +146,9 @@ extern SLAFVrfRegMsgRspDefaultTypeInternal _SLAFVrfRegMsgRsp_default_instance_; class SLMplsEntry; struct SLMplsEntryDefaultTypeInternal; extern SLMplsEntryDefaultTypeInternal _SLMplsEntry_default_instance_; +class SLMplsEntryKey; +struct SLMplsEntryKeyDefaultTypeInternal; +extern SLMplsEntryKeyDefaultTypeInternal _SLMplsEntryKey_default_instance_; class SLNextHop; struct SLNextHopDefaultTypeInternal; extern SLNextHopDefaultTypeInternal _SLNextHop_default_instance_; @@ -151,13 +161,18 @@ extern SLPathGroup_SLPathDefaultTypeInternal _SLPathGroup_SLPath_default_instanc class SLPathGroup_SLPathList; struct SLPathGroup_SLPathListDefaultTypeInternal; extern SLPathGroup_SLPathListDefaultTypeInternal _SLPathGroup_SLPathList_default_instance_; +class SLTableTypeList; +struct SLTableTypeListDefaultTypeInternal; +extern SLTableTypeListDefaultTypeInternal _SLTableTypeList_default_instance_; } // namespace service_layer PROTOBUF_NAMESPACE_OPEN -template<> ::service_layer::SLAFDepFibStatus* Arena::CreateMaybeMessage<::service_layer::SLAFDepFibStatus>(Arena*); -template<> ::service_layer::SLAFFibStatus* Arena::CreateMaybeMessage<::service_layer::SLAFFibStatus>(Arena*); +template<> ::service_layer::SLAFClientIDList* Arena::CreateMaybeMessage<::service_layer::SLAFClientIDList>(Arena*); +template<> ::service_layer::SLAFGetMatch* Arena::CreateMaybeMessage<::service_layer::SLAFGetMatch>(Arena*); +template<> ::service_layer::SLAFGetMatchList* Arena::CreateMaybeMessage<::service_layer::SLAFGetMatchList>(Arena*); template<> ::service_layer::SLAFGetMsg* Arena::CreateMaybeMessage<::service_layer::SLAFGetMsg>(Arena*); template<> ::service_layer::SLAFGetMsgRsp* Arena::CreateMaybeMessage<::service_layer::SLAFGetMsgRsp>(Arena*); template<> ::service_layer::SLAFGetMsgRspEntry* Arena::CreateMaybeMessage<::service_layer::SLAFGetMsgRspEntry>(Arena*); +template<> ::service_layer::SLAFIPRoute* Arena::CreateMaybeMessage<::service_layer::SLAFIPRoute>(Arena*); template<> ::service_layer::SLAFMsg* Arena::CreateMaybeMessage<::service_layer::SLAFMsg>(Arena*); template<> ::service_layer::SLAFMsgRsp* Arena::CreateMaybeMessage<::service_layer::SLAFMsgRsp>(Arena*); template<> ::service_layer::SLAFNextHopRegKey* Arena::CreateMaybeMessage<::service_layer::SLAFNextHopRegKey>(Arena*); @@ -170,7 +185,8 @@ template<> ::service_layer::SLAFNotifReq* Arena::CreateMaybeMessage<::service_la template<> ::service_layer::SLAFNotifRsp* Arena::CreateMaybeMessage<::service_layer::SLAFNotifRsp>(Arena*); template<> ::service_layer::SLAFNotif_SLRedistMarker* Arena::CreateMaybeMessage<::service_layer::SLAFNotif_SLRedistMarker>(Arena*); template<> ::service_layer::SLAFObject* Arena::CreateMaybeMessage<::service_layer::SLAFObject>(Arena*); -template<> ::service_layer::SLAFOp* Arena::CreateMaybeMessage<::service_layer::SLAFOp>(Arena*); +template<> ::service_layer::SLAFObjectKey* Arena::CreateMaybeMessage<::service_layer::SLAFObjectKey>(Arena*); +template<> ::service_layer::SLAFOpMsg* Arena::CreateMaybeMessage<::service_layer::SLAFOpMsg>(Arena*); template<> ::service_layer::SLAFRedistRegMsg* Arena::CreateMaybeMessage<::service_layer::SLAFRedistRegMsg>(Arena*); template<> ::service_layer::SLAFRes* Arena::CreateMaybeMessage<::service_layer::SLAFRes>(Arena*); template<> ::service_layer::SLAFVrfReg* Arena::CreateMaybeMessage<::service_layer::SLAFVrfReg>(Arena*); @@ -180,10 +196,12 @@ template<> ::service_layer::SLAFVrfRegMsg* Arena::CreateMaybeMessage<::service_l template<> ::service_layer::SLAFVrfRegMsgRes* Arena::CreateMaybeMessage<::service_layer::SLAFVrfRegMsgRes>(Arena*); template<> ::service_layer::SLAFVrfRegMsgRsp* Arena::CreateMaybeMessage<::service_layer::SLAFVrfRegMsgRsp>(Arena*); template<> ::service_layer::SLMplsEntry* Arena::CreateMaybeMessage<::service_layer::SLMplsEntry>(Arena*); +template<> ::service_layer::SLMplsEntryKey* Arena::CreateMaybeMessage<::service_layer::SLMplsEntryKey>(Arena*); template<> ::service_layer::SLNextHop* Arena::CreateMaybeMessage<::service_layer::SLNextHop>(Arena*); template<> ::service_layer::SLPathGroup* Arena::CreateMaybeMessage<::service_layer::SLPathGroup>(Arena*); template<> ::service_layer::SLPathGroup_SLPath* Arena::CreateMaybeMessage<::service_layer::SLPathGroup_SLPath>(Arena*); template<> ::service_layer::SLPathGroup_SLPathList* Arena::CreateMaybeMessage<::service_layer::SLPathGroup_SLPathList>(Arena*); +template<> ::service_layer::SLTableTypeList* Arena::CreateMaybeMessage<::service_layer::SLTableTypeList>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace service_layer { @@ -1661,11 +1679,28 @@ class SLPathGroup final : // accessors ------------------------------------------------------- enum : int { + kPgFlagsFieldNumber = 4, kPathGroupIdFieldNumber = 1, kAdminDistanceFieldNumber = 2, - kFlagsFieldNumber = 4, kPathListFieldNumber = 3, }; + // repeated .service_layer.SLRouteFlags PgFlags = 4; + int pgflags_size() const; + private: + int _internal_pgflags_size() const; + public: + void clear_pgflags(); + private: + ::service_layer::SLRouteFlags _internal_pgflags(int index) const; + void _internal_add_pgflags(::service_layer::SLRouteFlags value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_pgflags(); + public: + ::service_layer::SLRouteFlags pgflags(int index) const; + void set_pgflags(int index, ::service_layer::SLRouteFlags value); + void add_pgflags(::service_layer::SLRouteFlags value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& pgflags() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_pgflags(); + // .service_layer.SLObjectId PathGroupId = 1; bool has_pathgroupid() const; private: @@ -1693,15 +1728,6 @@ class SLPathGroup final : void _internal_set_admindistance(uint32_t value); public: - // uint32 Flags = 4; - void clear_flags(); - uint32_t flags() const; - void set_flags(uint32_t value); - private: - uint32_t _internal_flags() const; - void _internal_set_flags(uint32_t value); - public: - // .service_layer.SLPathGroup.SLPathList PathList = 3; bool has_pathlist() const; private: @@ -1733,9 +1759,10 @@ class SLPathGroup final : template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField pgflags_; + mutable std::atomic _pgflags_cached_byte_size_; ::service_layer::SLObjectId* pathgroupid_; uint32_t admindistance_; - uint32_t flags_; union EntryUnion { constexpr EntryUnion() : _constinit_{} {} ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; @@ -1748,24 +1775,24 @@ class SLPathGroup final : }; // ------------------------------------------------------------------- -class SLMplsEntry final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLMplsEntry) */ { +class SLMplsEntryKey final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLMplsEntryKey) */ { public: - inline SLMplsEntry() : SLMplsEntry(nullptr) {} - ~SLMplsEntry() override; - explicit constexpr SLMplsEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLMplsEntryKey() : SLMplsEntryKey(nullptr) {} + ~SLMplsEntryKey() override; + explicit constexpr SLMplsEntryKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLMplsEntry(const SLMplsEntry& from); - SLMplsEntry(SLMplsEntry&& from) noexcept - : SLMplsEntry() { + SLMplsEntryKey(const SLMplsEntryKey& from); + SLMplsEntryKey(SLMplsEntryKey&& from) noexcept + : SLMplsEntryKey() { *this = ::std::move(from); } - inline SLMplsEntry& operator=(const SLMplsEntry& from) { + inline SLMplsEntryKey& operator=(const SLMplsEntryKey& from) { CopyFrom(from); return *this; } - inline SLMplsEntry& operator=(SLMplsEntry&& from) noexcept { + inline SLMplsEntryKey& operator=(SLMplsEntryKey&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -1788,25 +1815,20 @@ class SLMplsEntry final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLMplsEntry& default_instance() { + static const SLMplsEntryKey& default_instance() { return *internal_default_instance(); } - enum EntryCase { - kPathGroupKey = 4, - ENTRY_NOT_SET = 0, - }; - - static inline const SLMplsEntry* internal_default_instance() { - return reinterpret_cast( - &_SLMplsEntry_default_instance_); + static inline const SLMplsEntryKey* internal_default_instance() { + return reinterpret_cast( + &_SLMplsEntryKey_default_instance_); } static constexpr int kIndexInFileMessages = 9; - friend void swap(SLMplsEntry& a, SLMplsEntry& b) { + friend void swap(SLMplsEntryKey& a, SLMplsEntryKey& b) { a.Swap(&b); } - inline void Swap(SLMplsEntry* other) { + inline void Swap(SLMplsEntryKey* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -1819,7 +1841,7 @@ class SLMplsEntry final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLMplsEntry* other) { + void UnsafeArenaSwap(SLMplsEntryKey* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -1827,13 +1849,13 @@ class SLMplsEntry final : // implements Message ---------------------------------------------- - SLMplsEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLMplsEntryKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLMplsEntry& from); + void CopyFrom(const SLMplsEntryKey& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLMplsEntry& from); + void MergeFrom(const SLMplsEntryKey& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -1850,15 +1872,15 @@ class SLMplsEntry final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLMplsEntry* other); + void InternalSwap(SLMplsEntryKey* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLMplsEntry"; + return "service_layer.SLMplsEntryKey"; } protected: - explicit SLMplsEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLMplsEntryKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -1875,122 +1897,48 @@ class SLMplsEntry final : // accessors ------------------------------------------------------- enum : int { - kPathListFieldNumber = 3, - kLocalLabelFieldNumber = 1, - kAdminDistanceFieldNumber = 2, - kFlagsFieldNumber = 5, - kPathGroupKeyFieldNumber = 4, + kLabelFieldNumber = 1, }; - // repeated .service_layer.SLRoutePath PathList = 3; - int pathlist_size() const; - private: - int _internal_pathlist_size() const; - public: - void clear_pathlist(); - ::service_layer::SLRoutePath* mutable_pathlist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* - mutable_pathlist(); - private: - const ::service_layer::SLRoutePath& _internal_pathlist(int index) const; - ::service_layer::SLRoutePath* _internal_add_pathlist(); - public: - const ::service_layer::SLRoutePath& pathlist(int index) const; - ::service_layer::SLRoutePath* add_pathlist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& - pathlist() const; - - // uint32 LocalLabel = 1; - void clear_locallabel(); - uint32_t locallabel() const; - void set_locallabel(uint32_t value); - private: - uint32_t _internal_locallabel() const; - void _internal_set_locallabel(uint32_t value); - public: - - // uint32 AdminDistance = 2; - void clear_admindistance(); - uint32_t admindistance() const; - void set_admindistance(uint32_t value); - private: - uint32_t _internal_admindistance() const; - void _internal_set_admindistance(uint32_t value); - public: - - // uint32 Flags = 5; - void clear_flags(); - uint32_t flags() const; - void set_flags(uint32_t value); - private: - uint32_t _internal_flags() const; - void _internal_set_flags(uint32_t value); - public: - - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - bool has_pathgroupkey() const; - private: - bool _internal_has_pathgroupkey() const; - public: - void clear_pathgroupkey(); - const ::service_layer::SLPathGroupRefKey& pathgroupkey() const; - PROTOBUF_NODISCARD ::service_layer::SLPathGroupRefKey* release_pathgroupkey(); - ::service_layer::SLPathGroupRefKey* mutable_pathgroupkey(); - void set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey); + // uint32 Label = 1; + void clear_label(); + uint32_t label() const; + void set_label(uint32_t value); private: - const ::service_layer::SLPathGroupRefKey& _internal_pathgroupkey() const; - ::service_layer::SLPathGroupRefKey* _internal_mutable_pathgroupkey(); + uint32_t _internal_label() const; + void _internal_set_label(uint32_t value); public: - void unsafe_arena_set_allocated_pathgroupkey( - ::service_layer::SLPathGroupRefKey* pathgroupkey); - ::service_layer::SLPathGroupRefKey* unsafe_arena_release_pathgroupkey(); - void clear_entry(); - EntryCase entry_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLMplsEntry) + // @@protoc_insertion_point(class_scope:service_layer.SLMplsEntryKey) private: class _Internal; - void set_has_pathgroupkey(); - - inline bool has_entry() const; - inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath > pathlist_; - uint32_t locallabel_; - uint32_t admindistance_; - uint32_t flags_; - union EntryUnion { - constexpr EntryUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLPathGroupRefKey* pathgroupkey_; - } entry_; + uint32_t label_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFObject final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFObject) */ { +class SLMplsEntry final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLMplsEntry) */ { public: - inline SLAFObject() : SLAFObject(nullptr) {} - ~SLAFObject() override; - explicit constexpr SLAFObject(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLMplsEntry() : SLMplsEntry(nullptr) {} + ~SLMplsEntry() override; + explicit constexpr SLMplsEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFObject(const SLAFObject& from); - SLAFObject(SLAFObject&& from) noexcept - : SLAFObject() { + SLMplsEntry(const SLMplsEntry& from); + SLMplsEntry(SLMplsEntry&& from) noexcept + : SLMplsEntry() { *this = ::std::move(from); } - inline SLAFObject& operator=(const SLAFObject& from) { + inline SLMplsEntry& operator=(const SLMplsEntry& from) { CopyFrom(from); return *this; } - inline SLAFObject& operator=(SLAFObject&& from) noexcept { + inline SLMplsEntry& operator=(SLMplsEntry&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2013,28 +1961,20 @@ class SLAFObject final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFObject& default_instance() { + static const SLMplsEntry& default_instance() { return *internal_default_instance(); } - enum EntryCase { - kIPv4Route = 1, - kIPv6Route = 2, - kMplsLabel = 3, - kPathGroup = 4, - ENTRY_NOT_SET = 0, - }; - - static inline const SLAFObject* internal_default_instance() { - return reinterpret_cast( - &_SLAFObject_default_instance_); + static inline const SLMplsEntry* internal_default_instance() { + return reinterpret_cast( + &_SLMplsEntry_default_instance_); } static constexpr int kIndexInFileMessages = 10; - friend void swap(SLAFObject& a, SLAFObject& b) { + friend void swap(SLMplsEntry& a, SLMplsEntry& b) { a.Swap(&b); } - inline void Swap(SLAFObject* other) { + inline void Swap(SLMplsEntry* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2047,7 +1987,7 @@ class SLAFObject final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFObject* other) { + void UnsafeArenaSwap(SLMplsEntry* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2055,13 +1995,13 @@ class SLAFObject final : // implements Message ---------------------------------------------- - SLAFObject* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLMplsEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFObject& from); + void CopyFrom(const SLMplsEntry& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFObject& from); + void MergeFrom(const SLMplsEntry& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -2078,15 +2018,15 @@ class SLAFObject final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFObject* other); + void InternalSwap(SLMplsEntry* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFObject"; + return "service_layer.SLMplsEntry"; } protected: - explicit SLAFObject(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLMplsEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -2103,132 +2043,108 @@ class SLAFObject final : // accessors ------------------------------------------------------- enum : int { - kIPv4RouteFieldNumber = 1, - kIPv6RouteFieldNumber = 2, - kMplsLabelFieldNumber = 3, - kPathGroupFieldNumber = 4, + kPathListFieldNumber = 3, + kMplsFlagsFieldNumber = 4, + kMplsKeyFieldNumber = 1, + kAdminDistanceFieldNumber = 2, }; - // .service_layer.SLRoutev4 IPv4Route = 1; - bool has_ipv4route() const; + // repeated .service_layer.SLRoutePath PathList = 3; + int pathlist_size() const; private: - bool _internal_has_ipv4route() const; + int _internal_pathlist_size() const; public: - void clear_ipv4route(); - const ::service_layer::SLRoutev4& ipv4route() const; - PROTOBUF_NODISCARD ::service_layer::SLRoutev4* release_ipv4route(); - ::service_layer::SLRoutev4* mutable_ipv4route(); - void set_allocated_ipv4route(::service_layer::SLRoutev4* ipv4route); + void clear_pathlist(); + ::service_layer::SLRoutePath* mutable_pathlist(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* + mutable_pathlist(); private: - const ::service_layer::SLRoutev4& _internal_ipv4route() const; - ::service_layer::SLRoutev4* _internal_mutable_ipv4route(); + const ::service_layer::SLRoutePath& _internal_pathlist(int index) const; + ::service_layer::SLRoutePath* _internal_add_pathlist(); public: - void unsafe_arena_set_allocated_ipv4route( - ::service_layer::SLRoutev4* ipv4route); - ::service_layer::SLRoutev4* unsafe_arena_release_ipv4route(); + const ::service_layer::SLRoutePath& pathlist(int index) const; + ::service_layer::SLRoutePath* add_pathlist(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& + pathlist() const; - // .service_layer.SLRoutev6 IPv6Route = 2; - bool has_ipv6route() const; + // repeated .service_layer.SLRouteFlags MplsFlags = 4; + int mplsflags_size() const; private: - bool _internal_has_ipv6route() const; + int _internal_mplsflags_size() const; public: - void clear_ipv6route(); - const ::service_layer::SLRoutev6& ipv6route() const; - PROTOBUF_NODISCARD ::service_layer::SLRoutev6* release_ipv6route(); - ::service_layer::SLRoutev6* mutable_ipv6route(); - void set_allocated_ipv6route(::service_layer::SLRoutev6* ipv6route); + void clear_mplsflags(); private: - const ::service_layer::SLRoutev6& _internal_ipv6route() const; - ::service_layer::SLRoutev6* _internal_mutable_ipv6route(); + ::service_layer::SLRouteFlags _internal_mplsflags(int index) const; + void _internal_add_mplsflags(::service_layer::SLRouteFlags value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_mplsflags(); public: - void unsafe_arena_set_allocated_ipv6route( - ::service_layer::SLRoutev6* ipv6route); - ::service_layer::SLRoutev6* unsafe_arena_release_ipv6route(); + ::service_layer::SLRouteFlags mplsflags(int index) const; + void set_mplsflags(int index, ::service_layer::SLRouteFlags value); + void add_mplsflags(::service_layer::SLRouteFlags value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& mplsflags() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_mplsflags(); - // .service_layer.SLMplsEntry MplsLabel = 3; - bool has_mplslabel() const; + // .service_layer.SLMplsEntryKey MplsKey = 1; + bool has_mplskey() const; private: - bool _internal_has_mplslabel() const; + bool _internal_has_mplskey() const; public: - void clear_mplslabel(); - const ::service_layer::SLMplsEntry& mplslabel() const; - PROTOBUF_NODISCARD ::service_layer::SLMplsEntry* release_mplslabel(); - ::service_layer::SLMplsEntry* mutable_mplslabel(); - void set_allocated_mplslabel(::service_layer::SLMplsEntry* mplslabel); + void clear_mplskey(); + const ::service_layer::SLMplsEntryKey& mplskey() const; + PROTOBUF_NODISCARD ::service_layer::SLMplsEntryKey* release_mplskey(); + ::service_layer::SLMplsEntryKey* mutable_mplskey(); + void set_allocated_mplskey(::service_layer::SLMplsEntryKey* mplskey); private: - const ::service_layer::SLMplsEntry& _internal_mplslabel() const; - ::service_layer::SLMplsEntry* _internal_mutable_mplslabel(); + const ::service_layer::SLMplsEntryKey& _internal_mplskey() const; + ::service_layer::SLMplsEntryKey* _internal_mutable_mplskey(); public: - void unsafe_arena_set_allocated_mplslabel( - ::service_layer::SLMplsEntry* mplslabel); - ::service_layer::SLMplsEntry* unsafe_arena_release_mplslabel(); + void unsafe_arena_set_allocated_mplskey( + ::service_layer::SLMplsEntryKey* mplskey); + ::service_layer::SLMplsEntryKey* unsafe_arena_release_mplskey(); - // .service_layer.SLPathGroup PathGroup = 4; - bool has_pathgroup() const; - private: - bool _internal_has_pathgroup() const; - public: - void clear_pathgroup(); - const ::service_layer::SLPathGroup& pathgroup() const; - PROTOBUF_NODISCARD ::service_layer::SLPathGroup* release_pathgroup(); - ::service_layer::SLPathGroup* mutable_pathgroup(); - void set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup); + // uint32 AdminDistance = 2; + void clear_admindistance(); + uint32_t admindistance() const; + void set_admindistance(uint32_t value); private: - const ::service_layer::SLPathGroup& _internal_pathgroup() const; - ::service_layer::SLPathGroup* _internal_mutable_pathgroup(); + uint32_t _internal_admindistance() const; + void _internal_set_admindistance(uint32_t value); public: - void unsafe_arena_set_allocated_pathgroup( - ::service_layer::SLPathGroup* pathgroup); - ::service_layer::SLPathGroup* unsafe_arena_release_pathgroup(); - void clear_entry(); - EntryCase entry_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLAFObject) + // @@protoc_insertion_point(class_scope:service_layer.SLMplsEntry) private: class _Internal; - void set_has_ipv4route(); - void set_has_ipv6route(); - void set_has_mplslabel(); - void set_has_pathgroup(); - - inline bool has_entry() const; - inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - union EntryUnion { - constexpr EntryUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLRoutev4* ipv4route_; - ::service_layer::SLRoutev6* ipv6route_; - ::service_layer::SLMplsEntry* mplslabel_; - ::service_layer::SLPathGroup* pathgroup_; - } entry_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath > pathlist_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField mplsflags_; + mutable std::atomic _mplsflags_cached_byte_size_; + ::service_layer::SLMplsEntryKey* mplskey_; + uint32_t admindistance_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFOp final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFOp) */ { +class SLAFIPRoute final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFIPRoute) */ { public: - inline SLAFOp() : SLAFOp(nullptr) {} - ~SLAFOp() override; - explicit constexpr SLAFOp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFIPRoute() : SLAFIPRoute(nullptr) {} + ~SLAFIPRoute() override; + explicit constexpr SLAFIPRoute(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFOp(const SLAFOp& from); - SLAFOp(SLAFOp&& from) noexcept - : SLAFOp() { + SLAFIPRoute(const SLAFIPRoute& from); + SLAFIPRoute(SLAFIPRoute&& from) noexcept + : SLAFIPRoute() { *this = ::std::move(from); } - inline SLAFOp& operator=(const SLAFOp& from) { + inline SLAFIPRoute& operator=(const SLAFIPRoute& from) { CopyFrom(from); return *this; } - inline SLAFOp& operator=(SLAFOp&& from) noexcept { + inline SLAFIPRoute& operator=(SLAFIPRoute&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2251,20 +2167,20 @@ class SLAFOp final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFOp& default_instance() { + static const SLAFIPRoute& default_instance() { return *internal_default_instance(); } - static inline const SLAFOp* internal_default_instance() { - return reinterpret_cast( - &_SLAFOp_default_instance_); + static inline const SLAFIPRoute* internal_default_instance() { + return reinterpret_cast( + &_SLAFIPRoute_default_instance_); } static constexpr int kIndexInFileMessages = 11; - friend void swap(SLAFOp& a, SLAFOp& b) { + friend void swap(SLAFIPRoute& a, SLAFIPRoute& b) { a.Swap(&b); } - inline void Swap(SLAFOp* other) { + inline void Swap(SLAFIPRoute* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2277,7 +2193,7 @@ class SLAFOp final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFOp* other) { + void UnsafeArenaSwap(SLAFIPRoute* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2285,13 +2201,13 @@ class SLAFOp final : // implements Message ---------------------------------------------- - SLAFOp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFIPRoute* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFOp& from); + void CopyFrom(const SLAFIPRoute& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFOp& from); + void MergeFrom(const SLAFIPRoute& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -2308,15 +2224,15 @@ class SLAFOp final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFOp* other); + void InternalSwap(SLAFIPRoute* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFOp"; + return "service_layer.SLAFIPRoute"; } protected: - explicit SLAFOp(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFIPRoute(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -2333,110 +2249,97 @@ class SLAFOp final : // accessors ------------------------------------------------------- enum : int { - kAckPermitsFieldNumber = 4, - kAFObjectFieldNumber = 1, - kOperationIDFieldNumber = 2, - kAckTypeFieldNumber = 3, - kAckCadenceFieldNumber = 5, + kPathListFieldNumber = 3, + kIPRoutePrefixFieldNumber = 1, + kRouteCommonFieldNumber = 2, }; - // repeated .service_layer.SLRspACKPermit AckPermits = 4; - int ackpermits_size() const; + // repeated .service_layer.SLRoutePath PathList = 3; + int pathlist_size() const; private: - int _internal_ackpermits_size() const; + int _internal_pathlist_size() const; public: - void clear_ackpermits(); + void clear_pathlist(); + ::service_layer::SLRoutePath* mutable_pathlist(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* + mutable_pathlist(); private: - ::service_layer::SLRspACKPermit _internal_ackpermits(int index) const; - void _internal_add_ackpermits(::service_layer::SLRspACKPermit value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_ackpermits(); + const ::service_layer::SLRoutePath& _internal_pathlist(int index) const; + ::service_layer::SLRoutePath* _internal_add_pathlist(); public: - ::service_layer::SLRspACKPermit ackpermits(int index) const; - void set_ackpermits(int index, ::service_layer::SLRspACKPermit value); - void add_ackpermits(::service_layer::SLRspACKPermit value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField& ackpermits() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_ackpermits(); + const ::service_layer::SLRoutePath& pathlist(int index) const; + ::service_layer::SLRoutePath* add_pathlist(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& + pathlist() const; - // .service_layer.SLAFObject AFObject = 1; - bool has_afobject() const; + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; + bool has_iprouteprefix() const; private: - bool _internal_has_afobject() const; + bool _internal_has_iprouteprefix() const; public: - void clear_afobject(); - const ::service_layer::SLAFObject& afobject() const; - PROTOBUF_NODISCARD ::service_layer::SLAFObject* release_afobject(); - ::service_layer::SLAFObject* mutable_afobject(); - void set_allocated_afobject(::service_layer::SLAFObject* afobject); + void clear_iprouteprefix(); + const ::service_layer::SLRoutePrefix& iprouteprefix() const; + PROTOBUF_NODISCARD ::service_layer::SLRoutePrefix* release_iprouteprefix(); + ::service_layer::SLRoutePrefix* mutable_iprouteprefix(); + void set_allocated_iprouteprefix(::service_layer::SLRoutePrefix* iprouteprefix); private: - const ::service_layer::SLAFObject& _internal_afobject() const; - ::service_layer::SLAFObject* _internal_mutable_afobject(); + const ::service_layer::SLRoutePrefix& _internal_iprouteprefix() const; + ::service_layer::SLRoutePrefix* _internal_mutable_iprouteprefix(); public: - void unsafe_arena_set_allocated_afobject( - ::service_layer::SLAFObject* afobject); - ::service_layer::SLAFObject* unsafe_arena_release_afobject(); + void unsafe_arena_set_allocated_iprouteprefix( + ::service_layer::SLRoutePrefix* iprouteprefix); + ::service_layer::SLRoutePrefix* unsafe_arena_release_iprouteprefix(); - // uint64 OperationID = 2; - void clear_operationid(); - uint64_t operationid() const; - void set_operationid(uint64_t value); + // .service_layer.SLRouteCommon RouteCommon = 2; + bool has_routecommon() const; private: - uint64_t _internal_operationid() const; - void _internal_set_operationid(uint64_t value); + bool _internal_has_routecommon() const; public: - - // .service_layer.SLRspACKType AckType = 3; - void clear_acktype(); - ::service_layer::SLRspACKType acktype() const; - void set_acktype(::service_layer::SLRspACKType value); - private: - ::service_layer::SLRspACKType _internal_acktype() const; - void _internal_set_acktype(::service_layer::SLRspACKType value); - public: - - // .service_layer.SLRspAckCadence AckCadence = 5; - void clear_ackcadence(); - ::service_layer::SLRspAckCadence ackcadence() const; - void set_ackcadence(::service_layer::SLRspAckCadence value); + void clear_routecommon(); + const ::service_layer::SLRouteCommon& routecommon() const; + PROTOBUF_NODISCARD ::service_layer::SLRouteCommon* release_routecommon(); + ::service_layer::SLRouteCommon* mutable_routecommon(); + void set_allocated_routecommon(::service_layer::SLRouteCommon* routecommon); private: - ::service_layer::SLRspAckCadence _internal_ackcadence() const; - void _internal_set_ackcadence(::service_layer::SLRspAckCadence value); + const ::service_layer::SLRouteCommon& _internal_routecommon() const; + ::service_layer::SLRouteCommon* _internal_mutable_routecommon(); public: + void unsafe_arena_set_allocated_routecommon( + ::service_layer::SLRouteCommon* routecommon); + ::service_layer::SLRouteCommon* unsafe_arena_release_routecommon(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFOp) + // @@protoc_insertion_point(class_scope:service_layer.SLAFIPRoute) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField ackpermits_; - mutable std::atomic _ackpermits_cached_byte_size_; - ::service_layer::SLAFObject* afobject_; - uint64_t operationid_; - int acktype_; - int ackcadence_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath > pathlist_; + ::service_layer::SLRoutePrefix* iprouteprefix_; + ::service_layer::SLRouteCommon* routecommon_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFGetMsg final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMsg) */ { +class SLAFObject final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFObject) */ { public: - inline SLAFGetMsg() : SLAFGetMsg(nullptr) {} - ~SLAFGetMsg() override; - explicit constexpr SLAFGetMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFObject() : SLAFObject(nullptr) {} + ~SLAFObject() override; + explicit constexpr SLAFObject(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFGetMsg(const SLAFGetMsg& from); - SLAFGetMsg(SLAFGetMsg&& from) noexcept - : SLAFGetMsg() { + SLAFObject(const SLAFObject& from); + SLAFObject(SLAFObject&& from) noexcept + : SLAFObject() { *this = ::std::move(from); } - inline SLAFGetMsg& operator=(const SLAFGetMsg& from) { + inline SLAFObject& operator=(const SLAFObject& from) { CopyFrom(from); return *this; } - inline SLAFGetMsg& operator=(SLAFGetMsg&& from) noexcept { + inline SLAFObject& operator=(SLAFObject&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2459,20 +2362,27 @@ class SLAFGetMsg final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFGetMsg& default_instance() { + static const SLAFObject& default_instance() { return *internal_default_instance(); } - static inline const SLAFGetMsg* internal_default_instance() { - return reinterpret_cast( - &_SLAFGetMsg_default_instance_); + enum EntryCase { + kIPRoute = 1, + kMplsLabel = 2, + kPathGroup = 3, + ENTRY_NOT_SET = 0, + }; + + static inline const SLAFObject* internal_default_instance() { + return reinterpret_cast( + &_SLAFObject_default_instance_); } static constexpr int kIndexInFileMessages = 12; - friend void swap(SLAFGetMsg& a, SLAFGetMsg& b) { + friend void swap(SLAFObject& a, SLAFObject& b) { a.Swap(&b); } - inline void Swap(SLAFGetMsg* other) { + inline void Swap(SLAFObject* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2485,7 +2395,7 @@ class SLAFGetMsg final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFGetMsg* other) { + void UnsafeArenaSwap(SLAFObject* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2493,13 +2403,13 @@ class SLAFGetMsg final : // implements Message ---------------------------------------------- - SLAFGetMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFObject* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFGetMsg& from); + void CopyFrom(const SLAFObject& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFGetMsg& from); + void MergeFrom(const SLAFObject& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -2516,15 +2426,15 @@ class SLAFGetMsg final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFGetMsg* other); + void InternalSwap(SLAFObject* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFGetMsg"; + return "service_layer.SLAFObject"; } protected: - explicit SLAFGetMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFObject(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -2541,95 +2451,111 @@ class SLAFGetMsg final : // accessors ------------------------------------------------------- enum : int { - kRouteMatchFieldNumber = 4, - kVrfNameFieldNumber = 1, - kTableFieldNumber = 2, - kGetAllClientsFieldNumber = 3, + kIPRouteFieldNumber = 1, + kMplsLabelFieldNumber = 2, + kPathGroupFieldNumber = 3, }; - // repeated .service_layer.SLRouteGetMatch RouteMatch = 4; - int routematch_size() const; + // .service_layer.SLAFIPRoute IPRoute = 1; + bool has_iproute() const; private: - int _internal_routematch_size() const; + bool _internal_has_iproute() const; public: - void clear_routematch(); - ::service_layer::SLRouteGetMatch* mutable_routematch(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRouteGetMatch >* - mutable_routematch(); + void clear_iproute(); + const ::service_layer::SLAFIPRoute& iproute() const; + PROTOBUF_NODISCARD ::service_layer::SLAFIPRoute* release_iproute(); + ::service_layer::SLAFIPRoute* mutable_iproute(); + void set_allocated_iproute(::service_layer::SLAFIPRoute* iproute); private: - const ::service_layer::SLRouteGetMatch& _internal_routematch(int index) const; - ::service_layer::SLRouteGetMatch* _internal_add_routematch(); + const ::service_layer::SLAFIPRoute& _internal_iproute() const; + ::service_layer::SLAFIPRoute* _internal_mutable_iproute(); public: - const ::service_layer::SLRouteGetMatch& routematch(int index) const; - ::service_layer::SLRouteGetMatch* add_routematch(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRouteGetMatch >& - routematch() const; + void unsafe_arena_set_allocated_iproute( + ::service_layer::SLAFIPRoute* iproute); + ::service_layer::SLAFIPRoute* unsafe_arena_release_iproute(); - // string VrfName = 1; - void clear_vrfname(); - const std::string& vrfname() const; - template - void set_vrfname(ArgT0&& arg0, ArgT... args); - std::string* mutable_vrfname(); - PROTOBUF_NODISCARD std::string* release_vrfname(); - void set_allocated_vrfname(std::string* vrfname); + // .service_layer.SLMplsEntry MplsLabel = 2; + bool has_mplslabel() const; private: - const std::string& _internal_vrfname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); - std::string* _internal_mutable_vrfname(); + bool _internal_has_mplslabel() const; public: - - // .service_layer.SLTableType Table = 2; - void clear_table(); - ::service_layer::SLTableType table() const; - void set_table(::service_layer::SLTableType value); + void clear_mplslabel(); + const ::service_layer::SLMplsEntry& mplslabel() const; + PROTOBUF_NODISCARD ::service_layer::SLMplsEntry* release_mplslabel(); + ::service_layer::SLMplsEntry* mutable_mplslabel(); + void set_allocated_mplslabel(::service_layer::SLMplsEntry* mplslabel); private: - ::service_layer::SLTableType _internal_table() const; - void _internal_set_table(::service_layer::SLTableType value); + const ::service_layer::SLMplsEntry& _internal_mplslabel() const; + ::service_layer::SLMplsEntry* _internal_mutable_mplslabel(); public: + void unsafe_arena_set_allocated_mplslabel( + ::service_layer::SLMplsEntry* mplslabel); + ::service_layer::SLMplsEntry* unsafe_arena_release_mplslabel(); - // bool GetAllClients = 3; - void clear_getallclients(); - bool getallclients() const; - void set_getallclients(bool value); + // .service_layer.SLPathGroup PathGroup = 3; + bool has_pathgroup() const; + private: + bool _internal_has_pathgroup() const; + public: + void clear_pathgroup(); + const ::service_layer::SLPathGroup& pathgroup() const; + PROTOBUF_NODISCARD ::service_layer::SLPathGroup* release_pathgroup(); + ::service_layer::SLPathGroup* mutable_pathgroup(); + void set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup); private: - bool _internal_getallclients() const; - void _internal_set_getallclients(bool value); + const ::service_layer::SLPathGroup& _internal_pathgroup() const; + ::service_layer::SLPathGroup* _internal_mutable_pathgroup(); public: + void unsafe_arena_set_allocated_pathgroup( + ::service_layer::SLPathGroup* pathgroup); + ::service_layer::SLPathGroup* unsafe_arena_release_pathgroup(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMsg) + void clear_entry(); + EntryCase entry_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLAFObject) private: class _Internal; + void set_has_iproute(); + void set_has_mplslabel(); + void set_has_pathgroup(); + + inline bool has_entry() const; + inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRouteGetMatch > routematch_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; - int table_; - bool getallclients_; + union EntryUnion { + constexpr EntryUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLAFIPRoute* iproute_; + ::service_layer::SLMplsEntry* mplslabel_; + ::service_layer::SLPathGroup* pathgroup_; + } entry_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFDepFibStatus final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFDepFibStatus) */ { +class SLAFOpMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFOpMsg) */ { public: - inline SLAFDepFibStatus() : SLAFDepFibStatus(nullptr) {} - ~SLAFDepFibStatus() override; - explicit constexpr SLAFDepFibStatus(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFOpMsg() : SLAFOpMsg(nullptr) {} + ~SLAFOpMsg() override; + explicit constexpr SLAFOpMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFDepFibStatus(const SLAFDepFibStatus& from); - SLAFDepFibStatus(SLAFDepFibStatus&& from) noexcept - : SLAFDepFibStatus() { + SLAFOpMsg(const SLAFOpMsg& from); + SLAFOpMsg(SLAFOpMsg&& from) noexcept + : SLAFOpMsg() { *this = ::std::move(from); } - inline SLAFDepFibStatus& operator=(const SLAFDepFibStatus& from) { + inline SLAFOpMsg& operator=(const SLAFOpMsg& from) { CopyFrom(from); return *this; } - inline SLAFDepFibStatus& operator=(SLAFDepFibStatus&& from) noexcept { + inline SLAFOpMsg& operator=(SLAFOpMsg&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2652,25 +2578,20 @@ class SLAFDepFibStatus final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFDepFibStatus& default_instance() { + static const SLAFOpMsg& default_instance() { return *internal_default_instance(); } - enum EntryCase { - kPathGroupKey = 4, - ENTRY_NOT_SET = 0, - }; - - static inline const SLAFDepFibStatus* internal_default_instance() { - return reinterpret_cast( - &_SLAFDepFibStatus_default_instance_); + static inline const SLAFOpMsg* internal_default_instance() { + return reinterpret_cast( + &_SLAFOpMsg_default_instance_); } static constexpr int kIndexInFileMessages = 13; - friend void swap(SLAFDepFibStatus& a, SLAFDepFibStatus& b) { + friend void swap(SLAFOpMsg& a, SLAFOpMsg& b) { a.Swap(&b); } - inline void Swap(SLAFDepFibStatus* other) { + inline void Swap(SLAFOpMsg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2683,7 +2604,7 @@ class SLAFDepFibStatus final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFDepFibStatus* other) { + void UnsafeArenaSwap(SLAFOpMsg* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2691,13 +2612,13 @@ class SLAFDepFibStatus final : // implements Message ---------------------------------------------- - SLAFDepFibStatus* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFOpMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFDepFibStatus& from); + void CopyFrom(const SLAFOpMsg& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFDepFibStatus& from); + void MergeFrom(const SLAFOpMsg& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -2714,15 +2635,15 @@ class SLAFDepFibStatus final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFDepFibStatus* other); + void InternalSwap(SLAFOpMsg* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFDepFibStatus"; + return "service_layer.SLAFOpMsg"; } protected: - explicit SLAFDepFibStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFOpMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -2739,28 +2660,46 @@ class SLAFDepFibStatus final : // accessors ------------------------------------------------------- enum : int { - kErrorCodeFieldNumber = 1, + kAckPermitsFieldNumber = 4, + kAFObjectFieldNumber = 1, kOperationIDFieldNumber = 2, - kVersionFieldNumber = 3, - kPathGroupKeyFieldNumber = 4, + kAckTypeFieldNumber = 3, + kAckCadenceFieldNumber = 5, }; - // .service_layer.SLErrorStatus ErrorCode = 1; - bool has_errorcode() const; + // repeated .service_layer.SLRspACKPermit AckPermits = 4; + int ackpermits_size() const; + private: + int _internal_ackpermits_size() const; + public: + void clear_ackpermits(); + private: + ::service_layer::SLRspACKPermit _internal_ackpermits(int index) const; + void _internal_add_ackpermits(::service_layer::SLRspACKPermit value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_ackpermits(); + public: + ::service_layer::SLRspACKPermit ackpermits(int index) const; + void set_ackpermits(int index, ::service_layer::SLRspACKPermit value); + void add_ackpermits(::service_layer::SLRspACKPermit value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& ackpermits() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_ackpermits(); + + // .service_layer.SLAFObject AFObject = 1; + bool has_afobject() const; private: - bool _internal_has_errorcode() const; + bool _internal_has_afobject() const; public: - void clear_errorcode(); - const ::service_layer::SLErrorStatus& errorcode() const; - PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_errorcode(); - ::service_layer::SLErrorStatus* mutable_errorcode(); - void set_allocated_errorcode(::service_layer::SLErrorStatus* errorcode); + void clear_afobject(); + const ::service_layer::SLAFObject& afobject() const; + PROTOBUF_NODISCARD ::service_layer::SLAFObject* release_afobject(); + ::service_layer::SLAFObject* mutable_afobject(); + void set_allocated_afobject(::service_layer::SLAFObject* afobject); private: - const ::service_layer::SLErrorStatus& _internal_errorcode() const; - ::service_layer::SLErrorStatus* _internal_mutable_errorcode(); + const ::service_layer::SLAFObject& _internal_afobject() const; + ::service_layer::SLAFObject* _internal_mutable_afobject(); public: - void unsafe_arena_set_allocated_errorcode( - ::service_layer::SLErrorStatus* errorcode); - ::service_layer::SLErrorStatus* unsafe_arena_release_errorcode(); + void unsafe_arena_set_allocated_afobject( + ::service_layer::SLAFObject* afobject); + ::service_layer::SLAFObject* unsafe_arena_release_afobject(); // uint64 OperationID = 2; void clear_operationid(); @@ -2771,79 +2710,60 @@ class SLAFDepFibStatus final : void _internal_set_operationid(uint64_t value); public: - // uint64 Version = 3; - void clear_version(); - uint64_t version() const; - void set_version(uint64_t value); + // .service_layer.SLRspACKType AckType = 3; + void clear_acktype(); + ::service_layer::SLRspACKType acktype() const; + void set_acktype(::service_layer::SLRspACKType value); private: - uint64_t _internal_version() const; - void _internal_set_version(uint64_t value); + ::service_layer::SLRspACKType _internal_acktype() const; + void _internal_set_acktype(::service_layer::SLRspACKType value); public: - // .service_layer.SLPathGroupRefKey PathGroupKey = 4; - bool has_pathgroupkey() const; - private: - bool _internal_has_pathgroupkey() const; - public: - void clear_pathgroupkey(); - const ::service_layer::SLPathGroupRefKey& pathgroupkey() const; - PROTOBUF_NODISCARD ::service_layer::SLPathGroupRefKey* release_pathgroupkey(); - ::service_layer::SLPathGroupRefKey* mutable_pathgroupkey(); - void set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey); + // .service_layer.SLRspAckCadence AckCadence = 5; + void clear_ackcadence(); + ::service_layer::SLRspAckCadence ackcadence() const; + void set_ackcadence(::service_layer::SLRspAckCadence value); private: - const ::service_layer::SLPathGroupRefKey& _internal_pathgroupkey() const; - ::service_layer::SLPathGroupRefKey* _internal_mutable_pathgroupkey(); + ::service_layer::SLRspAckCadence _internal_ackcadence() const; + void _internal_set_ackcadence(::service_layer::SLRspAckCadence value); public: - void unsafe_arena_set_allocated_pathgroupkey( - ::service_layer::SLPathGroupRefKey* pathgroupkey); - ::service_layer::SLPathGroupRefKey* unsafe_arena_release_pathgroupkey(); - void clear_entry(); - EntryCase entry_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLAFDepFibStatus) + // @@protoc_insertion_point(class_scope:service_layer.SLAFOpMsg) private: class _Internal; - void set_has_pathgroupkey(); - - inline bool has_entry() const; - inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::service_layer::SLErrorStatus* errorcode_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField ackpermits_; + mutable std::atomic _ackpermits_cached_byte_size_; + ::service_layer::SLAFObject* afobject_; uint64_t operationid_; - uint64_t version_; - union EntryUnion { - constexpr EntryUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLPathGroupRefKey* pathgroupkey_; - } entry_; + int acktype_; + int ackcadence_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFFibStatus final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFFibStatus) */ { +class SLAFClientIDList final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFClientIDList) */ { public: - inline SLAFFibStatus() : SLAFFibStatus(nullptr) {} - ~SLAFFibStatus() override; - explicit constexpr SLAFFibStatus(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFClientIDList() : SLAFClientIDList(nullptr) {} + ~SLAFClientIDList() override; + explicit constexpr SLAFClientIDList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFFibStatus(const SLAFFibStatus& from); - SLAFFibStatus(SLAFFibStatus&& from) noexcept - : SLAFFibStatus() { + SLAFClientIDList(const SLAFClientIDList& from); + SLAFClientIDList(SLAFClientIDList&& from) noexcept + : SLAFClientIDList() { *this = ::std::move(from); } - inline SLAFFibStatus& operator=(const SLAFFibStatus& from) { + inline SLAFClientIDList& operator=(const SLAFClientIDList& from) { CopyFrom(from); return *this; } - inline SLAFFibStatus& operator=(SLAFFibStatus&& from) noexcept { + inline SLAFClientIDList& operator=(SLAFClientIDList&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2866,20 +2786,20 @@ class SLAFFibStatus final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFFibStatus& default_instance() { + static const SLAFClientIDList& default_instance() { return *internal_default_instance(); } - static inline const SLAFFibStatus* internal_default_instance() { - return reinterpret_cast( - &_SLAFFibStatus_default_instance_); + static inline const SLAFClientIDList* internal_default_instance() { + return reinterpret_cast( + &_SLAFClientIDList_default_instance_); } static constexpr int kIndexInFileMessages = 14; - friend void swap(SLAFFibStatus& a, SLAFFibStatus& b) { + friend void swap(SLAFClientIDList& a, SLAFClientIDList& b) { a.Swap(&b); } - inline void Swap(SLAFFibStatus* other) { + inline void Swap(SLAFClientIDList* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2892,7 +2812,7 @@ class SLAFFibStatus final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFFibStatus* other) { + void UnsafeArenaSwap(SLAFClientIDList* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2900,13 +2820,13 @@ class SLAFFibStatus final : // implements Message ---------------------------------------------- - SLAFFibStatus* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFClientIDList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFFibStatus& from); + void CopyFrom(const SLAFClientIDList& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFFibStatus& from); + void MergeFrom(const SLAFClientIDList& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -2923,15 +2843,15 @@ class SLAFFibStatus final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFFibStatus* other); + void InternalSwap(SLAFClientIDList* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFFibStatus"; + return "service_layer.SLAFClientIDList"; } protected: - explicit SLAFFibStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFClientIDList(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -2948,68 +2868,62 @@ class SLAFFibStatus final : // accessors ------------------------------------------------------- enum : int { - kDepResultFieldNumber = 2, - kVersionFieldNumber = 1, + kClientIDListFieldNumber = 1, }; - // .service_layer.SLAFDepFibStatus DepResult = 2; - bool has_depresult() const; - private: - bool _internal_has_depresult() const; - public: - void clear_depresult(); - const ::service_layer::SLAFDepFibStatus& depresult() const; - PROTOBUF_NODISCARD ::service_layer::SLAFDepFibStatus* release_depresult(); - ::service_layer::SLAFDepFibStatus* mutable_depresult(); - void set_allocated_depresult(::service_layer::SLAFDepFibStatus* depresult); + // repeated uint64 ClientIDList = 1; + int clientidlist_size() const; private: - const ::service_layer::SLAFDepFibStatus& _internal_depresult() const; - ::service_layer::SLAFDepFibStatus* _internal_mutable_depresult(); + int _internal_clientidlist_size() const; public: - void unsafe_arena_set_allocated_depresult( - ::service_layer::SLAFDepFibStatus* depresult); - ::service_layer::SLAFDepFibStatus* unsafe_arena_release_depresult(); - - // uint64 Version = 1; - void clear_version(); - uint64_t version() const; - void set_version(uint64_t value); + void clear_clientidlist(); private: - uint64_t _internal_version() const; - void _internal_set_version(uint64_t value); + uint64_t _internal_clientidlist(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& + _internal_clientidlist() const; + void _internal_add_clientidlist(uint64_t value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* + _internal_mutable_clientidlist(); public: + uint64_t clientidlist(int index) const; + void set_clientidlist(int index, uint64_t value); + void add_clientidlist(uint64_t value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& + clientidlist() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* + mutable_clientidlist(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFFibStatus) + // @@protoc_insertion_point(class_scope:service_layer.SLAFClientIDList) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::service_layer::SLAFDepFibStatus* depresult_; - uint64_t version_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > clientidlist_; + mutable std::atomic _clientidlist_cached_byte_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFGetMsgRspEntry final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMsgRspEntry) */ { +class SLTableTypeList final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLTableTypeList) */ { public: - inline SLAFGetMsgRspEntry() : SLAFGetMsgRspEntry(nullptr) {} - ~SLAFGetMsgRspEntry() override; - explicit constexpr SLAFGetMsgRspEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLTableTypeList() : SLTableTypeList(nullptr) {} + ~SLTableTypeList() override; + explicit constexpr SLTableTypeList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFGetMsgRspEntry(const SLAFGetMsgRspEntry& from); - SLAFGetMsgRspEntry(SLAFGetMsgRspEntry&& from) noexcept - : SLAFGetMsgRspEntry() { + SLTableTypeList(const SLTableTypeList& from); + SLTableTypeList(SLTableTypeList&& from) noexcept + : SLTableTypeList() { *this = ::std::move(from); } - inline SLAFGetMsgRspEntry& operator=(const SLAFGetMsgRspEntry& from) { + inline SLTableTypeList& operator=(const SLTableTypeList& from) { CopyFrom(from); return *this; } - inline SLAFGetMsgRspEntry& operator=(SLAFGetMsgRspEntry&& from) noexcept { + inline SLTableTypeList& operator=(SLTableTypeList&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3032,20 +2946,20 @@ class SLAFGetMsgRspEntry final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFGetMsgRspEntry& default_instance() { + static const SLTableTypeList& default_instance() { return *internal_default_instance(); } - static inline const SLAFGetMsgRspEntry* internal_default_instance() { - return reinterpret_cast( - &_SLAFGetMsgRspEntry_default_instance_); + static inline const SLTableTypeList* internal_default_instance() { + return reinterpret_cast( + &_SLTableTypeList_default_instance_); } static constexpr int kIndexInFileMessages = 15; - friend void swap(SLAFGetMsgRspEntry& a, SLAFGetMsgRspEntry& b) { + friend void swap(SLTableTypeList& a, SLTableTypeList& b) { a.Swap(&b); } - inline void Swap(SLAFGetMsgRspEntry* other) { + inline void Swap(SLTableTypeList* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3058,7 +2972,7 @@ class SLAFGetMsgRspEntry final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFGetMsgRspEntry* other) { + void UnsafeArenaSwap(SLTableTypeList* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3066,13 +2980,13 @@ class SLAFGetMsgRspEntry final : // implements Message ---------------------------------------------- - SLAFGetMsgRspEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLTableTypeList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFGetMsgRspEntry& from); + void CopyFrom(const SLTableTypeList& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFGetMsgRspEntry& from); + void MergeFrom(const SLTableTypeList& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3089,15 +3003,15 @@ class SLAFGetMsgRspEntry final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFGetMsgRspEntry* other); + void InternalSwap(SLTableTypeList* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFGetMsgRspEntry"; + return "service_layer.SLTableTypeList"; } protected: - explicit SLAFGetMsgRspEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLTableTypeList(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -3114,88 +3028,57 @@ class SLAFGetMsgRspEntry final : // accessors ------------------------------------------------------- enum : int { - kAFOpFieldNumber = 1, - kErrorCodeFieldNumber = 2, - kVersionFieldNumber = 3, + kTableFieldNumber = 1, }; - // .service_layer.SLAFOp AFOp = 1; - bool has_afop() const; - private: - bool _internal_has_afop() const; - public: - void clear_afop(); - const ::service_layer::SLAFOp& afop() const; - PROTOBUF_NODISCARD ::service_layer::SLAFOp* release_afop(); - ::service_layer::SLAFOp* mutable_afop(); - void set_allocated_afop(::service_layer::SLAFOp* afop); - private: - const ::service_layer::SLAFOp& _internal_afop() const; - ::service_layer::SLAFOp* _internal_mutable_afop(); - public: - void unsafe_arena_set_allocated_afop( - ::service_layer::SLAFOp* afop); - ::service_layer::SLAFOp* unsafe_arena_release_afop(); - - // .service_layer.SLErrorStatus ErrorCode = 2; - bool has_errorcode() const; - private: - bool _internal_has_errorcode() const; - public: - void clear_errorcode(); - const ::service_layer::SLErrorStatus& errorcode() const; - PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_errorcode(); - ::service_layer::SLErrorStatus* mutable_errorcode(); - void set_allocated_errorcode(::service_layer::SLErrorStatus* errorcode); + // repeated .service_layer.SLTableType Table = 1; + int table_size() const; private: - const ::service_layer::SLErrorStatus& _internal_errorcode() const; - ::service_layer::SLErrorStatus* _internal_mutable_errorcode(); + int _internal_table_size() const; public: - void unsafe_arena_set_allocated_errorcode( - ::service_layer::SLErrorStatus* errorcode); - ::service_layer::SLErrorStatus* unsafe_arena_release_errorcode(); - - // uint64 Version = 3; - void clear_version(); - uint64_t version() const; - void set_version(uint64_t value); + void clear_table(); private: - uint64_t _internal_version() const; - void _internal_set_version(uint64_t value); + ::service_layer::SLTableType _internal_table(int index) const; + void _internal_add_table(::service_layer::SLTableType value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_table(); public: + ::service_layer::SLTableType table(int index) const; + void set_table(int index, ::service_layer::SLTableType value); + void add_table(::service_layer::SLTableType value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& table() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_table(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMsgRspEntry) + // @@protoc_insertion_point(class_scope:service_layer.SLTableTypeList) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::service_layer::SLAFOp* afop_; - ::service_layer::SLErrorStatus* errorcode_; - uint64_t version_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField table_; + mutable std::atomic _table_cached_byte_size_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFGetMsgRsp final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMsgRsp) */ { +class SLAFObjectKey final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFObjectKey) */ { public: - inline SLAFGetMsgRsp() : SLAFGetMsgRsp(nullptr) {} - ~SLAFGetMsgRsp() override; - explicit constexpr SLAFGetMsgRsp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFObjectKey() : SLAFObjectKey(nullptr) {} + ~SLAFObjectKey() override; + explicit constexpr SLAFObjectKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFGetMsgRsp(const SLAFGetMsgRsp& from); - SLAFGetMsgRsp(SLAFGetMsgRsp&& from) noexcept - : SLAFGetMsgRsp() { + SLAFObjectKey(const SLAFObjectKey& from); + SLAFObjectKey(SLAFObjectKey&& from) noexcept + : SLAFObjectKey() { *this = ::std::move(from); } - inline SLAFGetMsgRsp& operator=(const SLAFGetMsgRsp& from) { + inline SLAFObjectKey& operator=(const SLAFObjectKey& from) { CopyFrom(from); return *this; } - inline SLAFGetMsgRsp& operator=(SLAFGetMsgRsp&& from) noexcept { + inline SLAFObjectKey& operator=(SLAFObjectKey&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3218,20 +3101,27 @@ class SLAFGetMsgRsp final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFGetMsgRsp& default_instance() { + static const SLAFObjectKey& default_instance() { return *internal_default_instance(); } - static inline const SLAFGetMsgRsp* internal_default_instance() { - return reinterpret_cast( - &_SLAFGetMsgRsp_default_instance_); + enum KeyCase { + kIPRoutePrefix = 1, + kMplsLabel = 2, + kPathGroupId = 3, + KEY_NOT_SET = 0, + }; + + static inline const SLAFObjectKey* internal_default_instance() { + return reinterpret_cast( + &_SLAFObjectKey_default_instance_); } static constexpr int kIndexInFileMessages = 16; - friend void swap(SLAFGetMsgRsp& a, SLAFGetMsgRsp& b) { + friend void swap(SLAFObjectKey& a, SLAFObjectKey& b) { a.Swap(&b); } - inline void Swap(SLAFGetMsgRsp* other) { + inline void Swap(SLAFObjectKey* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3244,7 +3134,7 @@ class SLAFGetMsgRsp final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFGetMsgRsp* other) { + void UnsafeArenaSwap(SLAFObjectKey* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3252,13 +3142,13 @@ class SLAFGetMsgRsp final : // implements Message ---------------------------------------------- - SLAFGetMsgRsp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFObjectKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFGetMsgRsp& from); + void CopyFrom(const SLAFObjectKey& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFGetMsgRsp& from); + void MergeFrom(const SLAFObjectKey& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3275,15 +3165,15 @@ class SLAFGetMsgRsp final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFGetMsgRsp* other); + void InternalSwap(SLAFObjectKey* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFGetMsgRsp"; + return "service_layer.SLAFObjectKey"; } protected: - explicit SLAFGetMsgRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFObjectKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -3300,104 +3190,111 @@ class SLAFGetMsgRsp final : // accessors ------------------------------------------------------- enum : int { - kAFListFieldNumber = 4, - kVrfNameFieldNumber = 2, - kErrStatusFieldNumber = 1, - kClientIDFieldNumber = 3, + kIPRoutePrefixFieldNumber = 1, + kMplsLabelFieldNumber = 2, + kPathGroupIdFieldNumber = 3, }; - // repeated .service_layer.SLAFGetMsgRspEntry AFList = 4; - int aflist_size() const; + // .service_layer.SLRoutePrefix IPRoutePrefix = 1; + bool has_iprouteprefix() const; private: - int _internal_aflist_size() const; + bool _internal_has_iprouteprefix() const; public: - void clear_aflist(); - ::service_layer::SLAFGetMsgRspEntry* mutable_aflist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMsgRspEntry >* - mutable_aflist(); + void clear_iprouteprefix(); + const ::service_layer::SLRoutePrefix& iprouteprefix() const; + PROTOBUF_NODISCARD ::service_layer::SLRoutePrefix* release_iprouteprefix(); + ::service_layer::SLRoutePrefix* mutable_iprouteprefix(); + void set_allocated_iprouteprefix(::service_layer::SLRoutePrefix* iprouteprefix); private: - const ::service_layer::SLAFGetMsgRspEntry& _internal_aflist(int index) const; - ::service_layer::SLAFGetMsgRspEntry* _internal_add_aflist(); + const ::service_layer::SLRoutePrefix& _internal_iprouteprefix() const; + ::service_layer::SLRoutePrefix* _internal_mutable_iprouteprefix(); public: - const ::service_layer::SLAFGetMsgRspEntry& aflist(int index) const; - ::service_layer::SLAFGetMsgRspEntry* add_aflist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMsgRspEntry >& - aflist() const; + void unsafe_arena_set_allocated_iprouteprefix( + ::service_layer::SLRoutePrefix* iprouteprefix); + ::service_layer::SLRoutePrefix* unsafe_arena_release_iprouteprefix(); - // string VrfName = 2; - void clear_vrfname(); - const std::string& vrfname() const; - template - void set_vrfname(ArgT0&& arg0, ArgT... args); - std::string* mutable_vrfname(); - PROTOBUF_NODISCARD std::string* release_vrfname(); - void set_allocated_vrfname(std::string* vrfname); + // .service_layer.SLMplsEntryKey MplsLabel = 2; + bool has_mplslabel() const; private: - const std::string& _internal_vrfname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); - std::string* _internal_mutable_vrfname(); + bool _internal_has_mplslabel() const; public: - - // .service_layer.SLErrorStatus ErrStatus = 1; - bool has_errstatus() const; + void clear_mplslabel(); + const ::service_layer::SLMplsEntryKey& mplslabel() const; + PROTOBUF_NODISCARD ::service_layer::SLMplsEntryKey* release_mplslabel(); + ::service_layer::SLMplsEntryKey* mutable_mplslabel(); + void set_allocated_mplslabel(::service_layer::SLMplsEntryKey* mplslabel); private: - bool _internal_has_errstatus() const; + const ::service_layer::SLMplsEntryKey& _internal_mplslabel() const; + ::service_layer::SLMplsEntryKey* _internal_mutable_mplslabel(); public: - void clear_errstatus(); - const ::service_layer::SLErrorStatus& errstatus() const; - PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_errstatus(); - ::service_layer::SLErrorStatus* mutable_errstatus(); - void set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus); + void unsafe_arena_set_allocated_mplslabel( + ::service_layer::SLMplsEntryKey* mplslabel); + ::service_layer::SLMplsEntryKey* unsafe_arena_release_mplslabel(); + + // .service_layer.SLObjectId PathGroupId = 3; + bool has_pathgroupid() const; private: - const ::service_layer::SLErrorStatus& _internal_errstatus() const; - ::service_layer::SLErrorStatus* _internal_mutable_errstatus(); + bool _internal_has_pathgroupid() const; public: - void unsafe_arena_set_allocated_errstatus( - ::service_layer::SLErrorStatus* errstatus); - ::service_layer::SLErrorStatus* unsafe_arena_release_errstatus(); - - // uint64 ClientID = 3; - void clear_clientid(); - uint64_t clientid() const; - void set_clientid(uint64_t value); + void clear_pathgroupid(); + const ::service_layer::SLObjectId& pathgroupid() const; + PROTOBUF_NODISCARD ::service_layer::SLObjectId* release_pathgroupid(); + ::service_layer::SLObjectId* mutable_pathgroupid(); + void set_allocated_pathgroupid(::service_layer::SLObjectId* pathgroupid); private: - uint64_t _internal_clientid() const; - void _internal_set_clientid(uint64_t value); + const ::service_layer::SLObjectId& _internal_pathgroupid() const; + ::service_layer::SLObjectId* _internal_mutable_pathgroupid(); public: + void unsafe_arena_set_allocated_pathgroupid( + ::service_layer::SLObjectId* pathgroupid); + ::service_layer::SLObjectId* unsafe_arena_release_pathgroupid(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMsgRsp) + void clear_key(); + KeyCase key_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLAFObjectKey) private: class _Internal; + void set_has_iprouteprefix(); + void set_has_mplslabel(); + void set_has_pathgroupid(); + + inline bool has_key() const; + inline void clear_has_key(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMsgRspEntry > aflist_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; - ::service_layer::SLErrorStatus* errstatus_; - uint64_t clientid_; + union KeyUnion { + constexpr KeyUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLRoutePrefix* iprouteprefix_; + ::service_layer::SLMplsEntryKey* mplslabel_; + ::service_layer::SLObjectId* pathgroupid_; + } key_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFMsg final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFMsg) */ { +class SLAFGetMatch final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMatch) */ { public: - inline SLAFMsg() : SLAFMsg(nullptr) {} - ~SLAFMsg() override; - explicit constexpr SLAFMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFGetMatch() : SLAFGetMatch(nullptr) {} + ~SLAFGetMatch() override; + explicit constexpr SLAFGetMatch(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFMsg(const SLAFMsg& from); - SLAFMsg(SLAFMsg&& from) noexcept - : SLAFMsg() { + SLAFGetMatch(const SLAFGetMatch& from); + SLAFGetMatch(SLAFGetMatch&& from) noexcept + : SLAFGetMatch() { *this = ::std::move(from); } - inline SLAFMsg& operator=(const SLAFMsg& from) { + inline SLAFGetMatch& operator=(const SLAFGetMatch& from) { CopyFrom(from); return *this; } - inline SLAFMsg& operator=(SLAFMsg&& from) noexcept { + inline SLAFGetMatch& operator=(SLAFGetMatch&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3420,20 +3317,27 @@ class SLAFMsg final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFMsg& default_instance() { + static const SLAFGetMatch& default_instance() { return *internal_default_instance(); } - static inline const SLAFMsg* internal_default_instance() { - return reinterpret_cast( - &_SLAFMsg_default_instance_); + enum EntryCase { + kKey = 1, + kPathGroupRegex = 2, + kVxlanVniId = 3, + ENTRY_NOT_SET = 0, + }; + + static inline const SLAFGetMatch* internal_default_instance() { + return reinterpret_cast( + &_SLAFGetMatch_default_instance_); } static constexpr int kIndexInFileMessages = 17; - friend void swap(SLAFMsg& a, SLAFMsg& b) { + friend void swap(SLAFGetMatch& a, SLAFGetMatch& b) { a.Swap(&b); } - inline void Swap(SLAFMsg* other) { + inline void Swap(SLAFGetMatch* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3446,7 +3350,7 @@ class SLAFMsg final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFMsg* other) { + void UnsafeArenaSwap(SLAFGetMatch* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3454,13 +3358,13 @@ class SLAFMsg final : // implements Message ---------------------------------------------- - SLAFMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFGetMatch* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFMsg& from); + void CopyFrom(const SLAFGetMatch& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFMsg& from); + void MergeFrom(const SLAFGetMatch& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3477,15 +3381,15 @@ class SLAFMsg final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFMsg* other); + void InternalSwap(SLAFGetMatch* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFMsg"; + return "service_layer.SLAFGetMatch"; } protected: - explicit SLAFMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFGetMatch(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -3502,84 +3406,106 @@ class SLAFMsg final : // accessors ------------------------------------------------------- enum : int { - kOpListFieldNumber = 3, - kVrfNameFieldNumber = 2, - kOperFieldNumber = 1, + kKeyFieldNumber = 1, + kPathGroupRegexFieldNumber = 2, + kVxlanVniIdFieldNumber = 3, }; - // repeated .service_layer.SLAFOp OpList = 3; - int oplist_size() const; + // .service_layer.SLAFObjectKey Key = 1; + bool has_key() const; private: - int _internal_oplist_size() const; + bool _internal_has_key() const; public: - void clear_oplist(); - ::service_layer::SLAFOp* mutable_oplist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOp >* - mutable_oplist(); + void clear_key(); + const ::service_layer::SLAFObjectKey& key() const; + PROTOBUF_NODISCARD ::service_layer::SLAFObjectKey* release_key(); + ::service_layer::SLAFObjectKey* mutable_key(); + void set_allocated_key(::service_layer::SLAFObjectKey* key); private: - const ::service_layer::SLAFOp& _internal_oplist(int index) const; - ::service_layer::SLAFOp* _internal_add_oplist(); + const ::service_layer::SLAFObjectKey& _internal_key() const; + ::service_layer::SLAFObjectKey* _internal_mutable_key(); public: - const ::service_layer::SLAFOp& oplist(int index) const; - ::service_layer::SLAFOp* add_oplist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOp >& - oplist() const; + void unsafe_arena_set_allocated_key( + ::service_layer::SLAFObjectKey* key); + ::service_layer::SLAFObjectKey* unsafe_arena_release_key(); - // string VrfName = 2; - void clear_vrfname(); - const std::string& vrfname() const; + // string PathGroupRegex = 2; + bool has_pathgroupregex() const; + private: + bool _internal_has_pathgroupregex() const; + public: + void clear_pathgroupregex(); + const std::string& pathgroupregex() const; template - void set_vrfname(ArgT0&& arg0, ArgT... args); - std::string* mutable_vrfname(); - PROTOBUF_NODISCARD std::string* release_vrfname(); - void set_allocated_vrfname(std::string* vrfname); + void set_pathgroupregex(ArgT0&& arg0, ArgT... args); + std::string* mutable_pathgroupregex(); + PROTOBUF_NODISCARD std::string* release_pathgroupregex(); + void set_allocated_pathgroupregex(std::string* pathgroupregex); private: - const std::string& _internal_vrfname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); - std::string* _internal_mutable_vrfname(); + const std::string& _internal_pathgroupregex() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_pathgroupregex(const std::string& value); + std::string* _internal_mutable_pathgroupregex(); public: - // .service_layer.SLObjectOp Oper = 1; - void clear_oper(); - ::service_layer::SLObjectOp oper() const; - void set_oper(::service_layer::SLObjectOp value); + // uint32 VxlanVniId = 3; + bool has_vxlanvniid() const; private: - ::service_layer::SLObjectOp _internal_oper() const; - void _internal_set_oper(::service_layer::SLObjectOp value); + bool _internal_has_vxlanvniid() const; + public: + void clear_vxlanvniid(); + uint32_t vxlanvniid() const; + void set_vxlanvniid(uint32_t value); + private: + uint32_t _internal_vxlanvniid() const; + void _internal_set_vxlanvniid(uint32_t value); public: - // @@protoc_insertion_point(class_scope:service_layer.SLAFMsg) + void clear_entry(); + EntryCase entry_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMatch) private: class _Internal; + void set_has_key(); + void set_has_pathgroupregex(); + void set_has_vxlanvniid(); + + inline bool has_entry() const; + inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOp > oplist_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; - int oper_; + union EntryUnion { + constexpr EntryUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLAFObjectKey* key_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr pathgroupregex_; + uint32_t vxlanvniid_; + } entry_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFRes final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFRes) */ { +class SLAFGetMatchList final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMatchList) */ { public: - inline SLAFRes() : SLAFRes(nullptr) {} - ~SLAFRes() override; - explicit constexpr SLAFRes(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFGetMatchList() : SLAFGetMatchList(nullptr) {} + ~SLAFGetMatchList() override; + explicit constexpr SLAFGetMatchList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFRes(const SLAFRes& from); - SLAFRes(SLAFRes&& from) noexcept - : SLAFRes() { + SLAFGetMatchList(const SLAFGetMatchList& from); + SLAFGetMatchList(SLAFGetMatchList&& from) noexcept + : SLAFGetMatchList() { *this = ::std::move(from); } - inline SLAFRes& operator=(const SLAFRes& from) { + inline SLAFGetMatchList& operator=(const SLAFGetMatchList& from) { CopyFrom(from); return *this; } - inline SLAFRes& operator=(SLAFRes&& from) noexcept { + inline SLAFGetMatchList& operator=(SLAFGetMatchList&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3602,20 +3528,20 @@ class SLAFRes final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFRes& default_instance() { + static const SLAFGetMatchList& default_instance() { return *internal_default_instance(); } - static inline const SLAFRes* internal_default_instance() { - return reinterpret_cast( - &_SLAFRes_default_instance_); + static inline const SLAFGetMatchList* internal_default_instance() { + return reinterpret_cast( + &_SLAFGetMatchList_default_instance_); } static constexpr int kIndexInFileMessages = 18; - friend void swap(SLAFRes& a, SLAFRes& b) { + friend void swap(SLAFGetMatchList& a, SLAFGetMatchList& b) { a.Swap(&b); } - inline void Swap(SLAFRes* other) { + inline void Swap(SLAFGetMatchList* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3628,7 +3554,7 @@ class SLAFRes final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFRes* other) { + void UnsafeArenaSwap(SLAFGetMatchList* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3636,13 +3562,13 @@ class SLAFRes final : // implements Message ---------------------------------------------- - SLAFRes* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFGetMatchList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFRes& from); + void CopyFrom(const SLAFGetMatchList& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFRes& from); + void MergeFrom(const SLAFGetMatchList& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3659,15 +3585,15 @@ class SLAFRes final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFRes* other); + void InternalSwap(SLAFGetMatchList* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFRes"; + return "service_layer.SLAFGetMatchList"; } protected: - explicit SLAFRes(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFGetMatchList(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -3684,113 +3610,57 @@ class SLAFRes final : // accessors ------------------------------------------------------- enum : int { - kErrorStringFieldNumber = 3, - kErrStatusFieldNumber = 1, - kOperationFieldNumber = 2, - kFIBStatusFieldNumber = 4, + kMatchFieldNumber = 1, }; - // string ErrorString = 3; - void clear_errorstring(); - const std::string& errorstring() const; - template - void set_errorstring(ArgT0&& arg0, ArgT... args); - std::string* mutable_errorstring(); - PROTOBUF_NODISCARD std::string* release_errorstring(); - void set_allocated_errorstring(std::string* errorstring); + // repeated .service_layer.SLAFGetMatch Match = 1; + int match_size() const; private: - const std::string& _internal_errorstring() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_errorstring(const std::string& value); - std::string* _internal_mutable_errorstring(); - public: - - // .service_layer.SLErrorStatus ErrStatus = 1; - bool has_errstatus() const; - private: - bool _internal_has_errstatus() const; - public: - void clear_errstatus(); - const ::service_layer::SLErrorStatus& errstatus() const; - PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_errstatus(); - ::service_layer::SLErrorStatus* mutable_errstatus(); - void set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus); - private: - const ::service_layer::SLErrorStatus& _internal_errstatus() const; - ::service_layer::SLErrorStatus* _internal_mutable_errstatus(); - public: - void unsafe_arena_set_allocated_errstatus( - ::service_layer::SLErrorStatus* errstatus); - ::service_layer::SLErrorStatus* unsafe_arena_release_errstatus(); - - // .service_layer.SLAFOp Operation = 2; - bool has_operation() const; - private: - bool _internal_has_operation() const; + int _internal_match_size() const; public: - void clear_operation(); - const ::service_layer::SLAFOp& operation() const; - PROTOBUF_NODISCARD ::service_layer::SLAFOp* release_operation(); - ::service_layer::SLAFOp* mutable_operation(); - void set_allocated_operation(::service_layer::SLAFOp* operation); + void clear_match(); + ::service_layer::SLAFGetMatch* mutable_match(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMatch >* + mutable_match(); private: - const ::service_layer::SLAFOp& _internal_operation() const; - ::service_layer::SLAFOp* _internal_mutable_operation(); + const ::service_layer::SLAFGetMatch& _internal_match(int index) const; + ::service_layer::SLAFGetMatch* _internal_add_match(); public: - void unsafe_arena_set_allocated_operation( - ::service_layer::SLAFOp* operation); - ::service_layer::SLAFOp* unsafe_arena_release_operation(); + const ::service_layer::SLAFGetMatch& match(int index) const; + ::service_layer::SLAFGetMatch* add_match(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMatch >& + match() const; - // .service_layer.SLAFFibStatus FIBStatus = 4; - bool has_fibstatus() const; - private: - bool _internal_has_fibstatus() const; - public: - void clear_fibstatus(); - const ::service_layer::SLAFFibStatus& fibstatus() const; - PROTOBUF_NODISCARD ::service_layer::SLAFFibStatus* release_fibstatus(); - ::service_layer::SLAFFibStatus* mutable_fibstatus(); - void set_allocated_fibstatus(::service_layer::SLAFFibStatus* fibstatus); - private: - const ::service_layer::SLAFFibStatus& _internal_fibstatus() const; - ::service_layer::SLAFFibStatus* _internal_mutable_fibstatus(); - public: - void unsafe_arena_set_allocated_fibstatus( - ::service_layer::SLAFFibStatus* fibstatus); - ::service_layer::SLAFFibStatus* unsafe_arena_release_fibstatus(); - - // @@protoc_insertion_point(class_scope:service_layer.SLAFRes) + // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMatchList) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr errorstring_; - ::service_layer::SLErrorStatus* errstatus_; - ::service_layer::SLAFOp* operation_; - ::service_layer::SLAFFibStatus* fibstatus_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMatch > match_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFMsgRsp final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFMsgRsp) */ { +class SLAFGetMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMsg) */ { public: - inline SLAFMsgRsp() : SLAFMsgRsp(nullptr) {} - ~SLAFMsgRsp() override; - explicit constexpr SLAFMsgRsp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFGetMsg() : SLAFGetMsg(nullptr) {} + ~SLAFGetMsg() override; + explicit constexpr SLAFGetMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFMsgRsp(const SLAFMsgRsp& from); - SLAFMsgRsp(SLAFMsgRsp&& from) noexcept - : SLAFMsgRsp() { + SLAFGetMsg(const SLAFGetMsg& from); + SLAFGetMsg(SLAFGetMsg&& from) noexcept + : SLAFGetMsg() { *this = ::std::move(from); } - inline SLAFMsgRsp& operator=(const SLAFMsgRsp& from) { + inline SLAFGetMsg& operator=(const SLAFGetMsg& from) { CopyFrom(from); return *this; } - inline SLAFMsgRsp& operator=(SLAFMsgRsp&& from) noexcept { + inline SLAFGetMsg& operator=(SLAFGetMsg&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3813,20 +3683,32 @@ class SLAFMsgRsp final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFMsgRsp& default_instance() { + static const SLAFGetMsg& default_instance() { return *internal_default_instance(); } - static inline const SLAFMsgRsp* internal_default_instance() { - return reinterpret_cast( - &_SLAFMsgRsp_default_instance_); - } - static constexpr int kIndexInFileMessages = - 19; + enum ClientCase { + kClientIDList = 2, + kAllClients = 3, + CLIENT_NOT_SET = 0, + }; - friend void swap(SLAFMsgRsp& a, SLAFMsgRsp& b) { + enum MatchCase { + kTableList = 4, + kRouteMatchList = 5, + MATCH_NOT_SET = 0, + }; + + static inline const SLAFGetMsg* internal_default_instance() { + return reinterpret_cast( + &_SLAFGetMsg_default_instance_); + } + static constexpr int kIndexInFileMessages = + 19; + + friend void swap(SLAFGetMsg& a, SLAFGetMsg& b) { a.Swap(&b); } - inline void Swap(SLAFMsgRsp* other) { + inline void Swap(SLAFGetMsg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3839,7 +3721,7 @@ class SLAFMsgRsp final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFMsgRsp* other) { + void UnsafeArenaSwap(SLAFGetMsg* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3847,13 +3729,13 @@ class SLAFMsgRsp final : // implements Message ---------------------------------------------- - SLAFMsgRsp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFGetMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFMsgRsp& from); + void CopyFrom(const SLAFGetMsg& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFMsgRsp& from); + void MergeFrom(const SLAFGetMsg& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3870,15 +3752,15 @@ class SLAFMsgRsp final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFMsgRsp* other); + void InternalSwap(SLAFGetMsg* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFMsgRsp"; + return "service_layer.SLAFGetMsg"; } protected: - explicit SLAFMsgRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFGetMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -3895,27 +3777,12 @@ class SLAFMsgRsp final : // accessors ------------------------------------------------------- enum : int { - kResultsFieldNumber = 2, kVrfNameFieldNumber = 1, + kClientIDListFieldNumber = 2, + kAllClientsFieldNumber = 3, + kTableListFieldNumber = 4, + kRouteMatchListFieldNumber = 5, }; - // repeated .service_layer.SLAFRes Results = 2; - int results_size() const; - private: - int _internal_results_size() const; - public: - void clear_results(); - ::service_layer::SLAFRes* mutable_results(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFRes >* - mutable_results(); - private: - const ::service_layer::SLAFRes& _internal_results(int index) const; - ::service_layer::SLAFRes* _internal_add_results(); - public: - const ::service_layer::SLAFRes& results(int index) const; - ::service_layer::SLAFRes* add_results(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFRes >& - results() const; - // string VrfName = 1; void clear_vrfname(); const std::string& vrfname() const; @@ -3930,38 +3797,132 @@ class SLAFMsgRsp final : std::string* _internal_mutable_vrfname(); public: - // @@protoc_insertion_point(class_scope:service_layer.SLAFMsgRsp) + // .service_layer.SLAFClientIDList ClientIDList = 2; + bool has_clientidlist() const; + private: + bool _internal_has_clientidlist() const; + public: + void clear_clientidlist(); + const ::service_layer::SLAFClientIDList& clientidlist() const; + PROTOBUF_NODISCARD ::service_layer::SLAFClientIDList* release_clientidlist(); + ::service_layer::SLAFClientIDList* mutable_clientidlist(); + void set_allocated_clientidlist(::service_layer::SLAFClientIDList* clientidlist); + private: + const ::service_layer::SLAFClientIDList& _internal_clientidlist() const; + ::service_layer::SLAFClientIDList* _internal_mutable_clientidlist(); + public: + void unsafe_arena_set_allocated_clientidlist( + ::service_layer::SLAFClientIDList* clientidlist); + ::service_layer::SLAFClientIDList* unsafe_arena_release_clientidlist(); + + // bool AllClients = 3; + bool has_allclients() const; + private: + bool _internal_has_allclients() const; + public: + void clear_allclients(); + bool allclients() const; + void set_allclients(bool value); + private: + bool _internal_allclients() const; + void _internal_set_allclients(bool value); + public: + + // .service_layer.SLTableTypeList TableList = 4; + bool has_tablelist() const; + private: + bool _internal_has_tablelist() const; + public: + void clear_tablelist(); + const ::service_layer::SLTableTypeList& tablelist() const; + PROTOBUF_NODISCARD ::service_layer::SLTableTypeList* release_tablelist(); + ::service_layer::SLTableTypeList* mutable_tablelist(); + void set_allocated_tablelist(::service_layer::SLTableTypeList* tablelist); + private: + const ::service_layer::SLTableTypeList& _internal_tablelist() const; + ::service_layer::SLTableTypeList* _internal_mutable_tablelist(); + public: + void unsafe_arena_set_allocated_tablelist( + ::service_layer::SLTableTypeList* tablelist); + ::service_layer::SLTableTypeList* unsafe_arena_release_tablelist(); + + // .service_layer.SLAFGetMatchList RouteMatchList = 5; + bool has_routematchlist() const; + private: + bool _internal_has_routematchlist() const; + public: + void clear_routematchlist(); + const ::service_layer::SLAFGetMatchList& routematchlist() const; + PROTOBUF_NODISCARD ::service_layer::SLAFGetMatchList* release_routematchlist(); + ::service_layer::SLAFGetMatchList* mutable_routematchlist(); + void set_allocated_routematchlist(::service_layer::SLAFGetMatchList* routematchlist); + private: + const ::service_layer::SLAFGetMatchList& _internal_routematchlist() const; + ::service_layer::SLAFGetMatchList* _internal_mutable_routematchlist(); + public: + void unsafe_arena_set_allocated_routematchlist( + ::service_layer::SLAFGetMatchList* routematchlist); + ::service_layer::SLAFGetMatchList* unsafe_arena_release_routematchlist(); + + void clear_client(); + ClientCase client_case() const; + void clear_match(); + MatchCase match_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMsg) private: class _Internal; + void set_has_clientidlist(); + void set_has_allclients(); + void set_has_tablelist(); + void set_has_routematchlist(); + + inline bool has_client() const; + inline void clear_has_client(); + + inline bool has_match() const; + inline void clear_has_match(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFRes > results_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; + union ClientUnion { + constexpr ClientUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLAFClientIDList* clientidlist_; + bool allclients_; + } client_; + union MatchUnion { + constexpr MatchUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLTableTypeList* tablelist_; + ::service_layer::SLAFGetMatchList* routematchlist_; + } match_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[2]; + friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFRedistRegMsg final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFRedistRegMsg) */ { +class SLAFGetMsgRspEntry final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMsgRspEntry) */ { public: - inline SLAFRedistRegMsg() : SLAFRedistRegMsg(nullptr) {} - ~SLAFRedistRegMsg() override; - explicit constexpr SLAFRedistRegMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFGetMsgRspEntry() : SLAFGetMsgRspEntry(nullptr) {} + ~SLAFGetMsgRspEntry() override; + explicit constexpr SLAFGetMsgRspEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFRedistRegMsg(const SLAFRedistRegMsg& from); - SLAFRedistRegMsg(SLAFRedistRegMsg&& from) noexcept - : SLAFRedistRegMsg() { + SLAFGetMsgRspEntry(const SLAFGetMsgRspEntry& from); + SLAFGetMsgRspEntry(SLAFGetMsgRspEntry&& from) noexcept + : SLAFGetMsgRspEntry() { *this = ::std::move(from); } - inline SLAFRedistRegMsg& operator=(const SLAFRedistRegMsg& from) { + inline SLAFGetMsgRspEntry& operator=(const SLAFGetMsgRspEntry& from) { CopyFrom(from); return *this; } - inline SLAFRedistRegMsg& operator=(SLAFRedistRegMsg&& from) noexcept { + inline SLAFGetMsgRspEntry& operator=(SLAFGetMsgRspEntry&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3984,20 +3945,20 @@ class SLAFRedistRegMsg final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFRedistRegMsg& default_instance() { + static const SLAFGetMsgRspEntry& default_instance() { return *internal_default_instance(); } - static inline const SLAFRedistRegMsg* internal_default_instance() { - return reinterpret_cast( - &_SLAFRedistRegMsg_default_instance_); + static inline const SLAFGetMsgRspEntry* internal_default_instance() { + return reinterpret_cast( + &_SLAFGetMsgRspEntry_default_instance_); } static constexpr int kIndexInFileMessages = 20; - friend void swap(SLAFRedistRegMsg& a, SLAFRedistRegMsg& b) { + friend void swap(SLAFGetMsgRspEntry& a, SLAFGetMsgRspEntry& b) { a.Swap(&b); } - inline void Swap(SLAFRedistRegMsg* other) { + inline void Swap(SLAFGetMsgRspEntry* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4010,7 +3971,7 @@ class SLAFRedistRegMsg final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFRedistRegMsg* other) { + void UnsafeArenaSwap(SLAFGetMsgRspEntry* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4018,13 +3979,13 @@ class SLAFRedistRegMsg final : // implements Message ---------------------------------------------- - SLAFRedistRegMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFGetMsgRspEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFRedistRegMsg& from); + void CopyFrom(const SLAFGetMsgRspEntry& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFRedistRegMsg& from); + void MergeFrom(const SLAFGetMsgRspEntry& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4041,15 +4002,15 @@ class SLAFRedistRegMsg final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFRedistRegMsg* other); + void InternalSwap(SLAFGetMsgRspEntry* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFRedistRegMsg"; + return "service_layer.SLAFGetMsgRspEntry"; } protected: - explicit SLAFRedistRegMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFGetMsgRspEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -4066,80 +4027,68 @@ class SLAFRedistRegMsg final : // accessors ------------------------------------------------------- enum : int { - kSrcProtoFieldNumber = 1, - kSrcProtoTagFieldNumber = 2, - kTableFieldNumber = 3, + kAFOpMsgFieldNumber = 1, + kFIBStatusFieldNumber = 2, }; - // string SrcProto = 1; - void clear_srcproto(); - const std::string& srcproto() const; - template - void set_srcproto(ArgT0&& arg0, ArgT... args); - std::string* mutable_srcproto(); - PROTOBUF_NODISCARD std::string* release_srcproto(); - void set_allocated_srcproto(std::string* srcproto); + // .service_layer.SLAFOpMsg AFOpMsg = 1; + bool has_afopmsg() const; private: - const std::string& _internal_srcproto() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcproto(const std::string& value); - std::string* _internal_mutable_srcproto(); + bool _internal_has_afopmsg() const; public: - - // string SrcProtoTag = 2; - void clear_srcprototag(); - const std::string& srcprototag() const; - template - void set_srcprototag(ArgT0&& arg0, ArgT... args); - std::string* mutable_srcprototag(); - PROTOBUF_NODISCARD std::string* release_srcprototag(); - void set_allocated_srcprototag(std::string* srcprototag); + void clear_afopmsg(); + const ::service_layer::SLAFOpMsg& afopmsg() const; + PROTOBUF_NODISCARD ::service_layer::SLAFOpMsg* release_afopmsg(); + ::service_layer::SLAFOpMsg* mutable_afopmsg(); + void set_allocated_afopmsg(::service_layer::SLAFOpMsg* afopmsg); private: - const std::string& _internal_srcprototag() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcprototag(const std::string& value); - std::string* _internal_mutable_srcprototag(); + const ::service_layer::SLAFOpMsg& _internal_afopmsg() const; + ::service_layer::SLAFOpMsg* _internal_mutable_afopmsg(); public: + void unsafe_arena_set_allocated_afopmsg( + ::service_layer::SLAFOpMsg* afopmsg); + ::service_layer::SLAFOpMsg* unsafe_arena_release_afopmsg(); - // .service_layer.SLTableType Table = 3; - void clear_table(); - ::service_layer::SLTableType table() const; - void set_table(::service_layer::SLTableType value); + // .service_layer.SLAFFibStatus FIBStatus = 2; + void clear_fibstatus(); + ::service_layer::SLAFFibStatus fibstatus() const; + void set_fibstatus(::service_layer::SLAFFibStatus value); private: - ::service_layer::SLTableType _internal_table() const; - void _internal_set_table(::service_layer::SLTableType value); + ::service_layer::SLAFFibStatus _internal_fibstatus() const; + void _internal_set_fibstatus(::service_layer::SLAFFibStatus value); public: - // @@protoc_insertion_point(class_scope:service_layer.SLAFRedistRegMsg) + // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMsgRspEntry) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcproto_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcprototag_; - int table_; + ::service_layer::SLAFOpMsg* afopmsg_; + int fibstatus_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNextHopRegKey_SLNextHopKey final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNextHopRegKey.SLNextHopKey) */ { +class SLAFGetMsgRsp final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFGetMsgRsp) */ { public: - inline SLAFNextHopRegKey_SLNextHopKey() : SLAFNextHopRegKey_SLNextHopKey(nullptr) {} - ~SLAFNextHopRegKey_SLNextHopKey() override; - explicit constexpr SLAFNextHopRegKey_SLNextHopKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFGetMsgRsp() : SLAFGetMsgRsp(nullptr) {} + ~SLAFGetMsgRsp() override; + explicit constexpr SLAFGetMsgRsp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNextHopRegKey_SLNextHopKey(const SLAFNextHopRegKey_SLNextHopKey& from); - SLAFNextHopRegKey_SLNextHopKey(SLAFNextHopRegKey_SLNextHopKey&& from) noexcept - : SLAFNextHopRegKey_SLNextHopKey() { + SLAFGetMsgRsp(const SLAFGetMsgRsp& from); + SLAFGetMsgRsp(SLAFGetMsgRsp&& from) noexcept + : SLAFGetMsgRsp() { *this = ::std::move(from); } - inline SLAFNextHopRegKey_SLNextHopKey& operator=(const SLAFNextHopRegKey_SLNextHopKey& from) { + inline SLAFGetMsgRsp& operator=(const SLAFGetMsgRsp& from) { CopyFrom(from); return *this; } - inline SLAFNextHopRegKey_SLNextHopKey& operator=(SLAFNextHopRegKey_SLNextHopKey&& from) noexcept { + inline SLAFGetMsgRsp& operator=(SLAFGetMsgRsp&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4162,20 +4111,20 @@ class SLAFNextHopRegKey_SLNextHopKey final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNextHopRegKey_SLNextHopKey& default_instance() { + static const SLAFGetMsgRsp& default_instance() { return *internal_default_instance(); } - static inline const SLAFNextHopRegKey_SLNextHopKey* internal_default_instance() { - return reinterpret_cast( - &_SLAFNextHopRegKey_SLNextHopKey_default_instance_); + static inline const SLAFGetMsgRsp* internal_default_instance() { + return reinterpret_cast( + &_SLAFGetMsgRsp_default_instance_); } static constexpr int kIndexInFileMessages = 21; - friend void swap(SLAFNextHopRegKey_SLNextHopKey& a, SLAFNextHopRegKey_SLNextHopKey& b) { + friend void swap(SLAFGetMsgRsp& a, SLAFGetMsgRsp& b) { a.Swap(&b); } - inline void Swap(SLAFNextHopRegKey_SLNextHopKey* other) { + inline void Swap(SLAFGetMsgRsp* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4188,7 +4137,7 @@ class SLAFNextHopRegKey_SLNextHopKey final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNextHopRegKey_SLNextHopKey* other) { + void UnsafeArenaSwap(SLAFGetMsgRsp* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4196,13 +4145,13 @@ class SLAFNextHopRegKey_SLNextHopKey final : // implements Message ---------------------------------------------- - SLAFNextHopRegKey_SLNextHopKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFGetMsgRsp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNextHopRegKey_SLNextHopKey& from); + void CopyFrom(const SLAFGetMsgRsp& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNextHopRegKey_SLNextHopKey& from); + void MergeFrom(const SLAFGetMsgRsp& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4219,15 +4168,15 @@ class SLAFNextHopRegKey_SLNextHopKey final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNextHopRegKey_SLNextHopKey* other); + void InternalSwap(SLAFGetMsgRsp* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNextHopRegKey.SLNextHopKey"; + return "service_layer.SLAFGetMsgRsp"; } protected: - explicit SLAFNextHopRegKey_SLNextHopKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFGetMsgRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -4244,101 +4193,104 @@ class SLAFNextHopRegKey_SLNextHopKey final : // accessors ------------------------------------------------------- enum : int { - kNextHopFieldNumber = 1, - kNextHopLenFieldNumber = 2, - kExactMatchFieldNumber = 3, - kAllowDefaultFieldNumber = 4, - kRecurseFieldNumber = 5, + kAFListFieldNumber = 4, + kVrfNameFieldNumber = 2, + kErrStatusFieldNumber = 1, + kClientIDFieldNumber = 3, }; - // .service_layer.SLIpAddress NextHop = 1; - bool has_nexthop() const; + // repeated .service_layer.SLAFGetMsgRspEntry AFList = 4; + int aflist_size() const; private: - bool _internal_has_nexthop() const; + int _internal_aflist_size() const; public: - void clear_nexthop(); - const ::service_layer::SLIpAddress& nexthop() const; - PROTOBUF_NODISCARD ::service_layer::SLIpAddress* release_nexthop(); - ::service_layer::SLIpAddress* mutable_nexthop(); - void set_allocated_nexthop(::service_layer::SLIpAddress* nexthop); + void clear_aflist(); + ::service_layer::SLAFGetMsgRspEntry* mutable_aflist(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMsgRspEntry >* + mutable_aflist(); private: - const ::service_layer::SLIpAddress& _internal_nexthop() const; - ::service_layer::SLIpAddress* _internal_mutable_nexthop(); + const ::service_layer::SLAFGetMsgRspEntry& _internal_aflist(int index) const; + ::service_layer::SLAFGetMsgRspEntry* _internal_add_aflist(); public: - void unsafe_arena_set_allocated_nexthop( - ::service_layer::SLIpAddress* nexthop); - ::service_layer::SLIpAddress* unsafe_arena_release_nexthop(); + const ::service_layer::SLAFGetMsgRspEntry& aflist(int index) const; + ::service_layer::SLAFGetMsgRspEntry* add_aflist(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMsgRspEntry >& + aflist() const; - // uint32 NextHopLen = 2; - void clear_nexthoplen(); - uint32_t nexthoplen() const; - void set_nexthoplen(uint32_t value); + // string VrfName = 2; + void clear_vrfname(); + const std::string& vrfname() const; + template + void set_vrfname(ArgT0&& arg0, ArgT... args); + std::string* mutable_vrfname(); + PROTOBUF_NODISCARD std::string* release_vrfname(); + void set_allocated_vrfname(std::string* vrfname); private: - uint32_t _internal_nexthoplen() const; - void _internal_set_nexthoplen(uint32_t value); + const std::string& _internal_vrfname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); + std::string* _internal_mutable_vrfname(); public: - // bool ExactMatch = 3; - void clear_exactmatch(); - bool exactmatch() const; - void set_exactmatch(bool value); + // .service_layer.SLErrorStatus ErrStatus = 1; + bool has_errstatus() const; private: - bool _internal_exactmatch() const; - void _internal_set_exactmatch(bool value); + bool _internal_has_errstatus() const; public: - - // bool AllowDefault = 4; - void clear_allowdefault(); - bool allowdefault() const; - void set_allowdefault(bool value); - private: - bool _internal_allowdefault() const; - void _internal_set_allowdefault(bool value); + void clear_errstatus(); + const ::service_layer::SLErrorStatus& errstatus() const; + PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_errstatus(); + ::service_layer::SLErrorStatus* mutable_errstatus(); + void set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus); + private: + const ::service_layer::SLErrorStatus& _internal_errstatus() const; + ::service_layer::SLErrorStatus* _internal_mutable_errstatus(); public: + void unsafe_arena_set_allocated_errstatus( + ::service_layer::SLErrorStatus* errstatus); + ::service_layer::SLErrorStatus* unsafe_arena_release_errstatus(); - // bool Recurse = 5; - void clear_recurse(); - bool recurse() const; - void set_recurse(bool value); + // uint64 ClientID = 3; + void clear_clientid(); + uint64_t clientid() const; + void set_clientid(uint64_t value); private: - bool _internal_recurse() const; - void _internal_set_recurse(bool value); + uint64_t _internal_clientid() const; + void _internal_set_clientid(uint64_t value); public: - // @@protoc_insertion_point(class_scope:service_layer.SLAFNextHopRegKey.SLNextHopKey) + // @@protoc_insertion_point(class_scope:service_layer.SLAFGetMsgRsp) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::service_layer::SLIpAddress* nexthop_; - uint32_t nexthoplen_; - bool exactmatch_; - bool allowdefault_; - bool recurse_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMsgRspEntry > aflist_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; + ::service_layer::SLErrorStatus* errstatus_; + uint64_t clientid_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNextHopRegKey final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNextHopRegKey) */ { +class SLAFMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFMsg) */ { public: - inline SLAFNextHopRegKey() : SLAFNextHopRegKey(nullptr) {} - ~SLAFNextHopRegKey() override; - explicit constexpr SLAFNextHopRegKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFMsg() : SLAFMsg(nullptr) {} + ~SLAFMsg() override; + explicit constexpr SLAFMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNextHopRegKey(const SLAFNextHopRegKey& from); - SLAFNextHopRegKey(SLAFNextHopRegKey&& from) noexcept - : SLAFNextHopRegKey() { + SLAFMsg(const SLAFMsg& from); + SLAFMsg(SLAFMsg&& from) noexcept + : SLAFMsg() { *this = ::std::move(from); } - inline SLAFNextHopRegKey& operator=(const SLAFNextHopRegKey& from) { + inline SLAFMsg& operator=(const SLAFMsg& from) { CopyFrom(from); return *this; } - inline SLAFNextHopRegKey& operator=(SLAFNextHopRegKey&& from) noexcept { + inline SLAFMsg& operator=(SLAFMsg&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4361,25 +4313,20 @@ class SLAFNextHopRegKey final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNextHopRegKey& default_instance() { + static const SLAFMsg& default_instance() { return *internal_default_instance(); } - enum NexthopkeyCase { - kNextHop = 1, - NEXTHOPKEY_NOT_SET = 0, - }; - - static inline const SLAFNextHopRegKey* internal_default_instance() { - return reinterpret_cast( - &_SLAFNextHopRegKey_default_instance_); + static inline const SLAFMsg* internal_default_instance() { + return reinterpret_cast( + &_SLAFMsg_default_instance_); } static constexpr int kIndexInFileMessages = 22; - friend void swap(SLAFNextHopRegKey& a, SLAFNextHopRegKey& b) { + friend void swap(SLAFMsg& a, SLAFMsg& b) { a.Swap(&b); } - inline void Swap(SLAFNextHopRegKey* other) { + inline void Swap(SLAFMsg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4392,7 +4339,7 @@ class SLAFNextHopRegKey final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNextHopRegKey* other) { + void UnsafeArenaSwap(SLAFMsg* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4400,13 +4347,13 @@ class SLAFNextHopRegKey final : // implements Message ---------------------------------------------- - SLAFNextHopRegKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNextHopRegKey& from); + void CopyFrom(const SLAFMsg& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNextHopRegKey& from); + void MergeFrom(const SLAFMsg& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4423,15 +4370,15 @@ class SLAFNextHopRegKey final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNextHopRegKey* other); + void InternalSwap(SLAFMsg* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNextHopRegKey"; + return "service_layer.SLAFMsg"; } protected: - explicit SLAFNextHopRegKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -4445,74 +4392,87 @@ class SLAFNextHopRegKey final : // nested types ---------------------------------------------------- - typedef SLAFNextHopRegKey_SLNextHopKey SLNextHopKey; - // accessors ------------------------------------------------------- enum : int { - kNextHopFieldNumber = 1, + kOpListFieldNumber = 3, + kVrfNameFieldNumber = 2, + kOperFieldNumber = 1, }; - // .service_layer.SLAFNextHopRegKey.SLNextHopKey NextHop = 1; - bool has_nexthop() const; + // repeated .service_layer.SLAFOpMsg OpList = 3; + int oplist_size() const; private: - bool _internal_has_nexthop() const; + int _internal_oplist_size() const; public: - void clear_nexthop(); - const ::service_layer::SLAFNextHopRegKey_SLNextHopKey& nexthop() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegKey_SLNextHopKey* release_nexthop(); - ::service_layer::SLAFNextHopRegKey_SLNextHopKey* mutable_nexthop(); - void set_allocated_nexthop(::service_layer::SLAFNextHopRegKey_SLNextHopKey* nexthop); + void clear_oplist(); + ::service_layer::SLAFOpMsg* mutable_oplist(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOpMsg >* + mutable_oplist(); private: - const ::service_layer::SLAFNextHopRegKey_SLNextHopKey& _internal_nexthop() const; - ::service_layer::SLAFNextHopRegKey_SLNextHopKey* _internal_mutable_nexthop(); + const ::service_layer::SLAFOpMsg& _internal_oplist(int index) const; + ::service_layer::SLAFOpMsg* _internal_add_oplist(); public: - void unsafe_arena_set_allocated_nexthop( - ::service_layer::SLAFNextHopRegKey_SLNextHopKey* nexthop); - ::service_layer::SLAFNextHopRegKey_SLNextHopKey* unsafe_arena_release_nexthop(); + const ::service_layer::SLAFOpMsg& oplist(int index) const; + ::service_layer::SLAFOpMsg* add_oplist(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOpMsg >& + oplist() const; - void clear_nexthopkey(); - NexthopkeyCase nexthopkey_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLAFNextHopRegKey) + // string VrfName = 2; + void clear_vrfname(); + const std::string& vrfname() const; + template + void set_vrfname(ArgT0&& arg0, ArgT... args); + std::string* mutable_vrfname(); + PROTOBUF_NODISCARD std::string* release_vrfname(); + void set_allocated_vrfname(std::string* vrfname); + private: + const std::string& _internal_vrfname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); + std::string* _internal_mutable_vrfname(); + public: + + // .service_layer.SLObjectOp Oper = 1; + void clear_oper(); + ::service_layer::SLObjectOp oper() const; + void set_oper(::service_layer::SLObjectOp value); + private: + ::service_layer::SLObjectOp _internal_oper() const; + void _internal_set_oper(::service_layer::SLObjectOp value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLAFMsg) private: class _Internal; - void set_has_nexthop(); - - inline bool has_nexthopkey() const; - inline void clear_has_nexthopkey(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - union NexthopkeyUnion { - constexpr NexthopkeyUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLAFNextHopRegKey_SLNextHopKey* nexthop_; - } nexthopkey_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOpMsg > oplist_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; + int oper_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNextHopRegMsg final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNextHopRegMsg) */ { +class SLAFRes final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFRes) */ { public: - inline SLAFNextHopRegMsg() : SLAFNextHopRegMsg(nullptr) {} - ~SLAFNextHopRegMsg() override; - explicit constexpr SLAFNextHopRegMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFRes() : SLAFRes(nullptr) {} + ~SLAFRes() override; + explicit constexpr SLAFRes(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNextHopRegMsg(const SLAFNextHopRegMsg& from); - SLAFNextHopRegMsg(SLAFNextHopRegMsg&& from) noexcept - : SLAFNextHopRegMsg() { + SLAFRes(const SLAFRes& from); + SLAFRes(SLAFRes&& from) noexcept + : SLAFRes() { *this = ::std::move(from); } - inline SLAFNextHopRegMsg& operator=(const SLAFNextHopRegMsg& from) { + inline SLAFRes& operator=(const SLAFRes& from) { CopyFrom(from); return *this; } - inline SLAFNextHopRegMsg& operator=(SLAFNextHopRegMsg&& from) noexcept { + inline SLAFRes& operator=(SLAFRes&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4535,20 +4495,20 @@ class SLAFNextHopRegMsg final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNextHopRegMsg& default_instance() { + static const SLAFRes& default_instance() { return *internal_default_instance(); } - static inline const SLAFNextHopRegMsg* internal_default_instance() { - return reinterpret_cast( - &_SLAFNextHopRegMsg_default_instance_); + static inline const SLAFRes* internal_default_instance() { + return reinterpret_cast( + &_SLAFRes_default_instance_); } static constexpr int kIndexInFileMessages = 23; - friend void swap(SLAFNextHopRegMsg& a, SLAFNextHopRegMsg& b) { + friend void swap(SLAFRes& a, SLAFRes& b) { a.Swap(&b); } - inline void Swap(SLAFNextHopRegMsg* other) { + inline void Swap(SLAFRes* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4561,7 +4521,7 @@ class SLAFNextHopRegMsg final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNextHopRegMsg* other) { + void UnsafeArenaSwap(SLAFRes* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4569,13 +4529,13 @@ class SLAFNextHopRegMsg final : // implements Message ---------------------------------------------- - SLAFNextHopRegMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFRes* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNextHopRegMsg& from); + void CopyFrom(const SLAFRes& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNextHopRegMsg& from); + void MergeFrom(const SLAFRes& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4592,15 +4552,15 @@ class SLAFNextHopRegMsg final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNextHopRegMsg* other); + void InternalSwap(SLAFRes* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNextHopRegMsg"; + return "service_layer.SLAFRes"; } protected: - explicit SLAFNextHopRegMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFRes(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -4617,57 +4577,115 @@ class SLAFNextHopRegMsg final : // accessors ------------------------------------------------------- enum : int { - kNextHopKeyFieldNumber = 1, + kErrorStringFieldNumber = 5, + kStatusFieldNumber = 1, + kKeyFieldNumber = 2, + kOperationIDFieldNumber = 3, + kFIBStatusFieldNumber = 4, }; - // .service_layer.SLAFNextHopRegKey NextHopKey = 1; - bool has_nexthopkey() const; + // string ErrorString = 5; + void clear_errorstring(); + const std::string& errorstring() const; + template + void set_errorstring(ArgT0&& arg0, ArgT... args); + std::string* mutable_errorstring(); + PROTOBUF_NODISCARD std::string* release_errorstring(); + void set_allocated_errorstring(std::string* errorstring); private: - bool _internal_has_nexthopkey() const; + const std::string& _internal_errorstring() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_errorstring(const std::string& value); + std::string* _internal_mutable_errorstring(); public: - void clear_nexthopkey(); - const ::service_layer::SLAFNextHopRegKey& nexthopkey() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegKey* release_nexthopkey(); - ::service_layer::SLAFNextHopRegKey* mutable_nexthopkey(); - void set_allocated_nexthopkey(::service_layer::SLAFNextHopRegKey* nexthopkey); + + // .service_layer.SLErrorStatus Status = 1; + bool has_status() const; private: - const ::service_layer::SLAFNextHopRegKey& _internal_nexthopkey() const; - ::service_layer::SLAFNextHopRegKey* _internal_mutable_nexthopkey(); + bool _internal_has_status() const; public: - void unsafe_arena_set_allocated_nexthopkey( - ::service_layer::SLAFNextHopRegKey* nexthopkey); - ::service_layer::SLAFNextHopRegKey* unsafe_arena_release_nexthopkey(); + void clear_status(); + const ::service_layer::SLErrorStatus& status() const; + PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_status(); + ::service_layer::SLErrorStatus* mutable_status(); + void set_allocated_status(::service_layer::SLErrorStatus* status); + private: + const ::service_layer::SLErrorStatus& _internal_status() const; + ::service_layer::SLErrorStatus* _internal_mutable_status(); + public: + void unsafe_arena_set_allocated_status( + ::service_layer::SLErrorStatus* status); + ::service_layer::SLErrorStatus* unsafe_arena_release_status(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFNextHopRegMsg) + // .service_layer.SLAFObjectKey Key = 2; + bool has_key() const; + private: + bool _internal_has_key() const; + public: + void clear_key(); + const ::service_layer::SLAFObjectKey& key() const; + PROTOBUF_NODISCARD ::service_layer::SLAFObjectKey* release_key(); + ::service_layer::SLAFObjectKey* mutable_key(); + void set_allocated_key(::service_layer::SLAFObjectKey* key); + private: + const ::service_layer::SLAFObjectKey& _internal_key() const; + ::service_layer::SLAFObjectKey* _internal_mutable_key(); + public: + void unsafe_arena_set_allocated_key( + ::service_layer::SLAFObjectKey* key); + ::service_layer::SLAFObjectKey* unsafe_arena_release_key(); + + // uint64 OperationID = 3; + void clear_operationid(); + uint64_t operationid() const; + void set_operationid(uint64_t value); + private: + uint64_t _internal_operationid() const; + void _internal_set_operationid(uint64_t value); + public: + + // .service_layer.SLAFFibStatus FIBStatus = 4; + void clear_fibstatus(); + ::service_layer::SLAFFibStatus fibstatus() const; + void set_fibstatus(::service_layer::SLAFFibStatus value); + private: + ::service_layer::SLAFFibStatus _internal_fibstatus() const; + void _internal_set_fibstatus(::service_layer::SLAFFibStatus value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLAFRes) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::service_layer::SLAFNextHopRegKey* nexthopkey_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr errorstring_; + ::service_layer::SLErrorStatus* status_; + ::service_layer::SLAFObjectKey* key_; + uint64_t operationid_; + int fibstatus_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNotifRegReq final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifRegReq) */ { +class SLAFMsgRsp final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFMsgRsp) */ { public: - inline SLAFNotifRegReq() : SLAFNotifRegReq(nullptr) {} - ~SLAFNotifRegReq() override; - explicit constexpr SLAFNotifRegReq(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFMsgRsp() : SLAFMsgRsp(nullptr) {} + ~SLAFMsgRsp() override; + explicit constexpr SLAFMsgRsp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNotifRegReq(const SLAFNotifRegReq& from); - SLAFNotifRegReq(SLAFNotifRegReq&& from) noexcept - : SLAFNotifRegReq() { + SLAFMsgRsp(const SLAFMsgRsp& from); + SLAFMsgRsp(SLAFMsgRsp&& from) noexcept + : SLAFMsgRsp() { *this = ::std::move(from); } - inline SLAFNotifRegReq& operator=(const SLAFNotifRegReq& from) { + inline SLAFMsgRsp& operator=(const SLAFMsgRsp& from) { CopyFrom(from); return *this; } - inline SLAFNotifRegReq& operator=(SLAFNotifRegReq&& from) noexcept { + inline SLAFMsgRsp& operator=(SLAFMsgRsp&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4690,26 +4708,20 @@ class SLAFNotifRegReq final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNotifRegReq& default_instance() { + static const SLAFMsgRsp& default_instance() { return *internal_default_instance(); } - enum RequestCase { - kRedistReq = 1, - kNextHopReq = 2, - REQUEST_NOT_SET = 0, - }; - - static inline const SLAFNotifRegReq* internal_default_instance() { - return reinterpret_cast( - &_SLAFNotifRegReq_default_instance_); + static inline const SLAFMsgRsp* internal_default_instance() { + return reinterpret_cast( + &_SLAFMsgRsp_default_instance_); } static constexpr int kIndexInFileMessages = 24; - friend void swap(SLAFNotifRegReq& a, SLAFNotifRegReq& b) { + friend void swap(SLAFMsgRsp& a, SLAFMsgRsp& b) { a.Swap(&b); } - inline void Swap(SLAFNotifRegReq* other) { + inline void Swap(SLAFMsgRsp* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4722,7 +4734,7 @@ class SLAFNotifRegReq final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNotifRegReq* other) { + void UnsafeArenaSwap(SLAFMsgRsp* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4730,13 +4742,13 @@ class SLAFNotifRegReq final : // implements Message ---------------------------------------------- - SLAFNotifRegReq* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFMsgRsp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNotifRegReq& from); + void CopyFrom(const SLAFMsgRsp& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNotifRegReq& from); + void MergeFrom(const SLAFMsgRsp& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4753,15 +4765,15 @@ class SLAFNotifRegReq final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNotifRegReq* other); + void InternalSwap(SLAFMsgRsp* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNotifRegReq"; + return "service_layer.SLAFMsgRsp"; } protected: - explicit SLAFNotifRegReq(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFMsgRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -4778,101 +4790,73 @@ class SLAFNotifRegReq final : // accessors ------------------------------------------------------- enum : int { - kOperationIDFieldNumber = 3, - kRedistReqFieldNumber = 1, - kNextHopReqFieldNumber = 2, + kResultsFieldNumber = 2, + kVrfNameFieldNumber = 1, }; - // uint64 OperationID = 3; - void clear_operationid(); - uint64_t operationid() const; - void set_operationid(uint64_t value); - private: - uint64_t _internal_operationid() const; - void _internal_set_operationid(uint64_t value); - public: - - // .service_layer.SLAFRedistRegMsg RedistReq = 1; - bool has_redistreq() const; + // repeated .service_layer.SLAFRes Results = 2; + int results_size() const; private: - bool _internal_has_redistreq() const; + int _internal_results_size() const; public: - void clear_redistreq(); - const ::service_layer::SLAFRedistRegMsg& redistreq() const; - PROTOBUF_NODISCARD ::service_layer::SLAFRedistRegMsg* release_redistreq(); - ::service_layer::SLAFRedistRegMsg* mutable_redistreq(); - void set_allocated_redistreq(::service_layer::SLAFRedistRegMsg* redistreq); + void clear_results(); + ::service_layer::SLAFRes* mutable_results(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFRes >* + mutable_results(); private: - const ::service_layer::SLAFRedistRegMsg& _internal_redistreq() const; - ::service_layer::SLAFRedistRegMsg* _internal_mutable_redistreq(); + const ::service_layer::SLAFRes& _internal_results(int index) const; + ::service_layer::SLAFRes* _internal_add_results(); public: - void unsafe_arena_set_allocated_redistreq( - ::service_layer::SLAFRedistRegMsg* redistreq); - ::service_layer::SLAFRedistRegMsg* unsafe_arena_release_redistreq(); + const ::service_layer::SLAFRes& results(int index) const; + ::service_layer::SLAFRes* add_results(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFRes >& + results() const; - // .service_layer.SLAFNextHopRegMsg NextHopReq = 2; - bool has_nexthopreq() const; - private: - bool _internal_has_nexthopreq() const; - public: - void clear_nexthopreq(); - const ::service_layer::SLAFNextHopRegMsg& nexthopreq() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegMsg* release_nexthopreq(); - ::service_layer::SLAFNextHopRegMsg* mutable_nexthopreq(); - void set_allocated_nexthopreq(::service_layer::SLAFNextHopRegMsg* nexthopreq); + // string VrfName = 1; + void clear_vrfname(); + const std::string& vrfname() const; + template + void set_vrfname(ArgT0&& arg0, ArgT... args); + std::string* mutable_vrfname(); + PROTOBUF_NODISCARD std::string* release_vrfname(); + void set_allocated_vrfname(std::string* vrfname); private: - const ::service_layer::SLAFNextHopRegMsg& _internal_nexthopreq() const; - ::service_layer::SLAFNextHopRegMsg* _internal_mutable_nexthopreq(); + const std::string& _internal_vrfname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); + std::string* _internal_mutable_vrfname(); public: - void unsafe_arena_set_allocated_nexthopreq( - ::service_layer::SLAFNextHopRegMsg* nexthopreq); - ::service_layer::SLAFNextHopRegMsg* unsafe_arena_release_nexthopreq(); - void clear_request(); - RequestCase request_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifRegReq) + // @@protoc_insertion_point(class_scope:service_layer.SLAFMsgRsp) private: class _Internal; - void set_has_redistreq(); - void set_has_nexthopreq(); - - inline bool has_request() const; - inline void clear_has_request(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - uint64_t operationid_; - union RequestUnion { - constexpr RequestUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLAFRedistRegMsg* redistreq_; - ::service_layer::SLAFNextHopRegMsg* nexthopreq_; - } request_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFRes > results_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNotifReq final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifReq) */ { +class SLAFRedistRegMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFRedistRegMsg) */ { public: - inline SLAFNotifReq() : SLAFNotifReq(nullptr) {} - ~SLAFNotifReq() override; - explicit constexpr SLAFNotifReq(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFRedistRegMsg() : SLAFRedistRegMsg(nullptr) {} + ~SLAFRedistRegMsg() override; + explicit constexpr SLAFRedistRegMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNotifReq(const SLAFNotifReq& from); - SLAFNotifReq(SLAFNotifReq&& from) noexcept - : SLAFNotifReq() { + SLAFRedistRegMsg(const SLAFRedistRegMsg& from); + SLAFRedistRegMsg(SLAFRedistRegMsg&& from) noexcept + : SLAFRedistRegMsg() { *this = ::std::move(from); } - inline SLAFNotifReq& operator=(const SLAFNotifReq& from) { + inline SLAFRedistRegMsg& operator=(const SLAFRedistRegMsg& from) { CopyFrom(from); return *this; } - inline SLAFNotifReq& operator=(SLAFNotifReq&& from) noexcept { + inline SLAFRedistRegMsg& operator=(SLAFRedistRegMsg&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4895,20 +4879,20 @@ class SLAFNotifReq final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNotifReq& default_instance() { + static const SLAFRedistRegMsg& default_instance() { return *internal_default_instance(); } - static inline const SLAFNotifReq* internal_default_instance() { - return reinterpret_cast( - &_SLAFNotifReq_default_instance_); + static inline const SLAFRedistRegMsg* internal_default_instance() { + return reinterpret_cast( + &_SLAFRedistRegMsg_default_instance_); } static constexpr int kIndexInFileMessages = 25; - friend void swap(SLAFNotifReq& a, SLAFNotifReq& b) { + friend void swap(SLAFRedistRegMsg& a, SLAFRedistRegMsg& b) { a.Swap(&b); } - inline void Swap(SLAFNotifReq* other) { + inline void Swap(SLAFRedistRegMsg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4921,7 +4905,7 @@ class SLAFNotifReq final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNotifReq* other) { + void UnsafeArenaSwap(SLAFRedistRegMsg* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4929,13 +4913,13 @@ class SLAFNotifReq final : // implements Message ---------------------------------------------- - SLAFNotifReq* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFRedistRegMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNotifReq& from); + void CopyFrom(const SLAFRedistRegMsg& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNotifReq& from); + void MergeFrom(const SLAFRedistRegMsg& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4952,15 +4936,15 @@ class SLAFNotifReq final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNotifReq* other); + void InternalSwap(SLAFRedistRegMsg* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNotifReq"; + return "service_layer.SLAFRedistRegMsg"; } protected: - explicit SLAFNotifReq(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFRedistRegMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -4977,84 +4961,80 @@ class SLAFNotifReq final : // accessors ------------------------------------------------------- enum : int { - kNotifReqFieldNumber = 3, - kVrfNameFieldNumber = 2, - kOperFieldNumber = 1, + kSrcProtoFieldNumber = 1, + kSrcProtoTagFieldNumber = 2, + kTableFieldNumber = 3, }; - // repeated .service_layer.SLAFNotifRegReq NotifReq = 3; - int notifreq_size() const; - private: - int _internal_notifreq_size() const; - public: - void clear_notifreq(); - ::service_layer::SLAFNotifRegReq* mutable_notifreq(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotifRegReq >* - mutable_notifreq(); + // string SrcProto = 1; + void clear_srcproto(); + const std::string& srcproto() const; + template + void set_srcproto(ArgT0&& arg0, ArgT... args); + std::string* mutable_srcproto(); + PROTOBUF_NODISCARD std::string* release_srcproto(); + void set_allocated_srcproto(std::string* srcproto); private: - const ::service_layer::SLAFNotifRegReq& _internal_notifreq(int index) const; - ::service_layer::SLAFNotifRegReq* _internal_add_notifreq(); + const std::string& _internal_srcproto() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcproto(const std::string& value); + std::string* _internal_mutable_srcproto(); public: - const ::service_layer::SLAFNotifRegReq& notifreq(int index) const; - ::service_layer::SLAFNotifRegReq* add_notifreq(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotifRegReq >& - notifreq() const; - // string VrfName = 2; - void clear_vrfname(); - const std::string& vrfname() const; + // string SrcProtoTag = 2; + void clear_srcprototag(); + const std::string& srcprototag() const; template - void set_vrfname(ArgT0&& arg0, ArgT... args); - std::string* mutable_vrfname(); - PROTOBUF_NODISCARD std::string* release_vrfname(); - void set_allocated_vrfname(std::string* vrfname); + void set_srcprototag(ArgT0&& arg0, ArgT... args); + std::string* mutable_srcprototag(); + PROTOBUF_NODISCARD std::string* release_srcprototag(); + void set_allocated_srcprototag(std::string* srcprototag); private: - const std::string& _internal_vrfname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); - std::string* _internal_mutable_vrfname(); + const std::string& _internal_srcprototag() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcprototag(const std::string& value); + std::string* _internal_mutable_srcprototag(); public: - // .service_layer.SLNotifOp Oper = 1; - void clear_oper(); - ::service_layer::SLNotifOp oper() const; - void set_oper(::service_layer::SLNotifOp value); + // .service_layer.SLTableType Table = 3; + void clear_table(); + ::service_layer::SLTableType table() const; + void set_table(::service_layer::SLTableType value); private: - ::service_layer::SLNotifOp _internal_oper() const; - void _internal_set_oper(::service_layer::SLNotifOp value); + ::service_layer::SLTableType _internal_table() const; + void _internal_set_table(::service_layer::SLTableType value); public: - // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifReq) + // @@protoc_insertion_point(class_scope:service_layer.SLAFRedistRegMsg) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotifRegReq > notifreq_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; - int oper_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcproto_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcprototag_; + int table_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNotifRsp final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifRsp) */ { +class SLAFNextHopRegKey_SLNextHopKey final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNextHopRegKey.SLNextHopKey) */ { public: - inline SLAFNotifRsp() : SLAFNotifRsp(nullptr) {} - ~SLAFNotifRsp() override; - explicit constexpr SLAFNotifRsp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFNextHopRegKey_SLNextHopKey() : SLAFNextHopRegKey_SLNextHopKey(nullptr) {} + ~SLAFNextHopRegKey_SLNextHopKey() override; + explicit constexpr SLAFNextHopRegKey_SLNextHopKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNotifRsp(const SLAFNotifRsp& from); - SLAFNotifRsp(SLAFNotifRsp&& from) noexcept - : SLAFNotifRsp() { + SLAFNextHopRegKey_SLNextHopKey(const SLAFNextHopRegKey_SLNextHopKey& from); + SLAFNextHopRegKey_SLNextHopKey(SLAFNextHopRegKey_SLNextHopKey&& from) noexcept + : SLAFNextHopRegKey_SLNextHopKey() { *this = ::std::move(from); } - inline SLAFNotifRsp& operator=(const SLAFNotifRsp& from) { + inline SLAFNextHopRegKey_SLNextHopKey& operator=(const SLAFNextHopRegKey_SLNextHopKey& from) { CopyFrom(from); return *this; } - inline SLAFNotifRsp& operator=(SLAFNotifRsp&& from) noexcept { + inline SLAFNextHopRegKey_SLNextHopKey& operator=(SLAFNextHopRegKey_SLNextHopKey&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5077,20 +5057,20 @@ class SLAFNotifRsp final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNotifRsp& default_instance() { + static const SLAFNextHopRegKey_SLNextHopKey& default_instance() { return *internal_default_instance(); } - static inline const SLAFNotifRsp* internal_default_instance() { - return reinterpret_cast( - &_SLAFNotifRsp_default_instance_); + static inline const SLAFNextHopRegKey_SLNextHopKey* internal_default_instance() { + return reinterpret_cast( + &_SLAFNextHopRegKey_SLNextHopKey_default_instance_); } static constexpr int kIndexInFileMessages = 26; - friend void swap(SLAFNotifRsp& a, SLAFNotifRsp& b) { + friend void swap(SLAFNextHopRegKey_SLNextHopKey& a, SLAFNextHopRegKey_SLNextHopKey& b) { a.Swap(&b); } - inline void Swap(SLAFNotifRsp* other) { + inline void Swap(SLAFNextHopRegKey_SLNextHopKey* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5103,7 +5083,7 @@ class SLAFNotifRsp final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNotifRsp* other) { + void UnsafeArenaSwap(SLAFNextHopRegKey_SLNextHopKey* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5111,13 +5091,13 @@ class SLAFNotifRsp final : // implements Message ---------------------------------------------- - SLAFNotifRsp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFNextHopRegKey_SLNextHopKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNotifRsp& from); + void CopyFrom(const SLAFNextHopRegKey_SLNextHopKey& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNotifRsp& from); + void MergeFrom(const SLAFNextHopRegKey_SLNextHopKey& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5134,15 +5114,15 @@ class SLAFNotifRsp final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNotifRsp* other); + void InternalSwap(SLAFNextHopRegKey_SLNextHopKey* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNotifRsp"; + return "service_layer.SLAFNextHopRegKey.SLNextHopKey"; } protected: - explicit SLAFNotifRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFNextHopRegKey_SLNextHopKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -5159,77 +5139,90 @@ class SLAFNotifRsp final : // accessors ------------------------------------------------------- enum : int { - kNotifReqFieldNumber = 1, - kNotifStatusFieldNumber = 2, + kNextHopIPFieldNumber = 1, + kExactMatchFieldNumber = 2, + kAllowDefaultFieldNumber = 3, + kRecurseFieldNumber = 4, }; - // .service_layer.SLAFNotifRegReq NotifReq = 1; - bool has_notifreq() const; + // .service_layer.SLRoutePrefix NextHopIP = 1; + bool has_nexthopip() const; private: - bool _internal_has_notifreq() const; + bool _internal_has_nexthopip() const; public: - void clear_notifreq(); - const ::service_layer::SLAFNotifRegReq& notifreq() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNotifRegReq* release_notifreq(); - ::service_layer::SLAFNotifRegReq* mutable_notifreq(); - void set_allocated_notifreq(::service_layer::SLAFNotifRegReq* notifreq); + void clear_nexthopip(); + const ::service_layer::SLRoutePrefix& nexthopip() const; + PROTOBUF_NODISCARD ::service_layer::SLRoutePrefix* release_nexthopip(); + ::service_layer::SLRoutePrefix* mutable_nexthopip(); + void set_allocated_nexthopip(::service_layer::SLRoutePrefix* nexthopip); private: - const ::service_layer::SLAFNotifRegReq& _internal_notifreq() const; - ::service_layer::SLAFNotifRegReq* _internal_mutable_notifreq(); + const ::service_layer::SLRoutePrefix& _internal_nexthopip() const; + ::service_layer::SLRoutePrefix* _internal_mutable_nexthopip(); public: - void unsafe_arena_set_allocated_notifreq( - ::service_layer::SLAFNotifRegReq* notifreq); - ::service_layer::SLAFNotifRegReq* unsafe_arena_release_notifreq(); + void unsafe_arena_set_allocated_nexthopip( + ::service_layer::SLRoutePrefix* nexthopip); + ::service_layer::SLRoutePrefix* unsafe_arena_release_nexthopip(); - // .service_layer.SLErrorStatus NotifStatus = 2; - bool has_notifstatus() const; + // bool ExactMatch = 2; + void clear_exactmatch(); + bool exactmatch() const; + void set_exactmatch(bool value); private: - bool _internal_has_notifstatus() const; + bool _internal_exactmatch() const; + void _internal_set_exactmatch(bool value); public: - void clear_notifstatus(); - const ::service_layer::SLErrorStatus& notifstatus() const; - PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_notifstatus(); - ::service_layer::SLErrorStatus* mutable_notifstatus(); - void set_allocated_notifstatus(::service_layer::SLErrorStatus* notifstatus); + + // bool AllowDefault = 3; + void clear_allowdefault(); + bool allowdefault() const; + void set_allowdefault(bool value); private: - const ::service_layer::SLErrorStatus& _internal_notifstatus() const; - ::service_layer::SLErrorStatus* _internal_mutable_notifstatus(); + bool _internal_allowdefault() const; + void _internal_set_allowdefault(bool value); public: - void unsafe_arena_set_allocated_notifstatus( - ::service_layer::SLErrorStatus* notifstatus); - ::service_layer::SLErrorStatus* unsafe_arena_release_notifstatus(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifRsp) + // bool Recurse = 4; + void clear_recurse(); + bool recurse() const; + void set_recurse(bool value); + private: + bool _internal_recurse() const; + void _internal_set_recurse(bool value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLAFNextHopRegKey.SLNextHopKey) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::service_layer::SLAFNotifRegReq* notifreq_; - ::service_layer::SLErrorStatus* notifstatus_; + ::service_layer::SLRoutePrefix* nexthopip_; + bool exactmatch_; + bool allowdefault_; + bool recurse_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLNextHop final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLNextHop) */ { +class SLAFNextHopRegKey final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNextHopRegKey) */ { public: - inline SLNextHop() : SLNextHop(nullptr) {} - ~SLNextHop() override; - explicit constexpr SLNextHop(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFNextHopRegKey() : SLAFNextHopRegKey(nullptr) {} + ~SLAFNextHopRegKey() override; + explicit constexpr SLAFNextHopRegKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLNextHop(const SLNextHop& from); - SLNextHop(SLNextHop&& from) noexcept - : SLNextHop() { + SLAFNextHopRegKey(const SLAFNextHopRegKey& from); + SLAFNextHopRegKey(SLAFNextHopRegKey&& from) noexcept + : SLAFNextHopRegKey() { *this = ::std::move(from); } - inline SLNextHop& operator=(const SLNextHop& from) { + inline SLAFNextHopRegKey& operator=(const SLAFNextHopRegKey& from) { CopyFrom(from); return *this; } - inline SLNextHop& operator=(SLNextHop&& from) noexcept { + inline SLAFNextHopRegKey& operator=(SLAFNextHopRegKey&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5252,20 +5245,25 @@ class SLNextHop final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLNextHop& default_instance() { + static const SLAFNextHopRegKey& default_instance() { return *internal_default_instance(); } - static inline const SLNextHop* internal_default_instance() { - return reinterpret_cast( - &_SLNextHop_default_instance_); + enum NexthopkeyCase { + kNextHop = 1, + NEXTHOPKEY_NOT_SET = 0, + }; + + static inline const SLAFNextHopRegKey* internal_default_instance() { + return reinterpret_cast( + &_SLAFNextHopRegKey_default_instance_); } static constexpr int kIndexInFileMessages = 27; - friend void swap(SLNextHop& a, SLNextHop& b) { + friend void swap(SLAFNextHopRegKey& a, SLAFNextHopRegKey& b) { a.Swap(&b); } - inline void Swap(SLNextHop* other) { + inline void Swap(SLAFNextHopRegKey* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5278,7 +5276,7 @@ class SLNextHop final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLNextHop* other) { + void UnsafeArenaSwap(SLAFNextHopRegKey* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5286,13 +5284,13 @@ class SLNextHop final : // implements Message ---------------------------------------------- - SLNextHop* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFNextHopRegKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLNextHop& from); + void CopyFrom(const SLAFNextHopRegKey& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLNextHop& from); + void MergeFrom(const SLAFNextHopRegKey& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5309,15 +5307,15 @@ class SLNextHop final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLNextHop* other); + void InternalSwap(SLAFNextHopRegKey* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLNextHop"; + return "service_layer.SLAFNextHopRegKey"; } protected: - explicit SLNextHop(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFNextHopRegKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -5331,165 +5329,74 @@ class SLNextHop final : // nested types ---------------------------------------------------- + typedef SLAFNextHopRegKey_SLNextHopKey SLNextHopKey; + // accessors ------------------------------------------------------- enum : int { - kPathsFieldNumber = 8, - kSrcProtoFieldNumber = 4, - kSrcProtoTagFieldNumber = 5, - kNextHopKeyFieldNumber = 1, - kResolvingRouteFieldNumber = 2, - kResolvingRouteLenFieldNumber = 3, - kAdminDistanceFieldNumber = 6, - kMetricFieldNumber = 7, + kNextHopFieldNumber = 1, }; - // repeated .service_layer.SLRoutePath Paths = 8; - int paths_size() const; - private: - int _internal_paths_size() const; - public: - void clear_paths(); - ::service_layer::SLRoutePath* mutable_paths(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* - mutable_paths(); - private: - const ::service_layer::SLRoutePath& _internal_paths(int index) const; - ::service_layer::SLRoutePath* _internal_add_paths(); - public: - const ::service_layer::SLRoutePath& paths(int index) const; - ::service_layer::SLRoutePath* add_paths(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& - paths() const; - - // string SrcProto = 4; - void clear_srcproto(); - const std::string& srcproto() const; - template - void set_srcproto(ArgT0&& arg0, ArgT... args); - std::string* mutable_srcproto(); - PROTOBUF_NODISCARD std::string* release_srcproto(); - void set_allocated_srcproto(std::string* srcproto); + // .service_layer.SLAFNextHopRegKey.SLNextHopKey NextHop = 1; + bool has_nexthop() const; private: - const std::string& _internal_srcproto() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcproto(const std::string& value); - std::string* _internal_mutable_srcproto(); + bool _internal_has_nexthop() const; public: - - // string SrcProtoTag = 5; - void clear_srcprototag(); - const std::string& srcprototag() const; - template - void set_srcprototag(ArgT0&& arg0, ArgT... args); - std::string* mutable_srcprototag(); - PROTOBUF_NODISCARD std::string* release_srcprototag(); - void set_allocated_srcprototag(std::string* srcprototag); + void clear_nexthop(); + const ::service_layer::SLAFNextHopRegKey_SLNextHopKey& nexthop() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegKey_SLNextHopKey* release_nexthop(); + ::service_layer::SLAFNextHopRegKey_SLNextHopKey* mutable_nexthop(); + void set_allocated_nexthop(::service_layer::SLAFNextHopRegKey_SLNextHopKey* nexthop); private: - const std::string& _internal_srcprototag() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcprototag(const std::string& value); - std::string* _internal_mutable_srcprototag(); + const ::service_layer::SLAFNextHopRegKey_SLNextHopKey& _internal_nexthop() const; + ::service_layer::SLAFNextHopRegKey_SLNextHopKey* _internal_mutable_nexthop(); public: + void unsafe_arena_set_allocated_nexthop( + ::service_layer::SLAFNextHopRegKey_SLNextHopKey* nexthop); + ::service_layer::SLAFNextHopRegKey_SLNextHopKey* unsafe_arena_release_nexthop(); - // .service_layer.SLAFNextHopRegKey NextHopKey = 1; - bool has_nexthopkey() const; - private: - bool _internal_has_nexthopkey() const; - public: void clear_nexthopkey(); - const ::service_layer::SLAFNextHopRegKey& nexthopkey() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegKey* release_nexthopkey(); - ::service_layer::SLAFNextHopRegKey* mutable_nexthopkey(); - void set_allocated_nexthopkey(::service_layer::SLAFNextHopRegKey* nexthopkey); - private: - const ::service_layer::SLAFNextHopRegKey& _internal_nexthopkey() const; - ::service_layer::SLAFNextHopRegKey* _internal_mutable_nexthopkey(); - public: - void unsafe_arena_set_allocated_nexthopkey( - ::service_layer::SLAFNextHopRegKey* nexthopkey); - ::service_layer::SLAFNextHopRegKey* unsafe_arena_release_nexthopkey(); - - // .service_layer.SLIpAddress ResolvingRoute = 2; - bool has_resolvingroute() const; - private: - bool _internal_has_resolvingroute() const; - public: - void clear_resolvingroute(); - const ::service_layer::SLIpAddress& resolvingroute() const; - PROTOBUF_NODISCARD ::service_layer::SLIpAddress* release_resolvingroute(); - ::service_layer::SLIpAddress* mutable_resolvingroute(); - void set_allocated_resolvingroute(::service_layer::SLIpAddress* resolvingroute); - private: - const ::service_layer::SLIpAddress& _internal_resolvingroute() const; - ::service_layer::SLIpAddress* _internal_mutable_resolvingroute(); - public: - void unsafe_arena_set_allocated_resolvingroute( - ::service_layer::SLIpAddress* resolvingroute); - ::service_layer::SLIpAddress* unsafe_arena_release_resolvingroute(); - - // uint32 ResolvingRouteLen = 3; - void clear_resolvingroutelen(); - uint32_t resolvingroutelen() const; - void set_resolvingroutelen(uint32_t value); - private: - uint32_t _internal_resolvingroutelen() const; - void _internal_set_resolvingroutelen(uint32_t value); - public: - - // uint32 AdminDistance = 6; - void clear_admindistance(); - uint32_t admindistance() const; - void set_admindistance(uint32_t value); - private: - uint32_t _internal_admindistance() const; - void _internal_set_admindistance(uint32_t value); - public: - - // uint32 Metric = 7; - void clear_metric(); - uint32_t metric() const; - void set_metric(uint32_t value); - private: - uint32_t _internal_metric() const; - void _internal_set_metric(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:service_layer.SLNextHop) + NexthopkeyCase nexthopkey_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLAFNextHopRegKey) private: class _Internal; + void set_has_nexthop(); + + inline bool has_nexthopkey() const; + inline void clear_has_nexthopkey(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath > paths_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcproto_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcprototag_; - ::service_layer::SLAFNextHopRegKey* nexthopkey_; - ::service_layer::SLIpAddress* resolvingroute_; - uint32_t resolvingroutelen_; - uint32_t admindistance_; - uint32_t metric_; + union NexthopkeyUnion { + constexpr NexthopkeyUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLAFNextHopRegKey_SLNextHopKey* nexthop_; + } nexthopkey_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNotif_SLRedistMarker final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotif.SLRedistMarker) */ { +class SLAFNextHopRegMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNextHopRegMsg) */ { public: - inline SLAFNotif_SLRedistMarker() : SLAFNotif_SLRedistMarker(nullptr) {} - ~SLAFNotif_SLRedistMarker() override; - explicit constexpr SLAFNotif_SLRedistMarker(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFNextHopRegMsg() : SLAFNextHopRegMsg(nullptr) {} + ~SLAFNextHopRegMsg() override; + explicit constexpr SLAFNextHopRegMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNotif_SLRedistMarker(const SLAFNotif_SLRedistMarker& from); - SLAFNotif_SLRedistMarker(SLAFNotif_SLRedistMarker&& from) noexcept - : SLAFNotif_SLRedistMarker() { + SLAFNextHopRegMsg(const SLAFNextHopRegMsg& from); + SLAFNextHopRegMsg(SLAFNextHopRegMsg&& from) noexcept + : SLAFNextHopRegMsg() { *this = ::std::move(from); } - inline SLAFNotif_SLRedistMarker& operator=(const SLAFNotif_SLRedistMarker& from) { + inline SLAFNextHopRegMsg& operator=(const SLAFNextHopRegMsg& from) { CopyFrom(from); return *this; } - inline SLAFNotif_SLRedistMarker& operator=(SLAFNotif_SLRedistMarker&& from) noexcept { + inline SLAFNextHopRegMsg& operator=(SLAFNextHopRegMsg&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5512,20 +5419,20 @@ class SLAFNotif_SLRedistMarker final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNotif_SLRedistMarker& default_instance() { + static const SLAFNextHopRegMsg& default_instance() { return *internal_default_instance(); } - static inline const SLAFNotif_SLRedistMarker* internal_default_instance() { - return reinterpret_cast( - &_SLAFNotif_SLRedistMarker_default_instance_); + static inline const SLAFNextHopRegMsg* internal_default_instance() { + return reinterpret_cast( + &_SLAFNextHopRegMsg_default_instance_); } static constexpr int kIndexInFileMessages = 28; - friend void swap(SLAFNotif_SLRedistMarker& a, SLAFNotif_SLRedistMarker& b) { + friend void swap(SLAFNextHopRegMsg& a, SLAFNextHopRegMsg& b) { a.Swap(&b); } - inline void Swap(SLAFNotif_SLRedistMarker* other) { + inline void Swap(SLAFNextHopRegMsg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5538,7 +5445,7 @@ class SLAFNotif_SLRedistMarker final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNotif_SLRedistMarker* other) { + void UnsafeArenaSwap(SLAFNextHopRegMsg* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5546,13 +5453,13 @@ class SLAFNotif_SLRedistMarker final : // implements Message ---------------------------------------------- - SLAFNotif_SLRedistMarker* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFNextHopRegMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNotif_SLRedistMarker& from); + void CopyFrom(const SLAFNextHopRegMsg& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNotif_SLRedistMarker& from); + void MergeFrom(const SLAFNextHopRegMsg& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5569,15 +5476,15 @@ class SLAFNotif_SLRedistMarker final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNotif_SLRedistMarker* other); + void InternalSwap(SLAFNextHopRegMsg* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNotif.SLRedistMarker"; + return "service_layer.SLAFNextHopRegMsg"; } protected: - explicit SLAFNotif_SLRedistMarker(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFNextHopRegMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -5594,48 +5501,57 @@ class SLAFNotif_SLRedistMarker final : // accessors ------------------------------------------------------- enum : int { - kTableFieldNumber = 1, + kNextHopKeyFieldNumber = 1, }; - // .service_layer.SLTableType Table = 1; - void clear_table(); - ::service_layer::SLTableType table() const; - void set_table(::service_layer::SLTableType value); + // .service_layer.SLAFNextHopRegKey NextHopKey = 1; + bool has_nexthopkey() const; private: - ::service_layer::SLTableType _internal_table() const; - void _internal_set_table(::service_layer::SLTableType value); + bool _internal_has_nexthopkey() const; + public: + void clear_nexthopkey(); + const ::service_layer::SLAFNextHopRegKey& nexthopkey() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegKey* release_nexthopkey(); + ::service_layer::SLAFNextHopRegKey* mutable_nexthopkey(); + void set_allocated_nexthopkey(::service_layer::SLAFNextHopRegKey* nexthopkey); + private: + const ::service_layer::SLAFNextHopRegKey& _internal_nexthopkey() const; + ::service_layer::SLAFNextHopRegKey* _internal_mutable_nexthopkey(); public: + void unsafe_arena_set_allocated_nexthopkey( + ::service_layer::SLAFNextHopRegKey* nexthopkey); + ::service_layer::SLAFNextHopRegKey* unsafe_arena_release_nexthopkey(); - // @@protoc_insertion_point(class_scope:service_layer.SLAFNotif.SLRedistMarker) + // @@protoc_insertion_point(class_scope:service_layer.SLAFNextHopRegMsg) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - int table_; + ::service_layer::SLAFNextHopRegKey* nexthopkey_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; // ------------------------------------------------------------------- -class SLAFNotif final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotif) */ { +class SLAFNotifRegReq final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifRegReq) */ { public: - inline SLAFNotif() : SLAFNotif(nullptr) {} - ~SLAFNotif() override; - explicit constexpr SLAFNotif(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFNotifRegReq() : SLAFNotifRegReq(nullptr) {} + ~SLAFNotifRegReq() override; + explicit constexpr SLAFNotifRegReq(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNotif(const SLAFNotif& from); - SLAFNotif(SLAFNotif&& from) noexcept - : SLAFNotif() { + SLAFNotifRegReq(const SLAFNotifRegReq& from); + SLAFNotifRegReq(SLAFNotifRegReq&& from) noexcept + : SLAFNotifRegReq() { *this = ::std::move(from); } - inline SLAFNotif& operator=(const SLAFNotif& from) { + inline SLAFNotifRegReq& operator=(const SLAFNotifRegReq& from) { CopyFrom(from); return *this; } - inline SLAFNotif& operator=(SLAFNotif&& from) noexcept { + inline SLAFNotifRegReq& operator=(SLAFNotifRegReq&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5658,29 +5574,26 @@ class SLAFNotif final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNotif& default_instance() { + static const SLAFNotifRegReq& default_instance() { return *internal_default_instance(); } - enum EventCase { - kNotifStatus = 1, - kStartMarker = 2, - kEndMarker = 3, - kRedistObject = 4, - kNextHop = 5, - EVENT_NOT_SET = 0, + enum RequestCase { + kRedistReq = 1, + kNextHopReq = 2, + REQUEST_NOT_SET = 0, }; - static inline const SLAFNotif* internal_default_instance() { - return reinterpret_cast( - &_SLAFNotif_default_instance_); + static inline const SLAFNotifRegReq* internal_default_instance() { + return reinterpret_cast( + &_SLAFNotifRegReq_default_instance_); } static constexpr int kIndexInFileMessages = 29; - friend void swap(SLAFNotif& a, SLAFNotif& b) { + friend void swap(SLAFNotifRegReq& a, SLAFNotifRegReq& b) { a.Swap(&b); } - inline void Swap(SLAFNotif* other) { + inline void Swap(SLAFNotifRegReq* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5693,7 +5606,7 @@ class SLAFNotif final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNotif* other) { + void UnsafeArenaSwap(SLAFNotifRegReq* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5701,13 +5614,13 @@ class SLAFNotif final : // implements Message ---------------------------------------------- - SLAFNotif* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFNotifRegReq* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNotif& from); + void CopyFrom(const SLAFNotifRegReq& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNotif& from); + void MergeFrom(const SLAFNotifRegReq& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5724,15 +5637,15 @@ class SLAFNotif final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNotif* other); + void InternalSwap(SLAFNotifRegReq* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNotif"; + return "service_layer.SLAFNotifRegReq"; } protected: - explicit SLAFNotif(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFNotifRegReq(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -5746,133 +5659,79 @@ class SLAFNotif final : // nested types ---------------------------------------------------- - typedef SLAFNotif_SLRedistMarker SLRedistMarker; - // accessors ------------------------------------------------------- enum : int { - kNotifStatusFieldNumber = 1, - kStartMarkerFieldNumber = 2, - kEndMarkerFieldNumber = 3, - kRedistObjectFieldNumber = 4, - kNextHopFieldNumber = 5, + kOperationIDFieldNumber = 3, + kRedistReqFieldNumber = 1, + kNextHopReqFieldNumber = 2, }; - // .service_layer.SLAFNotifRsp NotifStatus = 1; - bool has_notifstatus() const; - private: - bool _internal_has_notifstatus() const; - public: - void clear_notifstatus(); - const ::service_layer::SLAFNotifRsp& notifstatus() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNotifRsp* release_notifstatus(); - ::service_layer::SLAFNotifRsp* mutable_notifstatus(); - void set_allocated_notifstatus(::service_layer::SLAFNotifRsp* notifstatus); + // uint64 OperationID = 3; + void clear_operationid(); + uint64_t operationid() const; + void set_operationid(uint64_t value); private: - const ::service_layer::SLAFNotifRsp& _internal_notifstatus() const; - ::service_layer::SLAFNotifRsp* _internal_mutable_notifstatus(); + uint64_t _internal_operationid() const; + void _internal_set_operationid(uint64_t value); public: - void unsafe_arena_set_allocated_notifstatus( - ::service_layer::SLAFNotifRsp* notifstatus); - ::service_layer::SLAFNotifRsp* unsafe_arena_release_notifstatus(); - // .service_layer.SLAFNotif.SLRedistMarker StartMarker = 2; - bool has_startmarker() const; + // .service_layer.SLAFRedistRegMsg RedistReq = 1; + bool has_redistreq() const; private: - bool _internal_has_startmarker() const; + bool _internal_has_redistreq() const; public: - void clear_startmarker(); - const ::service_layer::SLAFNotif_SLRedistMarker& startmarker() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNotif_SLRedistMarker* release_startmarker(); - ::service_layer::SLAFNotif_SLRedistMarker* mutable_startmarker(); - void set_allocated_startmarker(::service_layer::SLAFNotif_SLRedistMarker* startmarker); + void clear_redistreq(); + const ::service_layer::SLAFRedistRegMsg& redistreq() const; + PROTOBUF_NODISCARD ::service_layer::SLAFRedistRegMsg* release_redistreq(); + ::service_layer::SLAFRedistRegMsg* mutable_redistreq(); + void set_allocated_redistreq(::service_layer::SLAFRedistRegMsg* redistreq); private: - const ::service_layer::SLAFNotif_SLRedistMarker& _internal_startmarker() const; - ::service_layer::SLAFNotif_SLRedistMarker* _internal_mutable_startmarker(); + const ::service_layer::SLAFRedistRegMsg& _internal_redistreq() const; + ::service_layer::SLAFRedistRegMsg* _internal_mutable_redistreq(); public: - void unsafe_arena_set_allocated_startmarker( - ::service_layer::SLAFNotif_SLRedistMarker* startmarker); - ::service_layer::SLAFNotif_SLRedistMarker* unsafe_arena_release_startmarker(); + void unsafe_arena_set_allocated_redistreq( + ::service_layer::SLAFRedistRegMsg* redistreq); + ::service_layer::SLAFRedistRegMsg* unsafe_arena_release_redistreq(); - // .service_layer.SLAFNotif.SLRedistMarker EndMarker = 3; - bool has_endmarker() const; + // .service_layer.SLAFNextHopRegMsg NextHopReq = 2; + bool has_nexthopreq() const; private: - bool _internal_has_endmarker() const; + bool _internal_has_nexthopreq() const; public: - void clear_endmarker(); - const ::service_layer::SLAFNotif_SLRedistMarker& endmarker() const; - PROTOBUF_NODISCARD ::service_layer::SLAFNotif_SLRedistMarker* release_endmarker(); - ::service_layer::SLAFNotif_SLRedistMarker* mutable_endmarker(); - void set_allocated_endmarker(::service_layer::SLAFNotif_SLRedistMarker* endmarker); + void clear_nexthopreq(); + const ::service_layer::SLAFNextHopRegMsg& nexthopreq() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegMsg* release_nexthopreq(); + ::service_layer::SLAFNextHopRegMsg* mutable_nexthopreq(); + void set_allocated_nexthopreq(::service_layer::SLAFNextHopRegMsg* nexthopreq); private: - const ::service_layer::SLAFNotif_SLRedistMarker& _internal_endmarker() const; - ::service_layer::SLAFNotif_SLRedistMarker* _internal_mutable_endmarker(); + const ::service_layer::SLAFNextHopRegMsg& _internal_nexthopreq() const; + ::service_layer::SLAFNextHopRegMsg* _internal_mutable_nexthopreq(); public: - void unsafe_arena_set_allocated_endmarker( - ::service_layer::SLAFNotif_SLRedistMarker* endmarker); - ::service_layer::SLAFNotif_SLRedistMarker* unsafe_arena_release_endmarker(); + void unsafe_arena_set_allocated_nexthopreq( + ::service_layer::SLAFNextHopRegMsg* nexthopreq); + ::service_layer::SLAFNextHopRegMsg* unsafe_arena_release_nexthopreq(); - // .service_layer.SLAFObject RedistObject = 4; - bool has_redistobject() const; - private: - bool _internal_has_redistobject() const; - public: - void clear_redistobject(); - const ::service_layer::SLAFObject& redistobject() const; - PROTOBUF_NODISCARD ::service_layer::SLAFObject* release_redistobject(); - ::service_layer::SLAFObject* mutable_redistobject(); - void set_allocated_redistobject(::service_layer::SLAFObject* redistobject); - private: - const ::service_layer::SLAFObject& _internal_redistobject() const; - ::service_layer::SLAFObject* _internal_mutable_redistobject(); - public: - void unsafe_arena_set_allocated_redistobject( - ::service_layer::SLAFObject* redistobject); - ::service_layer::SLAFObject* unsafe_arena_release_redistobject(); + void clear_request(); + RequestCase request_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifRegReq) + private: + class _Internal; + void set_has_redistreq(); + void set_has_nexthopreq(); - // .service_layer.SLNextHop NextHop = 5; - bool has_nexthop() const; - private: - bool _internal_has_nexthop() const; - public: - void clear_nexthop(); - const ::service_layer::SLNextHop& nexthop() const; - PROTOBUF_NODISCARD ::service_layer::SLNextHop* release_nexthop(); - ::service_layer::SLNextHop* mutable_nexthop(); - void set_allocated_nexthop(::service_layer::SLNextHop* nexthop); - private: - const ::service_layer::SLNextHop& _internal_nexthop() const; - ::service_layer::SLNextHop* _internal_mutable_nexthop(); - public: - void unsafe_arena_set_allocated_nexthop( - ::service_layer::SLNextHop* nexthop); - ::service_layer::SLNextHop* unsafe_arena_release_nexthop(); - - void clear_Event(); - EventCase Event_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLAFNotif) - private: - class _Internal; - void set_has_notifstatus(); - void set_has_startmarker(); - void set_has_endmarker(); - void set_has_redistobject(); - void set_has_nexthop(); - - inline bool has_Event() const; - inline void clear_has_Event(); + inline bool has_request() const; + inline void clear_has_request(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - union EventUnion { - constexpr EventUnion() : _constinit_{} {} + uint64_t operationid_; + union RequestUnion { + constexpr RequestUnion() : _constinit_{} {} ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLAFNotifRsp* notifstatus_; - ::service_layer::SLAFNotif_SLRedistMarker* startmarker_; - ::service_layer::SLAFNotif_SLRedistMarker* endmarker_; - ::service_layer::SLAFObject* redistobject_; - ::service_layer::SLNextHop* nexthop_; - } Event_; + ::service_layer::SLAFRedistRegMsg* redistreq_; + ::service_layer::SLAFNextHopRegMsg* nexthopreq_; + } request_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; uint32_t _oneof_case_[1]; @@ -5880,24 +5739,24 @@ class SLAFNotif final : }; // ------------------------------------------------------------------- -class SLAFNotifMsg final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifMsg) */ { +class SLAFNotifReq final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifReq) */ { public: - inline SLAFNotifMsg() : SLAFNotifMsg(nullptr) {} - ~SLAFNotifMsg() override; - explicit constexpr SLAFNotifMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLAFNotifReq() : SLAFNotifReq(nullptr) {} + ~SLAFNotifReq() override; + explicit constexpr SLAFNotifReq(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLAFNotifMsg(const SLAFNotifMsg& from); - SLAFNotifMsg(SLAFNotifMsg&& from) noexcept - : SLAFNotifMsg() { + SLAFNotifReq(const SLAFNotifReq& from); + SLAFNotifReq(SLAFNotifReq&& from) noexcept + : SLAFNotifReq() { *this = ::std::move(from); } - inline SLAFNotifMsg& operator=(const SLAFNotifMsg& from) { + inline SLAFNotifReq& operator=(const SLAFNotifReq& from) { CopyFrom(from); return *this; } - inline SLAFNotifMsg& operator=(SLAFNotifMsg&& from) noexcept { + inline SLAFNotifReq& operator=(SLAFNotifReq&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5920,20 +5779,20 @@ class SLAFNotifMsg final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLAFNotifMsg& default_instance() { + static const SLAFNotifReq& default_instance() { return *internal_default_instance(); } - static inline const SLAFNotifMsg* internal_default_instance() { - return reinterpret_cast( - &_SLAFNotifMsg_default_instance_); + static inline const SLAFNotifReq* internal_default_instance() { + return reinterpret_cast( + &_SLAFNotifReq_default_instance_); } static constexpr int kIndexInFileMessages = 30; - friend void swap(SLAFNotifMsg& a, SLAFNotifMsg& b) { + friend void swap(SLAFNotifReq& a, SLAFNotifReq& b) { a.Swap(&b); } - inline void Swap(SLAFNotifMsg* other) { + inline void Swap(SLAFNotifReq* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5946,7 +5805,7 @@ class SLAFNotifMsg final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLAFNotifMsg* other) { + void UnsafeArenaSwap(SLAFNotifReq* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5954,13 +5813,13 @@ class SLAFNotifMsg final : // implements Message ---------------------------------------------- - SLAFNotifMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLAFNotifReq* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLAFNotifMsg& from); + void CopyFrom(const SLAFNotifReq& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLAFNotifMsg& from); + void MergeFrom(const SLAFNotifReq& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5977,15 +5836,15 @@ class SLAFNotifMsg final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLAFNotifMsg* other); + void InternalSwap(SLAFNotifReq* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLAFNotifMsg"; + return "service_layer.SLAFNotifReq"; } protected: - explicit SLAFNotifMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLAFNotifReq(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -6002,28 +5861,29 @@ class SLAFNotifMsg final : // accessors ------------------------------------------------------- enum : int { - kAFNotifsFieldNumber = 3, - kVrfNameFieldNumber = 1, + kNotifReqFieldNumber = 3, + kVrfNameFieldNumber = 2, + kOperFieldNumber = 1, }; - // repeated .service_layer.SLAFNotif AFNotifs = 3; - int afnotifs_size() const; + // repeated .service_layer.SLAFNotifRegReq NotifReq = 3; + int notifreq_size() const; private: - int _internal_afnotifs_size() const; + int _internal_notifreq_size() const; public: - void clear_afnotifs(); - ::service_layer::SLAFNotif* mutable_afnotifs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotif >* - mutable_afnotifs(); + void clear_notifreq(); + ::service_layer::SLAFNotifRegReq* mutable_notifreq(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotifRegReq >* + mutable_notifreq(); private: - const ::service_layer::SLAFNotif& _internal_afnotifs(int index) const; - ::service_layer::SLAFNotif* _internal_add_afnotifs(); + const ::service_layer::SLAFNotifRegReq& _internal_notifreq(int index) const; + ::service_layer::SLAFNotifRegReq* _internal_add_notifreq(); public: - const ::service_layer::SLAFNotif& afnotifs(int index) const; - ::service_layer::SLAFNotif* add_afnotifs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotif >& - afnotifs() const; + const ::service_layer::SLAFNotifRegReq& notifreq(int index) const; + ::service_layer::SLAFNotifRegReq* add_notifreq(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotifRegReq >& + notifreq() const; - // string VrfName = 1; + // string VrfName = 2; void clear_vrfname(); const std::string& vrfname() const; template @@ -6037,236 +5897,1865 @@ class SLAFNotifMsg final : std::string* _internal_mutable_vrfname(); public: - // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifMsg) + // .service_layer.SLNotifOp Oper = 1; + void clear_oper(); + ::service_layer::SLNotifOp oper() const; + void set_oper(::service_layer::SLNotifOp value); + private: + ::service_layer::SLNotifOp _internal_oper() const; + void _internal_set_oper(::service_layer::SLNotifOp value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifReq) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotif > afnotifs_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotifRegReq > notifreq_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; + int oper_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5faf_2eproto; }; -// =================================================================== - - -// =================================================================== +// ------------------------------------------------------------------- -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// SLAFVrfReg +class SLAFNotifRsp final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifRsp) */ { + public: + inline SLAFNotifRsp() : SLAFNotifRsp(nullptr) {} + ~SLAFNotifRsp() override; + explicit constexpr SLAFNotifRsp(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); -// .service_layer.SLTableType Table = 1; -inline void SLAFVrfReg::clear_table() { - table_ = 0; -} -inline ::service_layer::SLTableType SLAFVrfReg::_internal_table() const { - return static_cast< ::service_layer::SLTableType >(table_); -} -inline ::service_layer::SLTableType SLAFVrfReg::table() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfReg.Table) - return _internal_table(); -} -inline void SLAFVrfReg::_internal_set_table(::service_layer::SLTableType value) { - - table_ = value; -} -inline void SLAFVrfReg::set_table(::service_layer::SLTableType value) { - _internal_set_table(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFVrfReg.Table) -} + SLAFNotifRsp(const SLAFNotifRsp& from); + SLAFNotifRsp(SLAFNotifRsp&& from) noexcept + : SLAFNotifRsp() { + *this = ::std::move(from); + } -// .service_layer.SLVrfReg VrfReg = 2; -inline bool SLAFVrfReg::_internal_has_vrfreg() const { - return this != internal_default_instance() && vrfreg_ != nullptr; -} -inline bool SLAFVrfReg::has_vrfreg() const { - return _internal_has_vrfreg(); -} -inline const ::service_layer::SLVrfReg& SLAFVrfReg::_internal_vrfreg() const { - const ::service_layer::SLVrfReg* p = vrfreg_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLVrfReg_default_instance_); -} -inline const ::service_layer::SLVrfReg& SLAFVrfReg::vrfreg() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfReg.VrfReg) - return _internal_vrfreg(); -} -inline void SLAFVrfReg::unsafe_arena_set_allocated_vrfreg( - ::service_layer::SLVrfReg* vrfreg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(vrfreg_); + inline SLAFNotifRsp& operator=(const SLAFNotifRsp& from) { + CopyFrom(from); + return *this; } - vrfreg_ = vrfreg; - if (vrfreg) { - - } else { - + inline SLAFNotifRsp& operator=(SLAFNotifRsp&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfReg.VrfReg) -} -inline ::service_layer::SLVrfReg* SLAFVrfReg::release_vrfreg() { - - ::service_layer::SLVrfReg* temp = vrfreg_; - vrfreg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::service_layer::SLVrfReg* SLAFVrfReg::unsafe_arena_release_vrfreg() { - // @@protoc_insertion_point(field_release:service_layer.SLAFVrfReg.VrfReg) - - ::service_layer::SLVrfReg* temp = vrfreg_; - vrfreg_ = nullptr; - return temp; -} -inline ::service_layer::SLVrfReg* SLAFVrfReg::_internal_mutable_vrfreg() { - - if (vrfreg_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLVrfReg>(GetArenaForAllocation()); - vrfreg_ = p; + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; } - return vrfreg_; -} -inline ::service_layer::SLVrfReg* SLAFVrfReg::mutable_vrfreg() { + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SLAFNotifRsp& default_instance() { + return *internal_default_instance(); + } + static inline const SLAFNotifRsp* internal_default_instance() { + return reinterpret_cast( + &_SLAFNotifRsp_default_instance_); + } + static constexpr int kIndexInFileMessages = + 31; + + friend void swap(SLAFNotifRsp& a, SLAFNotifRsp& b) { + a.Swap(&b); + } + inline void Swap(SLAFNotifRsp* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SLAFNotifRsp* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLAFNotifRsp* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLAFNotifRsp& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLAFNotifRsp& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SLAFNotifRsp* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLAFNotifRsp"; + } + protected: + explicit SLAFNotifRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNotifReqFieldNumber = 1, + kNotifStatusFieldNumber = 2, + }; + // .service_layer.SLAFNotifRegReq NotifReq = 1; + bool has_notifreq() const; + private: + bool _internal_has_notifreq() const; + public: + void clear_notifreq(); + const ::service_layer::SLAFNotifRegReq& notifreq() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNotifRegReq* release_notifreq(); + ::service_layer::SLAFNotifRegReq* mutable_notifreq(); + void set_allocated_notifreq(::service_layer::SLAFNotifRegReq* notifreq); + private: + const ::service_layer::SLAFNotifRegReq& _internal_notifreq() const; + ::service_layer::SLAFNotifRegReq* _internal_mutable_notifreq(); + public: + void unsafe_arena_set_allocated_notifreq( + ::service_layer::SLAFNotifRegReq* notifreq); + ::service_layer::SLAFNotifRegReq* unsafe_arena_release_notifreq(); + + // .service_layer.SLErrorStatus NotifStatus = 2; + bool has_notifstatus() const; + private: + bool _internal_has_notifstatus() const; + public: + void clear_notifstatus(); + const ::service_layer::SLErrorStatus& notifstatus() const; + PROTOBUF_NODISCARD ::service_layer::SLErrorStatus* release_notifstatus(); + ::service_layer::SLErrorStatus* mutable_notifstatus(); + void set_allocated_notifstatus(::service_layer::SLErrorStatus* notifstatus); + private: + const ::service_layer::SLErrorStatus& _internal_notifstatus() const; + ::service_layer::SLErrorStatus* _internal_mutable_notifstatus(); + public: + void unsafe_arena_set_allocated_notifstatus( + ::service_layer::SLErrorStatus* notifstatus); + ::service_layer::SLErrorStatus* unsafe_arena_release_notifstatus(); + + // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifRsp) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::service_layer::SLAFNotifRegReq* notifreq_; + ::service_layer::SLErrorStatus* notifstatus_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5faf_2eproto; +}; +// ------------------------------------------------------------------- + +class SLNextHop final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLNextHop) */ { + public: + inline SLNextHop() : SLNextHop(nullptr) {} + ~SLNextHop() override; + explicit constexpr SLNextHop(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLNextHop(const SLNextHop& from); + SLNextHop(SLNextHop&& from) noexcept + : SLNextHop() { + *this = ::std::move(from); + } + + inline SLNextHop& operator=(const SLNextHop& from) { + CopyFrom(from); + return *this; + } + inline SLNextHop& operator=(SLNextHop&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SLNextHop& default_instance() { + return *internal_default_instance(); + } + static inline const SLNextHop* internal_default_instance() { + return reinterpret_cast( + &_SLNextHop_default_instance_); + } + static constexpr int kIndexInFileMessages = + 32; + + friend void swap(SLNextHop& a, SLNextHop& b) { + a.Swap(&b); + } + inline void Swap(SLNextHop* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SLNextHop* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLNextHop* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLNextHop& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLNextHop& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SLNextHop* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLNextHop"; + } + protected: + explicit SLNextHop(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPathsFieldNumber = 7, + kSrcProtoFieldNumber = 3, + kSrcProtoTagFieldNumber = 4, + kNextHopKeyFieldNumber = 1, + kResolvingPrefixFieldNumber = 2, + kAdminDistanceFieldNumber = 5, + kMetricFieldNumber = 6, + }; + // repeated .service_layer.SLRoutePath Paths = 7; + int paths_size() const; + private: + int _internal_paths_size() const; + public: + void clear_paths(); + ::service_layer::SLRoutePath* mutable_paths(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* + mutable_paths(); + private: + const ::service_layer::SLRoutePath& _internal_paths(int index) const; + ::service_layer::SLRoutePath* _internal_add_paths(); + public: + const ::service_layer::SLRoutePath& paths(int index) const; + ::service_layer::SLRoutePath* add_paths(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& + paths() const; + + // string SrcProto = 3; + void clear_srcproto(); + const std::string& srcproto() const; + template + void set_srcproto(ArgT0&& arg0, ArgT... args); + std::string* mutable_srcproto(); + PROTOBUF_NODISCARD std::string* release_srcproto(); + void set_allocated_srcproto(std::string* srcproto); + private: + const std::string& _internal_srcproto() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcproto(const std::string& value); + std::string* _internal_mutable_srcproto(); + public: + + // string SrcProtoTag = 4; + void clear_srcprototag(); + const std::string& srcprototag() const; + template + void set_srcprototag(ArgT0&& arg0, ArgT... args); + std::string* mutable_srcprototag(); + PROTOBUF_NODISCARD std::string* release_srcprototag(); + void set_allocated_srcprototag(std::string* srcprototag); + private: + const std::string& _internal_srcprototag() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_srcprototag(const std::string& value); + std::string* _internal_mutable_srcprototag(); + public: + + // .service_layer.SLAFNextHopRegKey NextHopKey = 1; + bool has_nexthopkey() const; + private: + bool _internal_has_nexthopkey() const; + public: + void clear_nexthopkey(); + const ::service_layer::SLAFNextHopRegKey& nexthopkey() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNextHopRegKey* release_nexthopkey(); + ::service_layer::SLAFNextHopRegKey* mutable_nexthopkey(); + void set_allocated_nexthopkey(::service_layer::SLAFNextHopRegKey* nexthopkey); + private: + const ::service_layer::SLAFNextHopRegKey& _internal_nexthopkey() const; + ::service_layer::SLAFNextHopRegKey* _internal_mutable_nexthopkey(); + public: + void unsafe_arena_set_allocated_nexthopkey( + ::service_layer::SLAFNextHopRegKey* nexthopkey); + ::service_layer::SLAFNextHopRegKey* unsafe_arena_release_nexthopkey(); + + // .service_layer.SLRoutePrefix ResolvingPrefix = 2; + bool has_resolvingprefix() const; + private: + bool _internal_has_resolvingprefix() const; + public: + void clear_resolvingprefix(); + const ::service_layer::SLRoutePrefix& resolvingprefix() const; + PROTOBUF_NODISCARD ::service_layer::SLRoutePrefix* release_resolvingprefix(); + ::service_layer::SLRoutePrefix* mutable_resolvingprefix(); + void set_allocated_resolvingprefix(::service_layer::SLRoutePrefix* resolvingprefix); + private: + const ::service_layer::SLRoutePrefix& _internal_resolvingprefix() const; + ::service_layer::SLRoutePrefix* _internal_mutable_resolvingprefix(); + public: + void unsafe_arena_set_allocated_resolvingprefix( + ::service_layer::SLRoutePrefix* resolvingprefix); + ::service_layer::SLRoutePrefix* unsafe_arena_release_resolvingprefix(); + + // uint32 AdminDistance = 5; + void clear_admindistance(); + uint32_t admindistance() const; + void set_admindistance(uint32_t value); + private: + uint32_t _internal_admindistance() const; + void _internal_set_admindistance(uint32_t value); + public: + + // uint32 Metric = 6; + void clear_metric(); + uint32_t metric() const; + void set_metric(uint32_t value); + private: + uint32_t _internal_metric() const; + void _internal_set_metric(uint32_t value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLNextHop) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath > paths_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcproto_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcprototag_; + ::service_layer::SLAFNextHopRegKey* nexthopkey_; + ::service_layer::SLRoutePrefix* resolvingprefix_; + uint32_t admindistance_; + uint32_t metric_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5faf_2eproto; +}; +// ------------------------------------------------------------------- + +class SLAFNotif_SLRedistMarker final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotif.SLRedistMarker) */ { + public: + inline SLAFNotif_SLRedistMarker() : SLAFNotif_SLRedistMarker(nullptr) {} + ~SLAFNotif_SLRedistMarker() override; + explicit constexpr SLAFNotif_SLRedistMarker(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLAFNotif_SLRedistMarker(const SLAFNotif_SLRedistMarker& from); + SLAFNotif_SLRedistMarker(SLAFNotif_SLRedistMarker&& from) noexcept + : SLAFNotif_SLRedistMarker() { + *this = ::std::move(from); + } + + inline SLAFNotif_SLRedistMarker& operator=(const SLAFNotif_SLRedistMarker& from) { + CopyFrom(from); + return *this; + } + inline SLAFNotif_SLRedistMarker& operator=(SLAFNotif_SLRedistMarker&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SLAFNotif_SLRedistMarker& default_instance() { + return *internal_default_instance(); + } + static inline const SLAFNotif_SLRedistMarker* internal_default_instance() { + return reinterpret_cast( + &_SLAFNotif_SLRedistMarker_default_instance_); + } + static constexpr int kIndexInFileMessages = + 33; + + friend void swap(SLAFNotif_SLRedistMarker& a, SLAFNotif_SLRedistMarker& b) { + a.Swap(&b); + } + inline void Swap(SLAFNotif_SLRedistMarker* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SLAFNotif_SLRedistMarker* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLAFNotif_SLRedistMarker* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLAFNotif_SLRedistMarker& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLAFNotif_SLRedistMarker& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SLAFNotif_SLRedistMarker* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLAFNotif.SLRedistMarker"; + } + protected: + explicit SLAFNotif_SLRedistMarker(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTableFieldNumber = 1, + }; + // .service_layer.SLTableType Table = 1; + void clear_table(); + ::service_layer::SLTableType table() const; + void set_table(::service_layer::SLTableType value); + private: + ::service_layer::SLTableType _internal_table() const; + void _internal_set_table(::service_layer::SLTableType value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLAFNotif.SLRedistMarker) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + int table_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5faf_2eproto; +}; +// ------------------------------------------------------------------- + +class SLAFNotif final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotif) */ { + public: + inline SLAFNotif() : SLAFNotif(nullptr) {} + ~SLAFNotif() override; + explicit constexpr SLAFNotif(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLAFNotif(const SLAFNotif& from); + SLAFNotif(SLAFNotif&& from) noexcept + : SLAFNotif() { + *this = ::std::move(from); + } + + inline SLAFNotif& operator=(const SLAFNotif& from) { + CopyFrom(from); + return *this; + } + inline SLAFNotif& operator=(SLAFNotif&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SLAFNotif& default_instance() { + return *internal_default_instance(); + } + enum EventCase { + kNotifStatus = 1, + kStartMarker = 2, + kEndMarker = 3, + kRedistObject = 4, + kNextHop = 5, + EVENT_NOT_SET = 0, + }; + + static inline const SLAFNotif* internal_default_instance() { + return reinterpret_cast( + &_SLAFNotif_default_instance_); + } + static constexpr int kIndexInFileMessages = + 34; + + friend void swap(SLAFNotif& a, SLAFNotif& b) { + a.Swap(&b); + } + inline void Swap(SLAFNotif* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SLAFNotif* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLAFNotif* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLAFNotif& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLAFNotif& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SLAFNotif* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLAFNotif"; + } + protected: + explicit SLAFNotif(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef SLAFNotif_SLRedistMarker SLRedistMarker; + + // accessors ------------------------------------------------------- + + enum : int { + kNotifStatusFieldNumber = 1, + kStartMarkerFieldNumber = 2, + kEndMarkerFieldNumber = 3, + kRedistObjectFieldNumber = 4, + kNextHopFieldNumber = 5, + }; + // .service_layer.SLAFNotifRsp NotifStatus = 1; + bool has_notifstatus() const; + private: + bool _internal_has_notifstatus() const; + public: + void clear_notifstatus(); + const ::service_layer::SLAFNotifRsp& notifstatus() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNotifRsp* release_notifstatus(); + ::service_layer::SLAFNotifRsp* mutable_notifstatus(); + void set_allocated_notifstatus(::service_layer::SLAFNotifRsp* notifstatus); + private: + const ::service_layer::SLAFNotifRsp& _internal_notifstatus() const; + ::service_layer::SLAFNotifRsp* _internal_mutable_notifstatus(); + public: + void unsafe_arena_set_allocated_notifstatus( + ::service_layer::SLAFNotifRsp* notifstatus); + ::service_layer::SLAFNotifRsp* unsafe_arena_release_notifstatus(); + + // .service_layer.SLAFNotif.SLRedistMarker StartMarker = 2; + bool has_startmarker() const; + private: + bool _internal_has_startmarker() const; + public: + void clear_startmarker(); + const ::service_layer::SLAFNotif_SLRedistMarker& startmarker() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNotif_SLRedistMarker* release_startmarker(); + ::service_layer::SLAFNotif_SLRedistMarker* mutable_startmarker(); + void set_allocated_startmarker(::service_layer::SLAFNotif_SLRedistMarker* startmarker); + private: + const ::service_layer::SLAFNotif_SLRedistMarker& _internal_startmarker() const; + ::service_layer::SLAFNotif_SLRedistMarker* _internal_mutable_startmarker(); + public: + void unsafe_arena_set_allocated_startmarker( + ::service_layer::SLAFNotif_SLRedistMarker* startmarker); + ::service_layer::SLAFNotif_SLRedistMarker* unsafe_arena_release_startmarker(); + + // .service_layer.SLAFNotif.SLRedistMarker EndMarker = 3; + bool has_endmarker() const; + private: + bool _internal_has_endmarker() const; + public: + void clear_endmarker(); + const ::service_layer::SLAFNotif_SLRedistMarker& endmarker() const; + PROTOBUF_NODISCARD ::service_layer::SLAFNotif_SLRedistMarker* release_endmarker(); + ::service_layer::SLAFNotif_SLRedistMarker* mutable_endmarker(); + void set_allocated_endmarker(::service_layer::SLAFNotif_SLRedistMarker* endmarker); + private: + const ::service_layer::SLAFNotif_SLRedistMarker& _internal_endmarker() const; + ::service_layer::SLAFNotif_SLRedistMarker* _internal_mutable_endmarker(); + public: + void unsafe_arena_set_allocated_endmarker( + ::service_layer::SLAFNotif_SLRedistMarker* endmarker); + ::service_layer::SLAFNotif_SLRedistMarker* unsafe_arena_release_endmarker(); + + // .service_layer.SLAFObject RedistObject = 4; + bool has_redistobject() const; + private: + bool _internal_has_redistobject() const; + public: + void clear_redistobject(); + const ::service_layer::SLAFObject& redistobject() const; + PROTOBUF_NODISCARD ::service_layer::SLAFObject* release_redistobject(); + ::service_layer::SLAFObject* mutable_redistobject(); + void set_allocated_redistobject(::service_layer::SLAFObject* redistobject); + private: + const ::service_layer::SLAFObject& _internal_redistobject() const; + ::service_layer::SLAFObject* _internal_mutable_redistobject(); + public: + void unsafe_arena_set_allocated_redistobject( + ::service_layer::SLAFObject* redistobject); + ::service_layer::SLAFObject* unsafe_arena_release_redistobject(); + + // .service_layer.SLNextHop NextHop = 5; + bool has_nexthop() const; + private: + bool _internal_has_nexthop() const; + public: + void clear_nexthop(); + const ::service_layer::SLNextHop& nexthop() const; + PROTOBUF_NODISCARD ::service_layer::SLNextHop* release_nexthop(); + ::service_layer::SLNextHop* mutable_nexthop(); + void set_allocated_nexthop(::service_layer::SLNextHop* nexthop); + private: + const ::service_layer::SLNextHop& _internal_nexthop() const; + ::service_layer::SLNextHop* _internal_mutable_nexthop(); + public: + void unsafe_arena_set_allocated_nexthop( + ::service_layer::SLNextHop* nexthop); + ::service_layer::SLNextHop* unsafe_arena_release_nexthop(); + + void clear_Event(); + EventCase Event_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLAFNotif) + private: + class _Internal; + void set_has_notifstatus(); + void set_has_startmarker(); + void set_has_endmarker(); + void set_has_redistobject(); + void set_has_nexthop(); + + inline bool has_Event() const; + inline void clear_has_Event(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + union EventUnion { + constexpr EventUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLAFNotifRsp* notifstatus_; + ::service_layer::SLAFNotif_SLRedistMarker* startmarker_; + ::service_layer::SLAFNotif_SLRedistMarker* endmarker_; + ::service_layer::SLAFObject* redistobject_; + ::service_layer::SLNextHop* nexthop_; + } Event_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + friend struct ::TableStruct_sl_5faf_2eproto; +}; +// ------------------------------------------------------------------- + +class SLAFNotifMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLAFNotifMsg) */ { + public: + inline SLAFNotifMsg() : SLAFNotifMsg(nullptr) {} + ~SLAFNotifMsg() override; + explicit constexpr SLAFNotifMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLAFNotifMsg(const SLAFNotifMsg& from); + SLAFNotifMsg(SLAFNotifMsg&& from) noexcept + : SLAFNotifMsg() { + *this = ::std::move(from); + } + + inline SLAFNotifMsg& operator=(const SLAFNotifMsg& from) { + CopyFrom(from); + return *this; + } + inline SLAFNotifMsg& operator=(SLAFNotifMsg&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SLAFNotifMsg& default_instance() { + return *internal_default_instance(); + } + static inline const SLAFNotifMsg* internal_default_instance() { + return reinterpret_cast( + &_SLAFNotifMsg_default_instance_); + } + static constexpr int kIndexInFileMessages = + 35; + + friend void swap(SLAFNotifMsg& a, SLAFNotifMsg& b) { + a.Swap(&b); + } + inline void Swap(SLAFNotifMsg* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SLAFNotifMsg* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLAFNotifMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLAFNotifMsg& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLAFNotifMsg& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SLAFNotifMsg* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLAFNotifMsg"; + } + protected: + explicit SLAFNotifMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAFNotifsFieldNumber = 3, + kVrfNameFieldNumber = 1, + }; + // repeated .service_layer.SLAFNotif AFNotifs = 3; + int afnotifs_size() const; + private: + int _internal_afnotifs_size() const; + public: + void clear_afnotifs(); + ::service_layer::SLAFNotif* mutable_afnotifs(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotif >* + mutable_afnotifs(); + private: + const ::service_layer::SLAFNotif& _internal_afnotifs(int index) const; + ::service_layer::SLAFNotif* _internal_add_afnotifs(); + public: + const ::service_layer::SLAFNotif& afnotifs(int index) const; + ::service_layer::SLAFNotif* add_afnotifs(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotif >& + afnotifs() const; + + // string VrfName = 1; + void clear_vrfname(); + const std::string& vrfname() const; + template + void set_vrfname(ArgT0&& arg0, ArgT... args); + std::string* mutable_vrfname(); + PROTOBUF_NODISCARD std::string* release_vrfname(); + void set_allocated_vrfname(std::string* vrfname); + private: + const std::string& _internal_vrfname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_vrfname(const std::string& value); + std::string* _internal_mutable_vrfname(); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLAFNotifMsg) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFNotif > afnotifs_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5faf_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// SLAFVrfReg + +// .service_layer.SLTableType Table = 1; +inline void SLAFVrfReg::clear_table() { + table_ = 0; +} +inline ::service_layer::SLTableType SLAFVrfReg::_internal_table() const { + return static_cast< ::service_layer::SLTableType >(table_); +} +inline ::service_layer::SLTableType SLAFVrfReg::table() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfReg.Table) + return _internal_table(); +} +inline void SLAFVrfReg::_internal_set_table(::service_layer::SLTableType value) { + + table_ = value; +} +inline void SLAFVrfReg::set_table(::service_layer::SLTableType value) { + _internal_set_table(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFVrfReg.Table) +} + +// .service_layer.SLVrfReg VrfReg = 2; +inline bool SLAFVrfReg::_internal_has_vrfreg() const { + return this != internal_default_instance() && vrfreg_ != nullptr; +} +inline bool SLAFVrfReg::has_vrfreg() const { + return _internal_has_vrfreg(); +} +inline const ::service_layer::SLVrfReg& SLAFVrfReg::_internal_vrfreg() const { + const ::service_layer::SLVrfReg* p = vrfreg_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLVrfReg_default_instance_); +} +inline const ::service_layer::SLVrfReg& SLAFVrfReg::vrfreg() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfReg.VrfReg) + return _internal_vrfreg(); +} +inline void SLAFVrfReg::unsafe_arena_set_allocated_vrfreg( + ::service_layer::SLVrfReg* vrfreg) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(vrfreg_); + } + vrfreg_ = vrfreg; + if (vrfreg) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfReg.VrfReg) +} +inline ::service_layer::SLVrfReg* SLAFVrfReg::release_vrfreg() { + + ::service_layer::SLVrfReg* temp = vrfreg_; + vrfreg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service_layer::SLVrfReg* SLAFVrfReg::unsafe_arena_release_vrfreg() { + // @@protoc_insertion_point(field_release:service_layer.SLAFVrfReg.VrfReg) + + ::service_layer::SLVrfReg* temp = vrfreg_; + vrfreg_ = nullptr; + return temp; +} +inline ::service_layer::SLVrfReg* SLAFVrfReg::_internal_mutable_vrfreg() { + + if (vrfreg_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLVrfReg>(GetArenaForAllocation()); + vrfreg_ = p; + } + return vrfreg_; +} +inline ::service_layer::SLVrfReg* SLAFVrfReg::mutable_vrfreg() { ::service_layer::SLVrfReg* _msg = _internal_mutable_vrfreg(); // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfReg.VrfReg) return _msg; } -inline void SLAFVrfReg::set_allocated_vrfreg(::service_layer::SLVrfReg* vrfreg) { +inline void SLAFVrfReg::set_allocated_vrfreg(::service_layer::SLVrfReg* vrfreg) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(vrfreg_); + } + if (vrfreg) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(vrfreg)); + if (message_arena != submessage_arena) { + vrfreg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, vrfreg, submessage_arena); + } + + } else { + + } + vrfreg_ = vrfreg; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfReg.VrfReg) +} + +// ------------------------------------------------------------------- + +// SLAFVrfRegMsg + +// .service_layer.SLRegOp Oper = 1; +inline void SLAFVrfRegMsg::clear_oper() { + oper_ = 0; +} +inline ::service_layer::SLRegOp SLAFVrfRegMsg::_internal_oper() const { + return static_cast< ::service_layer::SLRegOp >(oper_); +} +inline ::service_layer::SLRegOp SLAFVrfRegMsg::oper() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsg.Oper) + return _internal_oper(); +} +inline void SLAFVrfRegMsg::_internal_set_oper(::service_layer::SLRegOp value) { + + oper_ = value; +} +inline void SLAFVrfRegMsg::set_oper(::service_layer::SLRegOp value) { + _internal_set_oper(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegMsg.Oper) +} + +// repeated .service_layer.SLAFVrfReg VrfRegMsgs = 2; +inline int SLAFVrfRegMsg::_internal_vrfregmsgs_size() const { + return vrfregmsgs_.size(); +} +inline int SLAFVrfRegMsg::vrfregmsgs_size() const { + return _internal_vrfregmsgs_size(); +} +inline void SLAFVrfRegMsg::clear_vrfregmsgs() { + vrfregmsgs_.Clear(); +} +inline ::service_layer::SLAFVrfReg* SLAFVrfRegMsg::mutable_vrfregmsgs(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsg.VrfRegMsgs) + return vrfregmsgs_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfReg >* +SLAFVrfRegMsg::mutable_vrfregmsgs() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFVrfRegMsg.VrfRegMsgs) + return &vrfregmsgs_; +} +inline const ::service_layer::SLAFVrfReg& SLAFVrfRegMsg::_internal_vrfregmsgs(int index) const { + return vrfregmsgs_.Get(index); +} +inline const ::service_layer::SLAFVrfReg& SLAFVrfRegMsg::vrfregmsgs(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsg.VrfRegMsgs) + return _internal_vrfregmsgs(index); +} +inline ::service_layer::SLAFVrfReg* SLAFVrfRegMsg::_internal_add_vrfregmsgs() { + return vrfregmsgs_.Add(); +} +inline ::service_layer::SLAFVrfReg* SLAFVrfRegMsg::add_vrfregmsgs() { + ::service_layer::SLAFVrfReg* _add = _internal_add_vrfregmsgs(); + // @@protoc_insertion_point(field_add:service_layer.SLAFVrfRegMsg.VrfRegMsgs) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfReg >& +SLAFVrfRegMsg::vrfregmsgs() const { + // @@protoc_insertion_point(field_list:service_layer.SLAFVrfRegMsg.VrfRegMsgs) + return vrfregmsgs_; +} + +// ------------------------------------------------------------------- + +// SLAFVrfRegMsgRes + +// .service_layer.SLErrorStatus ErrStatus = 1; +inline bool SLAFVrfRegMsgRes::_internal_has_errstatus() const { + return this != internal_default_instance() && errstatus_ != nullptr; +} +inline bool SLAFVrfRegMsgRes::has_errstatus() const { + return _internal_has_errstatus(); +} +inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRes::_internal_errstatus() const { + const ::service_layer::SLErrorStatus* p = errstatus_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLErrorStatus_default_instance_); +} +inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRes::errstatus() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRes.ErrStatus) + return _internal_errstatus(); +} +inline void SLAFVrfRegMsgRes::unsafe_arena_set_allocated_errstatus( + ::service_layer::SLErrorStatus* errstatus) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + } + errstatus_ = errstatus; + if (errstatus) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfRegMsgRes.ErrStatus) +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::release_errstatus() { + + ::service_layer::SLErrorStatus* temp = errstatus_; + errstatus_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::unsafe_arena_release_errstatus() { + // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegMsgRes.ErrStatus) + + ::service_layer::SLErrorStatus* temp = errstatus_; + errstatus_ = nullptr; + return temp; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::_internal_mutable_errstatus() { + + if (errstatus_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); + errstatus_ = p; + } + return errstatus_; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::mutable_errstatus() { + ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRes.ErrStatus) + return _msg; +} +inline void SLAFVrfRegMsgRes::set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + } + if (errstatus) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus)); + if (message_arena != submessage_arena) { + errstatus = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, errstatus, submessage_arena); + } + + } else { + + } + errstatus_ = errstatus; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegMsgRes.ErrStatus) +} + +// string VrfName = 2; +inline void SLAFVrfRegMsgRes::clear_vrfname() { + vrfname_.ClearToEmpty(); +} +inline const std::string& SLAFVrfRegMsgRes::vrfname() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRes.VrfName) + return _internal_vrfname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void SLAFVrfRegMsgRes::set_vrfname(ArgT0&& arg0, ArgT... args) { + + vrfname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegMsgRes.VrfName) +} +inline std::string* SLAFVrfRegMsgRes::mutable_vrfname() { + std::string* _s = _internal_mutable_vrfname(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRes.VrfName) + return _s; +} +inline const std::string& SLAFVrfRegMsgRes::_internal_vrfname() const { + return vrfname_.Get(); +} +inline void SLAFVrfRegMsgRes::_internal_set_vrfname(const std::string& value) { + + vrfname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* SLAFVrfRegMsgRes::_internal_mutable_vrfname() { + + return vrfname_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* SLAFVrfRegMsgRes::release_vrfname() { + // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegMsgRes.VrfName) + return vrfname_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void SLAFVrfRegMsgRes::set_allocated_vrfname(std::string* vrfname) { + if (vrfname != nullptr) { + + } else { + + } + vrfname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), vrfname, + GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (vrfname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegMsgRes.VrfName) +} + +// .service_layer.SLTableType Table = 3; +inline void SLAFVrfRegMsgRes::clear_table() { + table_ = 0; +} +inline ::service_layer::SLTableType SLAFVrfRegMsgRes::_internal_table() const { + return static_cast< ::service_layer::SLTableType >(table_); +} +inline ::service_layer::SLTableType SLAFVrfRegMsgRes::table() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRes.Table) + return _internal_table(); +} +inline void SLAFVrfRegMsgRes::_internal_set_table(::service_layer::SLTableType value) { + + table_ = value; +} +inline void SLAFVrfRegMsgRes::set_table(::service_layer::SLTableType value) { + _internal_set_table(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegMsgRes.Table) +} + +// ------------------------------------------------------------------- + +// SLAFVrfRegMsgRsp + +// .service_layer.SLErrorStatus StatusSummary = 1; +inline bool SLAFVrfRegMsgRsp::_internal_has_statussummary() const { + return this != internal_default_instance() && statussummary_ != nullptr; +} +inline bool SLAFVrfRegMsgRsp::has_statussummary() const { + return _internal_has_statussummary(); +} +inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRsp::_internal_statussummary() const { + const ::service_layer::SLErrorStatus* p = statussummary_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLErrorStatus_default_instance_); +} +inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRsp::statussummary() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRsp.StatusSummary) + return _internal_statussummary(); +} +inline void SLAFVrfRegMsgRsp::unsafe_arena_set_allocated_statussummary( + ::service_layer::SLErrorStatus* statussummary) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(statussummary_); + } + statussummary_ = statussummary; + if (statussummary) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfRegMsgRsp.StatusSummary) +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::release_statussummary() { + + ::service_layer::SLErrorStatus* temp = statussummary_; + statussummary_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::unsafe_arena_release_statussummary() { + // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegMsgRsp.StatusSummary) + + ::service_layer::SLErrorStatus* temp = statussummary_; + statussummary_ = nullptr; + return temp; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::_internal_mutable_statussummary() { + + if (statussummary_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); + statussummary_ = p; + } + return statussummary_; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::mutable_statussummary() { + ::service_layer::SLErrorStatus* _msg = _internal_mutable_statussummary(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRsp.StatusSummary) + return _msg; +} +inline void SLAFVrfRegMsgRsp::set_allocated_statussummary(::service_layer::SLErrorStatus* statussummary) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(statussummary_); + } + if (statussummary) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(statussummary)); + if (message_arena != submessage_arena) { + statussummary = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, statussummary, submessage_arena); + } + + } else { + + } + statussummary_ = statussummary; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegMsgRsp.StatusSummary) +} + +// repeated .service_layer.SLAFVrfRegMsgRes Results = 2; +inline int SLAFVrfRegMsgRsp::_internal_results_size() const { + return results_.size(); +} +inline int SLAFVrfRegMsgRsp::results_size() const { + return _internal_results_size(); +} +inline void SLAFVrfRegMsgRsp::clear_results() { + results_.Clear(); +} +inline ::service_layer::SLAFVrfRegMsgRes* SLAFVrfRegMsgRsp::mutable_results(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRsp.Results) + return results_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfRegMsgRes >* +SLAFVrfRegMsgRsp::mutable_results() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFVrfRegMsgRsp.Results) + return &results_; +} +inline const ::service_layer::SLAFVrfRegMsgRes& SLAFVrfRegMsgRsp::_internal_results(int index) const { + return results_.Get(index); +} +inline const ::service_layer::SLAFVrfRegMsgRes& SLAFVrfRegMsgRsp::results(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRsp.Results) + return _internal_results(index); +} +inline ::service_layer::SLAFVrfRegMsgRes* SLAFVrfRegMsgRsp::_internal_add_results() { + return results_.Add(); +} +inline ::service_layer::SLAFVrfRegMsgRes* SLAFVrfRegMsgRsp::add_results() { + ::service_layer::SLAFVrfRegMsgRes* _add = _internal_add_results(); + // @@protoc_insertion_point(field_add:service_layer.SLAFVrfRegMsgRsp.Results) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfRegMsgRes >& +SLAFVrfRegMsgRsp::results() const { + // @@protoc_insertion_point(field_list:service_layer.SLAFVrfRegMsgRsp.Results) + return results_; +} + +// ------------------------------------------------------------------- + +// SLAFVrfRegGetMsg + +// bool GetAll = 1; +inline void SLAFVrfRegGetMsg::clear_getall() { + getall_ = false; +} +inline bool SLAFVrfRegGetMsg::_internal_getall() const { + return getall_; +} +inline bool SLAFVrfRegGetMsg::getall() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsg.GetAll) + return _internal_getall(); +} +inline void SLAFVrfRegGetMsg::_internal_set_getall(bool value) { + + getall_ = value; +} +inline void SLAFVrfRegGetMsg::set_getall(bool value) { + _internal_set_getall(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegGetMsg.GetAll) +} + +// ------------------------------------------------------------------- + +// SLAFVrfRegGetMsgRsp + +// .service_layer.SLErrorStatus ErrStatus = 1; +inline bool SLAFVrfRegGetMsgRsp::_internal_has_errstatus() const { + return this != internal_default_instance() && errstatus_ != nullptr; +} +inline bool SLAFVrfRegGetMsgRsp::has_errstatus() const { + return _internal_has_errstatus(); +} +inline const ::service_layer::SLErrorStatus& SLAFVrfRegGetMsgRsp::_internal_errstatus() const { + const ::service_layer::SLErrorStatus* p = errstatus_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLErrorStatus_default_instance_); +} +inline const ::service_layer::SLErrorStatus& SLAFVrfRegGetMsgRsp::errstatus() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) + return _internal_errstatus(); +} +inline void SLAFVrfRegGetMsgRsp::unsafe_arena_set_allocated_errstatus( + ::service_layer::SLErrorStatus* errstatus) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + } + errstatus_ = errstatus; + if (errstatus) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::release_errstatus() { + + ::service_layer::SLErrorStatus* temp = errstatus_; + errstatus_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::unsafe_arena_release_errstatus() { + // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) + + ::service_layer::SLErrorStatus* temp = errstatus_; + errstatus_ = nullptr; + return temp; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::_internal_mutable_errstatus() { + + if (errstatus_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); + errstatus_ = p; + } + return errstatus_; +} +inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::mutable_errstatus() { + ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) + return _msg; +} +inline void SLAFVrfRegGetMsgRsp::set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + } + if (errstatus) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus)); + if (message_arena != submessage_arena) { + errstatus = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, errstatus, submessage_arena); + } + + } else { + + } + errstatus_ = errstatus; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) +} + +// uint64 ClientID = 2; +inline void SLAFVrfRegGetMsgRsp::clear_clientid() { + clientid_ = uint64_t{0u}; +} +inline uint64_t SLAFVrfRegGetMsgRsp::_internal_clientid() const { + return clientid_; +} +inline uint64_t SLAFVrfRegGetMsgRsp::clientid() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.ClientID) + return _internal_clientid(); +} +inline void SLAFVrfRegGetMsgRsp::_internal_set_clientid(uint64_t value) { + + clientid_ = value; +} +inline void SLAFVrfRegGetMsgRsp::set_clientid(uint64_t value) { + _internal_set_clientid(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegGetMsgRsp.ClientID) +} + +// .service_layer.SLTableType Table = 3; +inline void SLAFVrfRegGetMsgRsp::clear_table() { + table_ = 0; +} +inline ::service_layer::SLTableType SLAFVrfRegGetMsgRsp::_internal_table() const { + return static_cast< ::service_layer::SLTableType >(table_); +} +inline ::service_layer::SLTableType SLAFVrfRegGetMsgRsp::table() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.Table) + return _internal_table(); +} +inline void SLAFVrfRegGetMsgRsp::_internal_set_table(::service_layer::SLTableType value) { + + table_ = value; +} +inline void SLAFVrfRegGetMsgRsp::set_table(::service_layer::SLTableType value) { + _internal_set_table(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegGetMsgRsp.Table) +} + +// repeated .service_layer.SLVrfReg Entries = 4; +inline int SLAFVrfRegGetMsgRsp::_internal_entries_size() const { + return entries_.size(); +} +inline int SLAFVrfRegGetMsgRsp::entries_size() const { + return _internal_entries_size(); +} +inline ::service_layer::SLVrfReg* SLAFVrfRegGetMsgRsp::mutable_entries(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegGetMsgRsp.Entries) + return entries_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLVrfReg >* +SLAFVrfRegGetMsgRsp::mutable_entries() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFVrfRegGetMsgRsp.Entries) + return &entries_; +} +inline const ::service_layer::SLVrfReg& SLAFVrfRegGetMsgRsp::_internal_entries(int index) const { + return entries_.Get(index); +} +inline const ::service_layer::SLVrfReg& SLAFVrfRegGetMsgRsp::entries(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.Entries) + return _internal_entries(index); +} +inline ::service_layer::SLVrfReg* SLAFVrfRegGetMsgRsp::_internal_add_entries() { + return entries_.Add(); +} +inline ::service_layer::SLVrfReg* SLAFVrfRegGetMsgRsp::add_entries() { + ::service_layer::SLVrfReg* _add = _internal_add_entries(); + // @@protoc_insertion_point(field_add:service_layer.SLAFVrfRegGetMsgRsp.Entries) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLVrfReg >& +SLAFVrfRegGetMsgRsp::entries() const { + // @@protoc_insertion_point(field_list:service_layer.SLAFVrfRegGetMsgRsp.Entries) + return entries_; +} + +// ------------------------------------------------------------------- + +// SLPathGroup_SLPath + +// .service_layer.SLRoutePath Path = 1; +inline bool SLPathGroup_SLPath::_internal_has_path() const { + return this != internal_default_instance() && path_ != nullptr; +} +inline bool SLPathGroup_SLPath::has_path() const { + return _internal_has_path(); +} +inline const ::service_layer::SLRoutePath& SLPathGroup_SLPath::_internal_path() const { + const ::service_layer::SLRoutePath* p = path_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLRoutePath_default_instance_); +} +inline const ::service_layer::SLRoutePath& SLPathGroup_SLPath::path() const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.SLPath.Path) + return _internal_path(); +} +inline void SLPathGroup_SLPath::unsafe_arena_set_allocated_path( + ::service_layer::SLRoutePath* path) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(path_); + } + path_ = path; + if (path) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPathGroup.SLPath.Path) +} +inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::release_path() { + + ::service_layer::SLRoutePath* temp = path_; + path_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::unsafe_arena_release_path() { + // @@protoc_insertion_point(field_release:service_layer.SLPathGroup.SLPath.Path) + + ::service_layer::SLRoutePath* temp = path_; + path_ = nullptr; + return temp; +} +inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::_internal_mutable_path() { + + if (path_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLRoutePath>(GetArenaForAllocation()); + path_ = p; + } + return path_; +} +inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::mutable_path() { + ::service_layer::SLRoutePath* _msg = _internal_mutable_path(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.SLPath.Path) + return _msg; +} +inline void SLPathGroup_SLPath::set_allocated_path(::service_layer::SLRoutePath* path) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(vrfreg_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(path_); } - if (vrfreg) { + if (path) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(vrfreg)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(path)); if (message_arena != submessage_arena) { - vrfreg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, vrfreg, submessage_arena); + path = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, path, submessage_arena); } } else { } - vrfreg_ = vrfreg; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfReg.VrfReg) + path_ = path; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.SLPath.Path) } // ------------------------------------------------------------------- -// SLAFVrfRegMsg - -// .service_layer.SLRegOp Oper = 1; -inline void SLAFVrfRegMsg::clear_oper() { - oper_ = 0; -} -inline ::service_layer::SLRegOp SLAFVrfRegMsg::_internal_oper() const { - return static_cast< ::service_layer::SLRegOp >(oper_); -} -inline ::service_layer::SLRegOp SLAFVrfRegMsg::oper() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsg.Oper) - return _internal_oper(); -} -inline void SLAFVrfRegMsg::_internal_set_oper(::service_layer::SLRegOp value) { - - oper_ = value; -} -inline void SLAFVrfRegMsg::set_oper(::service_layer::SLRegOp value) { - _internal_set_oper(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegMsg.Oper) -} +// SLPathGroup_SLPathList -// repeated .service_layer.SLAFVrfReg VrfRegMsgs = 2; -inline int SLAFVrfRegMsg::_internal_vrfregmsgs_size() const { - return vrfregmsgs_.size(); +// repeated .service_layer.SLPathGroup.SLPath Paths = 1; +inline int SLPathGroup_SLPathList::_internal_paths_size() const { + return paths_.size(); } -inline int SLAFVrfRegMsg::vrfregmsgs_size() const { - return _internal_vrfregmsgs_size(); +inline int SLPathGroup_SLPathList::paths_size() const { + return _internal_paths_size(); } -inline void SLAFVrfRegMsg::clear_vrfregmsgs() { - vrfregmsgs_.Clear(); +inline void SLPathGroup_SLPathList::clear_paths() { + paths_.Clear(); } -inline ::service_layer::SLAFVrfReg* SLAFVrfRegMsg::mutable_vrfregmsgs(int index) { - // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsg.VrfRegMsgs) - return vrfregmsgs_.Mutable(index); +inline ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::mutable_paths(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.SLPathList.Paths) + return paths_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfReg >* -SLAFVrfRegMsg::mutable_vrfregmsgs() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFVrfRegMsg.VrfRegMsgs) - return &vrfregmsgs_; +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >* +SLPathGroup_SLPathList::mutable_paths() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLPathGroup.SLPathList.Paths) + return &paths_; } -inline const ::service_layer::SLAFVrfReg& SLAFVrfRegMsg::_internal_vrfregmsgs(int index) const { - return vrfregmsgs_.Get(index); +inline const ::service_layer::SLPathGroup_SLPath& SLPathGroup_SLPathList::_internal_paths(int index) const { + return paths_.Get(index); } -inline const ::service_layer::SLAFVrfReg& SLAFVrfRegMsg::vrfregmsgs(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsg.VrfRegMsgs) - return _internal_vrfregmsgs(index); +inline const ::service_layer::SLPathGroup_SLPath& SLPathGroup_SLPathList::paths(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.SLPathList.Paths) + return _internal_paths(index); } -inline ::service_layer::SLAFVrfReg* SLAFVrfRegMsg::_internal_add_vrfregmsgs() { - return vrfregmsgs_.Add(); +inline ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::_internal_add_paths() { + return paths_.Add(); } -inline ::service_layer::SLAFVrfReg* SLAFVrfRegMsg::add_vrfregmsgs() { - ::service_layer::SLAFVrfReg* _add = _internal_add_vrfregmsgs(); - // @@protoc_insertion_point(field_add:service_layer.SLAFVrfRegMsg.VrfRegMsgs) +inline ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::add_paths() { + ::service_layer::SLPathGroup_SLPath* _add = _internal_add_paths(); + // @@protoc_insertion_point(field_add:service_layer.SLPathGroup.SLPathList.Paths) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfReg >& -SLAFVrfRegMsg::vrfregmsgs() const { - // @@protoc_insertion_point(field_list:service_layer.SLAFVrfRegMsg.VrfRegMsgs) - return vrfregmsgs_; +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >& +SLPathGroup_SLPathList::paths() const { + // @@protoc_insertion_point(field_list:service_layer.SLPathGroup.SLPathList.Paths) + return paths_; } // ------------------------------------------------------------------- -// SLAFVrfRegMsgRes +// SLPathGroup -// .service_layer.SLErrorStatus ErrStatus = 1; -inline bool SLAFVrfRegMsgRes::_internal_has_errstatus() const { - return this != internal_default_instance() && errstatus_ != nullptr; +// .service_layer.SLObjectId PathGroupId = 1; +inline bool SLPathGroup::_internal_has_pathgroupid() const { + return this != internal_default_instance() && pathgroupid_ != nullptr; } -inline bool SLAFVrfRegMsgRes::has_errstatus() const { - return _internal_has_errstatus(); +inline bool SLPathGroup::has_pathgroupid() const { + return _internal_has_pathgroupid(); } -inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRes::_internal_errstatus() const { - const ::service_layer::SLErrorStatus* p = errstatus_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLErrorStatus_default_instance_); +inline const ::service_layer::SLObjectId& SLPathGroup::_internal_pathgroupid() const { + const ::service_layer::SLObjectId* p = pathgroupid_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLObjectId_default_instance_); } -inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRes::errstatus() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRes.ErrStatus) - return _internal_errstatus(); +inline const ::service_layer::SLObjectId& SLPathGroup::pathgroupid() const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PathGroupId) + return _internal_pathgroupid(); } -inline void SLAFVrfRegMsgRes::unsafe_arena_set_allocated_errstatus( - ::service_layer::SLErrorStatus* errstatus) { +inline void SLPathGroup::unsafe_arena_set_allocated_pathgroupid( + ::service_layer::SLObjectId* pathgroupid) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid_); } - errstatus_ = errstatus; - if (errstatus) { + pathgroupid_ = pathgroupid; + if (pathgroupid) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfRegMsgRes.ErrStatus) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPathGroup.PathGroupId) } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::release_errstatus() { +inline ::service_layer::SLObjectId* SLPathGroup::release_pathgroupid() { - ::service_layer::SLErrorStatus* temp = errstatus_; - errstatus_ = nullptr; + ::service_layer::SLObjectId* temp = pathgroupid_; + pathgroupid_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -6278,156 +7767,261 @@ inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::release_errstatus() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::unsafe_arena_release_errstatus() { - // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegMsgRes.ErrStatus) +inline ::service_layer::SLObjectId* SLPathGroup::unsafe_arena_release_pathgroupid() { + // @@protoc_insertion_point(field_release:service_layer.SLPathGroup.PathGroupId) - ::service_layer::SLErrorStatus* temp = errstatus_; - errstatus_ = nullptr; + ::service_layer::SLObjectId* temp = pathgroupid_; + pathgroupid_ = nullptr; return temp; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::_internal_mutable_errstatus() { +inline ::service_layer::SLObjectId* SLPathGroup::_internal_mutable_pathgroupid() { - if (errstatus_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); - errstatus_ = p; + if (pathgroupid_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLObjectId>(GetArenaForAllocation()); + pathgroupid_ = p; } - return errstatus_; + return pathgroupid_; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRes::mutable_errstatus() { - ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRes.ErrStatus) +inline ::service_layer::SLObjectId* SLPathGroup::mutable_pathgroupid() { + ::service_layer::SLObjectId* _msg = _internal_mutable_pathgroupid(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.PathGroupId) return _msg; } -inline void SLAFVrfRegMsgRes::set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); +inline void SLPathGroup::set_allocated_pathgroupid(::service_layer::SLObjectId* pathgroupid) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid_); + } + if (pathgroupid) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid)); + if (message_arena != submessage_arena) { + pathgroupid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, pathgroupid, submessage_arena); + } + + } else { + + } + pathgroupid_ = pathgroupid; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.PathGroupId) +} + +// uint32 AdminDistance = 2; +inline void SLPathGroup::clear_admindistance() { + admindistance_ = 0u; +} +inline uint32_t SLPathGroup::_internal_admindistance() const { + return admindistance_; +} +inline uint32_t SLPathGroup::admindistance() const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.AdminDistance) + return _internal_admindistance(); +} +inline void SLPathGroup::_internal_set_admindistance(uint32_t value) { + + admindistance_ = value; +} +inline void SLPathGroup::set_admindistance(uint32_t value) { + _internal_set_admindistance(value); + // @@protoc_insertion_point(field_set:service_layer.SLPathGroup.AdminDistance) +} + +// .service_layer.SLPathGroup.SLPathList PathList = 3; +inline bool SLPathGroup::_internal_has_pathlist() const { + return entry_case() == kPathList; +} +inline bool SLPathGroup::has_pathlist() const { + return _internal_has_pathlist(); +} +inline void SLPathGroup::set_has_pathlist() { + _oneof_case_[0] = kPathList; +} +inline void SLPathGroup::clear_pathlist() { + if (_internal_has_pathlist()) { + if (GetArenaForAllocation() == nullptr) { + delete entry_.pathlist_; + } + clear_has_entry(); + } +} +inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::release_pathlist() { + // @@protoc_insertion_point(field_release:service_layer.SLPathGroup.PathList) + if (_internal_has_pathlist()) { + clear_has_entry(); + ::service_layer::SLPathGroup_SLPathList* temp = entry_.pathlist_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + entry_.pathlist_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPathGroup_SLPathList& SLPathGroup::_internal_pathlist() const { + return _internal_has_pathlist() + ? *entry_.pathlist_ + : reinterpret_cast< ::service_layer::SLPathGroup_SLPathList&>(::service_layer::_SLPathGroup_SLPathList_default_instance_); +} +inline const ::service_layer::SLPathGroup_SLPathList& SLPathGroup::pathlist() const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PathList) + return _internal_pathlist(); +} +inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::unsafe_arena_release_pathlist() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPathGroup.PathList) + if (_internal_has_pathlist()) { + clear_has_entry(); + ::service_layer::SLPathGroup_SLPathList* temp = entry_.pathlist_; + entry_.pathlist_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLPathGroup::unsafe_arena_set_allocated_pathlist(::service_layer::SLPathGroup_SLPathList* pathlist) { + clear_entry(); + if (pathlist) { + set_has_pathlist(); + entry_.pathlist_ = pathlist; } - if (errstatus) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus)); - if (message_arena != submessage_arena) { - errstatus = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, errstatus, submessage_arena); - } - - } else { - + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPathGroup.PathList) +} +inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::_internal_mutable_pathlist() { + if (!_internal_has_pathlist()) { + clear_entry(); + set_has_pathlist(); + entry_.pathlist_ = CreateMaybeMessage< ::service_layer::SLPathGroup_SLPathList >(GetArenaForAllocation()); } - errstatus_ = errstatus; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegMsgRes.ErrStatus) + return entry_.pathlist_; +} +inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::mutable_pathlist() { + ::service_layer::SLPathGroup_SLPathList* _msg = _internal_mutable_pathlist(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.PathList) + return _msg; } -// string VrfName = 2; -inline void SLAFVrfRegMsgRes::clear_vrfname() { - vrfname_.ClearToEmpty(); +// repeated .service_layer.SLRouteFlags PgFlags = 4; +inline int SLPathGroup::_internal_pgflags_size() const { + return pgflags_.size(); } -inline const std::string& SLAFVrfRegMsgRes::vrfname() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRes.VrfName) - return _internal_vrfname(); +inline int SLPathGroup::pgflags_size() const { + return _internal_pgflags_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void SLAFVrfRegMsgRes::set_vrfname(ArgT0&& arg0, ArgT... args) { - - vrfname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegMsgRes.VrfName) +inline void SLPathGroup::clear_pgflags() { + pgflags_.Clear(); } -inline std::string* SLAFVrfRegMsgRes::mutable_vrfname() { - std::string* _s = _internal_mutable_vrfname(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRes.VrfName) - return _s; +inline ::service_layer::SLRouteFlags SLPathGroup::_internal_pgflags(int index) const { + return static_cast< ::service_layer::SLRouteFlags >(pgflags_.Get(index)); } -inline const std::string& SLAFVrfRegMsgRes::_internal_vrfname() const { - return vrfname_.Get(); +inline ::service_layer::SLRouteFlags SLPathGroup::pgflags(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PgFlags) + return _internal_pgflags(index); } -inline void SLAFVrfRegMsgRes::_internal_set_vrfname(const std::string& value) { - - vrfname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +inline void SLPathGroup::set_pgflags(int index, ::service_layer::SLRouteFlags value) { + pgflags_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLPathGroup.PgFlags) } -inline std::string* SLAFVrfRegMsgRes::_internal_mutable_vrfname() { - - return vrfname_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +inline void SLPathGroup::_internal_add_pgflags(::service_layer::SLRouteFlags value) { + pgflags_.Add(value); } -inline std::string* SLAFVrfRegMsgRes::release_vrfname() { - // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegMsgRes.VrfName) - return vrfname_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +inline void SLPathGroup::add_pgflags(::service_layer::SLRouteFlags value) { + _internal_add_pgflags(value); + // @@protoc_insertion_point(field_add:service_layer.SLPathGroup.PgFlags) } -inline void SLAFVrfRegMsgRes::set_allocated_vrfname(std::string* vrfname) { - if (vrfname != nullptr) { - - } else { - - } - vrfname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), vrfname, - GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (vrfname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { - vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegMsgRes.VrfName) +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& +SLPathGroup::pgflags() const { + // @@protoc_insertion_point(field_list:service_layer.SLPathGroup.PgFlags) + return pgflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLPathGroup::_internal_mutable_pgflags() { + return &pgflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLPathGroup::mutable_pgflags() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLPathGroup.PgFlags) + return _internal_mutable_pgflags(); } -// .service_layer.SLTableType Table = 3; -inline void SLAFVrfRegMsgRes::clear_table() { - table_ = 0; +inline bool SLPathGroup::has_entry() const { + return entry_case() != ENTRY_NOT_SET; } -inline ::service_layer::SLTableType SLAFVrfRegMsgRes::_internal_table() const { - return static_cast< ::service_layer::SLTableType >(table_); +inline void SLPathGroup::clear_has_entry() { + _oneof_case_[0] = ENTRY_NOT_SET; } -inline ::service_layer::SLTableType SLAFVrfRegMsgRes::table() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRes.Table) - return _internal_table(); +inline SLPathGroup::EntryCase SLPathGroup::entry_case() const { + return SLPathGroup::EntryCase(_oneof_case_[0]); } -inline void SLAFVrfRegMsgRes::_internal_set_table(::service_layer::SLTableType value) { +// ------------------------------------------------------------------- + +// SLMplsEntryKey + +// uint32 Label = 1; +inline void SLMplsEntryKey::clear_label() { + label_ = 0u; +} +inline uint32_t SLMplsEntryKey::_internal_label() const { + return label_; +} +inline uint32_t SLMplsEntryKey::label() const { + // @@protoc_insertion_point(field_get:service_layer.SLMplsEntryKey.Label) + return _internal_label(); +} +inline void SLMplsEntryKey::_internal_set_label(uint32_t value) { - table_ = value; + label_ = value; } -inline void SLAFVrfRegMsgRes::set_table(::service_layer::SLTableType value) { - _internal_set_table(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegMsgRes.Table) +inline void SLMplsEntryKey::set_label(uint32_t value) { + _internal_set_label(value); + // @@protoc_insertion_point(field_set:service_layer.SLMplsEntryKey.Label) } // ------------------------------------------------------------------- -// SLAFVrfRegMsgRsp +// SLMplsEntry -// .service_layer.SLErrorStatus StatusSummary = 1; -inline bool SLAFVrfRegMsgRsp::_internal_has_statussummary() const { - return this != internal_default_instance() && statussummary_ != nullptr; +// .service_layer.SLMplsEntryKey MplsKey = 1; +inline bool SLMplsEntry::_internal_has_mplskey() const { + return this != internal_default_instance() && mplskey_ != nullptr; } -inline bool SLAFVrfRegMsgRsp::has_statussummary() const { - return _internal_has_statussummary(); +inline bool SLMplsEntry::has_mplskey() const { + return _internal_has_mplskey(); } -inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRsp::_internal_statussummary() const { - const ::service_layer::SLErrorStatus* p = statussummary_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLErrorStatus_default_instance_); +inline void SLMplsEntry::clear_mplskey() { + if (GetArenaForAllocation() == nullptr && mplskey_ != nullptr) { + delete mplskey_; + } + mplskey_ = nullptr; } -inline const ::service_layer::SLErrorStatus& SLAFVrfRegMsgRsp::statussummary() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRsp.StatusSummary) - return _internal_statussummary(); +inline const ::service_layer::SLMplsEntryKey& SLMplsEntry::_internal_mplskey() const { + const ::service_layer::SLMplsEntryKey* p = mplskey_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLMplsEntryKey_default_instance_); } -inline void SLAFVrfRegMsgRsp::unsafe_arena_set_allocated_statussummary( - ::service_layer::SLErrorStatus* statussummary) { +inline const ::service_layer::SLMplsEntryKey& SLMplsEntry::mplskey() const { + // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.MplsKey) + return _internal_mplskey(); +} +inline void SLMplsEntry::unsafe_arena_set_allocated_mplskey( + ::service_layer::SLMplsEntryKey* mplskey) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(statussummary_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(mplskey_); } - statussummary_ = statussummary; - if (statussummary) { + mplskey_ = mplskey; + if (mplskey) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfRegMsgRsp.StatusSummary) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLMplsEntry.MplsKey) } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::release_statussummary() { +inline ::service_layer::SLMplsEntryKey* SLMplsEntry::release_mplskey() { - ::service_layer::SLErrorStatus* temp = statussummary_; - statussummary_ = nullptr; + ::service_layer::SLMplsEntryKey* temp = mplskey_; + mplskey_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -6439,149 +8033,183 @@ inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::release_statussummary() #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::unsafe_arena_release_statussummary() { - // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegMsgRsp.StatusSummary) +inline ::service_layer::SLMplsEntryKey* SLMplsEntry::unsafe_arena_release_mplskey() { + // @@protoc_insertion_point(field_release:service_layer.SLMplsEntry.MplsKey) - ::service_layer::SLErrorStatus* temp = statussummary_; - statussummary_ = nullptr; + ::service_layer::SLMplsEntryKey* temp = mplskey_; + mplskey_ = nullptr; return temp; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::_internal_mutable_statussummary() { +inline ::service_layer::SLMplsEntryKey* SLMplsEntry::_internal_mutable_mplskey() { - if (statussummary_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); - statussummary_ = p; + if (mplskey_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLMplsEntryKey>(GetArenaForAllocation()); + mplskey_ = p; } - return statussummary_; + return mplskey_; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegMsgRsp::mutable_statussummary() { - ::service_layer::SLErrorStatus* _msg = _internal_mutable_statussummary(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRsp.StatusSummary) +inline ::service_layer::SLMplsEntryKey* SLMplsEntry::mutable_mplskey() { + ::service_layer::SLMplsEntryKey* _msg = _internal_mutable_mplskey(); + // @@protoc_insertion_point(field_mutable:service_layer.SLMplsEntry.MplsKey) return _msg; } -inline void SLAFVrfRegMsgRsp::set_allocated_statussummary(::service_layer::SLErrorStatus* statussummary) { +inline void SLMplsEntry::set_allocated_mplskey(::service_layer::SLMplsEntryKey* mplskey) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(statussummary_); + delete mplskey_; } - if (statussummary) { + if (mplskey) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(statussummary)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLMplsEntryKey>::GetOwningArena(mplskey); if (message_arena != submessage_arena) { - statussummary = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, statussummary, submessage_arena); + mplskey = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, mplskey, submessage_arena); } } else { } - statussummary_ = statussummary; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegMsgRsp.StatusSummary) + mplskey_ = mplskey; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLMplsEntry.MplsKey) } -// repeated .service_layer.SLAFVrfRegMsgRes Results = 2; -inline int SLAFVrfRegMsgRsp::_internal_results_size() const { - return results_.size(); +// uint32 AdminDistance = 2; +inline void SLMplsEntry::clear_admindistance() { + admindistance_ = 0u; } -inline int SLAFVrfRegMsgRsp::results_size() const { - return _internal_results_size(); +inline uint32_t SLMplsEntry::_internal_admindistance() const { + return admindistance_; } -inline void SLAFVrfRegMsgRsp::clear_results() { - results_.Clear(); +inline uint32_t SLMplsEntry::admindistance() const { + // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.AdminDistance) + return _internal_admindistance(); } -inline ::service_layer::SLAFVrfRegMsgRes* SLAFVrfRegMsgRsp::mutable_results(int index) { - // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegMsgRsp.Results) - return results_.Mutable(index); +inline void SLMplsEntry::_internal_set_admindistance(uint32_t value) { + + admindistance_ = value; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfRegMsgRes >* -SLAFVrfRegMsgRsp::mutable_results() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFVrfRegMsgRsp.Results) - return &results_; +inline void SLMplsEntry::set_admindistance(uint32_t value) { + _internal_set_admindistance(value); + // @@protoc_insertion_point(field_set:service_layer.SLMplsEntry.AdminDistance) } -inline const ::service_layer::SLAFVrfRegMsgRes& SLAFVrfRegMsgRsp::_internal_results(int index) const { - return results_.Get(index); + +// repeated .service_layer.SLRoutePath PathList = 3; +inline int SLMplsEntry::_internal_pathlist_size() const { + return pathlist_.size(); } -inline const ::service_layer::SLAFVrfRegMsgRes& SLAFVrfRegMsgRsp::results(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegMsgRsp.Results) - return _internal_results(index); +inline int SLMplsEntry::pathlist_size() const { + return _internal_pathlist_size(); } -inline ::service_layer::SLAFVrfRegMsgRes* SLAFVrfRegMsgRsp::_internal_add_results() { - return results_.Add(); +inline ::service_layer::SLRoutePath* SLMplsEntry::mutable_pathlist(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLMplsEntry.PathList) + return pathlist_.Mutable(index); } -inline ::service_layer::SLAFVrfRegMsgRes* SLAFVrfRegMsgRsp::add_results() { - ::service_layer::SLAFVrfRegMsgRes* _add = _internal_add_results(); - // @@protoc_insertion_point(field_add:service_layer.SLAFVrfRegMsgRsp.Results) +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* +SLMplsEntry::mutable_pathlist() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLMplsEntry.PathList) + return &pathlist_; +} +inline const ::service_layer::SLRoutePath& SLMplsEntry::_internal_pathlist(int index) const { + return pathlist_.Get(index); +} +inline const ::service_layer::SLRoutePath& SLMplsEntry::pathlist(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.PathList) + return _internal_pathlist(index); +} +inline ::service_layer::SLRoutePath* SLMplsEntry::_internal_add_pathlist() { + return pathlist_.Add(); +} +inline ::service_layer::SLRoutePath* SLMplsEntry::add_pathlist() { + ::service_layer::SLRoutePath* _add = _internal_add_pathlist(); + // @@protoc_insertion_point(field_add:service_layer.SLMplsEntry.PathList) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFVrfRegMsgRes >& -SLAFVrfRegMsgRsp::results() const { - // @@protoc_insertion_point(field_list:service_layer.SLAFVrfRegMsgRsp.Results) - return results_; +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& +SLMplsEntry::pathlist() const { + // @@protoc_insertion_point(field_list:service_layer.SLMplsEntry.PathList) + return pathlist_; } -// ------------------------------------------------------------------- - -// SLAFVrfRegGetMsg - -// bool GetAll = 1; -inline void SLAFVrfRegGetMsg::clear_getall() { - getall_ = false; +// repeated .service_layer.SLRouteFlags MplsFlags = 4; +inline int SLMplsEntry::_internal_mplsflags_size() const { + return mplsflags_.size(); } -inline bool SLAFVrfRegGetMsg::_internal_getall() const { - return getall_; +inline int SLMplsEntry::mplsflags_size() const { + return _internal_mplsflags_size(); } -inline bool SLAFVrfRegGetMsg::getall() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsg.GetAll) - return _internal_getall(); +inline void SLMplsEntry::clear_mplsflags() { + mplsflags_.Clear(); } -inline void SLAFVrfRegGetMsg::_internal_set_getall(bool value) { - - getall_ = value; +inline ::service_layer::SLRouteFlags SLMplsEntry::_internal_mplsflags(int index) const { + return static_cast< ::service_layer::SLRouteFlags >(mplsflags_.Get(index)); } -inline void SLAFVrfRegGetMsg::set_getall(bool value) { - _internal_set_getall(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegGetMsg.GetAll) +inline ::service_layer::SLRouteFlags SLMplsEntry::mplsflags(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.MplsFlags) + return _internal_mplsflags(index); +} +inline void SLMplsEntry::set_mplsflags(int index, ::service_layer::SLRouteFlags value) { + mplsflags_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLMplsEntry.MplsFlags) +} +inline void SLMplsEntry::_internal_add_mplsflags(::service_layer::SLRouteFlags value) { + mplsflags_.Add(value); +} +inline void SLMplsEntry::add_mplsflags(::service_layer::SLRouteFlags value) { + _internal_add_mplsflags(value); + // @@protoc_insertion_point(field_add:service_layer.SLMplsEntry.MplsFlags) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& +SLMplsEntry::mplsflags() const { + // @@protoc_insertion_point(field_list:service_layer.SLMplsEntry.MplsFlags) + return mplsflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLMplsEntry::_internal_mutable_mplsflags() { + return &mplsflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLMplsEntry::mutable_mplsflags() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLMplsEntry.MplsFlags) + return _internal_mutable_mplsflags(); } // ------------------------------------------------------------------- -// SLAFVrfRegGetMsgRsp +// SLAFIPRoute -// .service_layer.SLErrorStatus ErrStatus = 1; -inline bool SLAFVrfRegGetMsgRsp::_internal_has_errstatus() const { - return this != internal_default_instance() && errstatus_ != nullptr; +// .service_layer.SLRoutePrefix IPRoutePrefix = 1; +inline bool SLAFIPRoute::_internal_has_iprouteprefix() const { + return this != internal_default_instance() && iprouteprefix_ != nullptr; } -inline bool SLAFVrfRegGetMsgRsp::has_errstatus() const { - return _internal_has_errstatus(); +inline bool SLAFIPRoute::has_iprouteprefix() const { + return _internal_has_iprouteprefix(); } -inline const ::service_layer::SLErrorStatus& SLAFVrfRegGetMsgRsp::_internal_errstatus() const { - const ::service_layer::SLErrorStatus* p = errstatus_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLErrorStatus_default_instance_); +inline const ::service_layer::SLRoutePrefix& SLAFIPRoute::_internal_iprouteprefix() const { + const ::service_layer::SLRoutePrefix* p = iprouteprefix_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLRoutePrefix_default_instance_); } -inline const ::service_layer::SLErrorStatus& SLAFVrfRegGetMsgRsp::errstatus() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) - return _internal_errstatus(); +inline const ::service_layer::SLRoutePrefix& SLAFIPRoute::iprouteprefix() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFIPRoute.IPRoutePrefix) + return _internal_iprouteprefix(); } -inline void SLAFVrfRegGetMsgRsp::unsafe_arena_set_allocated_errstatus( - ::service_layer::SLErrorStatus* errstatus) { +inline void SLAFIPRoute::unsafe_arena_set_allocated_iprouteprefix( + ::service_layer::SLRoutePrefix* iprouteprefix) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(iprouteprefix_); } - errstatus_ = errstatus; - if (errstatus) { + iprouteprefix_ = iprouteprefix; + if (iprouteprefix) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFIPRoute.IPRoutePrefix) } -inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::release_errstatus() { +inline ::service_layer::SLRoutePrefix* SLAFIPRoute::release_iprouteprefix() { - ::service_layer::SLErrorStatus* temp = errstatus_; - errstatus_ = nullptr; + ::service_layer::SLRoutePrefix* temp = iprouteprefix_; + iprouteprefix_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -6593,162 +8221,81 @@ inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::release_errstatus() #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::unsafe_arena_release_errstatus() { - // @@protoc_insertion_point(field_release:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) +inline ::service_layer::SLRoutePrefix* SLAFIPRoute::unsafe_arena_release_iprouteprefix() { + // @@protoc_insertion_point(field_release:service_layer.SLAFIPRoute.IPRoutePrefix) - ::service_layer::SLErrorStatus* temp = errstatus_; - errstatus_ = nullptr; + ::service_layer::SLRoutePrefix* temp = iprouteprefix_; + iprouteprefix_ = nullptr; return temp; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::_internal_mutable_errstatus() { +inline ::service_layer::SLRoutePrefix* SLAFIPRoute::_internal_mutable_iprouteprefix() { - if (errstatus_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); - errstatus_ = p; + if (iprouteprefix_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLRoutePrefix>(GetArenaForAllocation()); + iprouteprefix_ = p; } - return errstatus_; + return iprouteprefix_; } -inline ::service_layer::SLErrorStatus* SLAFVrfRegGetMsgRsp::mutable_errstatus() { - ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) +inline ::service_layer::SLRoutePrefix* SLAFIPRoute::mutable_iprouteprefix() { + ::service_layer::SLRoutePrefix* _msg = _internal_mutable_iprouteprefix(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFIPRoute.IPRoutePrefix) return _msg; } -inline void SLAFVrfRegGetMsgRsp::set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus) { +inline void SLAFIPRoute::set_allocated_iprouteprefix(::service_layer::SLRoutePrefix* iprouteprefix) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(iprouteprefix_); } - if (errstatus) { + if (iprouteprefix) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(iprouteprefix)); if (message_arena != submessage_arena) { - errstatus = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, errstatus, submessage_arena); + iprouteprefix = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, iprouteprefix, submessage_arena); } } else { } - errstatus_ = errstatus; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFVrfRegGetMsgRsp.ErrStatus) -} - -// uint64 ClientID = 2; -inline void SLAFVrfRegGetMsgRsp::clear_clientid() { - clientid_ = uint64_t{0u}; -} -inline uint64_t SLAFVrfRegGetMsgRsp::_internal_clientid() const { - return clientid_; -} -inline uint64_t SLAFVrfRegGetMsgRsp::clientid() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.ClientID) - return _internal_clientid(); -} -inline void SLAFVrfRegGetMsgRsp::_internal_set_clientid(uint64_t value) { - - clientid_ = value; -} -inline void SLAFVrfRegGetMsgRsp::set_clientid(uint64_t value) { - _internal_set_clientid(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegGetMsgRsp.ClientID) -} - -// .service_layer.SLTableType Table = 3; -inline void SLAFVrfRegGetMsgRsp::clear_table() { - table_ = 0; -} -inline ::service_layer::SLTableType SLAFVrfRegGetMsgRsp::_internal_table() const { - return static_cast< ::service_layer::SLTableType >(table_); -} -inline ::service_layer::SLTableType SLAFVrfRegGetMsgRsp::table() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.Table) - return _internal_table(); -} -inline void SLAFVrfRegGetMsgRsp::_internal_set_table(::service_layer::SLTableType value) { - - table_ = value; -} -inline void SLAFVrfRegGetMsgRsp::set_table(::service_layer::SLTableType value) { - _internal_set_table(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFVrfRegGetMsgRsp.Table) -} - -// repeated .service_layer.SLVrfReg Entries = 4; -inline int SLAFVrfRegGetMsgRsp::_internal_entries_size() const { - return entries_.size(); -} -inline int SLAFVrfRegGetMsgRsp::entries_size() const { - return _internal_entries_size(); -} -inline ::service_layer::SLVrfReg* SLAFVrfRegGetMsgRsp::mutable_entries(int index) { - // @@protoc_insertion_point(field_mutable:service_layer.SLAFVrfRegGetMsgRsp.Entries) - return entries_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLVrfReg >* -SLAFVrfRegGetMsgRsp::mutable_entries() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFVrfRegGetMsgRsp.Entries) - return &entries_; -} -inline const ::service_layer::SLVrfReg& SLAFVrfRegGetMsgRsp::_internal_entries(int index) const { - return entries_.Get(index); -} -inline const ::service_layer::SLVrfReg& SLAFVrfRegGetMsgRsp::entries(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLAFVrfRegGetMsgRsp.Entries) - return _internal_entries(index); -} -inline ::service_layer::SLVrfReg* SLAFVrfRegGetMsgRsp::_internal_add_entries() { - return entries_.Add(); -} -inline ::service_layer::SLVrfReg* SLAFVrfRegGetMsgRsp::add_entries() { - ::service_layer::SLVrfReg* _add = _internal_add_entries(); - // @@protoc_insertion_point(field_add:service_layer.SLAFVrfRegGetMsgRsp.Entries) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLVrfReg >& -SLAFVrfRegGetMsgRsp::entries() const { - // @@protoc_insertion_point(field_list:service_layer.SLAFVrfRegGetMsgRsp.Entries) - return entries_; + iprouteprefix_ = iprouteprefix; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFIPRoute.IPRoutePrefix) } -// ------------------------------------------------------------------- - -// SLPathGroup_SLPath - -// .service_layer.SLRoutePath Path = 1; -inline bool SLPathGroup_SLPath::_internal_has_path() const { - return this != internal_default_instance() && path_ != nullptr; +// .service_layer.SLRouteCommon RouteCommon = 2; +inline bool SLAFIPRoute::_internal_has_routecommon() const { + return this != internal_default_instance() && routecommon_ != nullptr; } -inline bool SLPathGroup_SLPath::has_path() const { - return _internal_has_path(); +inline bool SLAFIPRoute::has_routecommon() const { + return _internal_has_routecommon(); } -inline const ::service_layer::SLRoutePath& SLPathGroup_SLPath::_internal_path() const { - const ::service_layer::SLRoutePath* p = path_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLRoutePath_default_instance_); +inline const ::service_layer::SLRouteCommon& SLAFIPRoute::_internal_routecommon() const { + const ::service_layer::SLRouteCommon* p = routecommon_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLRouteCommon_default_instance_); } -inline const ::service_layer::SLRoutePath& SLPathGroup_SLPath::path() const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.SLPath.Path) - return _internal_path(); +inline const ::service_layer::SLRouteCommon& SLAFIPRoute::routecommon() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFIPRoute.RouteCommon) + return _internal_routecommon(); } -inline void SLPathGroup_SLPath::unsafe_arena_set_allocated_path( - ::service_layer::SLRoutePath* path) { +inline void SLAFIPRoute::unsafe_arena_set_allocated_routecommon( + ::service_layer::SLRouteCommon* routecommon) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(path_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(routecommon_); } - path_ = path; - if (path) { + routecommon_ = routecommon; + if (routecommon) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPathGroup.SLPath.Path) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFIPRoute.RouteCommon) } -inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::release_path() { +inline ::service_layer::SLRouteCommon* SLAFIPRoute::release_routecommon() { - ::service_layer::SLRoutePath* temp = path_; - path_ = nullptr; + ::service_layer::SLRouteCommon* temp = routecommon_; + routecommon_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -6760,969 +8307,1083 @@ inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::release_path() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::unsafe_arena_release_path() { - // @@protoc_insertion_point(field_release:service_layer.SLPathGroup.SLPath.Path) +inline ::service_layer::SLRouteCommon* SLAFIPRoute::unsafe_arena_release_routecommon() { + // @@protoc_insertion_point(field_release:service_layer.SLAFIPRoute.RouteCommon) - ::service_layer::SLRoutePath* temp = path_; - path_ = nullptr; + ::service_layer::SLRouteCommon* temp = routecommon_; + routecommon_ = nullptr; return temp; } -inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::_internal_mutable_path() { +inline ::service_layer::SLRouteCommon* SLAFIPRoute::_internal_mutable_routecommon() { - if (path_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLRoutePath>(GetArenaForAllocation()); - path_ = p; + if (routecommon_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLRouteCommon>(GetArenaForAllocation()); + routecommon_ = p; } - return path_; + return routecommon_; } -inline ::service_layer::SLRoutePath* SLPathGroup_SLPath::mutable_path() { - ::service_layer::SLRoutePath* _msg = _internal_mutable_path(); - // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.SLPath.Path) +inline ::service_layer::SLRouteCommon* SLAFIPRoute::mutable_routecommon() { + ::service_layer::SLRouteCommon* _msg = _internal_mutable_routecommon(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFIPRoute.RouteCommon) return _msg; } -inline void SLPathGroup_SLPath::set_allocated_path(::service_layer::SLRoutePath* path) { +inline void SLAFIPRoute::set_allocated_routecommon(::service_layer::SLRouteCommon* routecommon) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(path_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(routecommon_); } - if (path) { + if (routecommon) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(path)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(routecommon)); if (message_arena != submessage_arena) { - path = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, path, submessage_arena); + routecommon = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, routecommon, submessage_arena); } } else { } - path_ = path; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.SLPath.Path) + routecommon_ = routecommon; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFIPRoute.RouteCommon) } -// ------------------------------------------------------------------- - -// SLPathGroup_SLPathList - -// repeated .service_layer.SLPathGroup.SLPath Paths = 1; -inline int SLPathGroup_SLPathList::_internal_paths_size() const { - return paths_.size(); -} -inline int SLPathGroup_SLPathList::paths_size() const { - return _internal_paths_size(); +// repeated .service_layer.SLRoutePath PathList = 3; +inline int SLAFIPRoute::_internal_pathlist_size() const { + return pathlist_.size(); } -inline void SLPathGroup_SLPathList::clear_paths() { - paths_.Clear(); +inline int SLAFIPRoute::pathlist_size() const { + return _internal_pathlist_size(); } -inline ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::mutable_paths(int index) { - // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.SLPathList.Paths) - return paths_.Mutable(index); +inline ::service_layer::SLRoutePath* SLAFIPRoute::mutable_pathlist(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLAFIPRoute.PathList) + return pathlist_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >* -SLPathGroup_SLPathList::mutable_paths() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLPathGroup.SLPathList.Paths) - return &paths_; +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* +SLAFIPRoute::mutable_pathlist() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFIPRoute.PathList) + return &pathlist_; } -inline const ::service_layer::SLPathGroup_SLPath& SLPathGroup_SLPathList::_internal_paths(int index) const { - return paths_.Get(index); +inline const ::service_layer::SLRoutePath& SLAFIPRoute::_internal_pathlist(int index) const { + return pathlist_.Get(index); } -inline const ::service_layer::SLPathGroup_SLPath& SLPathGroup_SLPathList::paths(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.SLPathList.Paths) - return _internal_paths(index); +inline const ::service_layer::SLRoutePath& SLAFIPRoute::pathlist(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLAFIPRoute.PathList) + return _internal_pathlist(index); } -inline ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::_internal_add_paths() { - return paths_.Add(); +inline ::service_layer::SLRoutePath* SLAFIPRoute::_internal_add_pathlist() { + return pathlist_.Add(); } -inline ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::add_paths() { - ::service_layer::SLPathGroup_SLPath* _add = _internal_add_paths(); - // @@protoc_insertion_point(field_add:service_layer.SLPathGroup.SLPathList.Paths) +inline ::service_layer::SLRoutePath* SLAFIPRoute::add_pathlist() { + ::service_layer::SLRoutePath* _add = _internal_add_pathlist(); + // @@protoc_insertion_point(field_add:service_layer.SLAFIPRoute.PathList) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >& -SLPathGroup_SLPathList::paths() const { - // @@protoc_insertion_point(field_list:service_layer.SLPathGroup.SLPathList.Paths) - return paths_; +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& +SLAFIPRoute::pathlist() const { + // @@protoc_insertion_point(field_list:service_layer.SLAFIPRoute.PathList) + return pathlist_; } // ------------------------------------------------------------------- -// SLPathGroup +// SLAFObject -// .service_layer.SLObjectId PathGroupId = 1; -inline bool SLPathGroup::_internal_has_pathgroupid() const { - return this != internal_default_instance() && pathgroupid_ != nullptr; -} -inline bool SLPathGroup::has_pathgroupid() const { - return _internal_has_pathgroupid(); +// .service_layer.SLAFIPRoute IPRoute = 1; +inline bool SLAFObject::_internal_has_iproute() const { + return entry_case() == kIPRoute; } -inline const ::service_layer::SLObjectId& SLPathGroup::_internal_pathgroupid() const { - const ::service_layer::SLObjectId* p = pathgroupid_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLObjectId_default_instance_); +inline bool SLAFObject::has_iproute() const { + return _internal_has_iproute(); } -inline const ::service_layer::SLObjectId& SLPathGroup::pathgroupid() const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PathGroupId) - return _internal_pathgroupid(); +inline void SLAFObject::set_has_iproute() { + _oneof_case_[0] = kIPRoute; } -inline void SLPathGroup::unsafe_arena_set_allocated_pathgroupid( - ::service_layer::SLObjectId* pathgroupid) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid_); +inline void SLAFObject::clear_iproute() { + if (_internal_has_iproute()) { + if (GetArenaForAllocation() == nullptr) { + delete entry_.iproute_; + } + clear_has_entry(); } - pathgroupid_ = pathgroupid; - if (pathgroupid) { - +} +inline ::service_layer::SLAFIPRoute* SLAFObject::release_iproute() { + // @@protoc_insertion_point(field_release:service_layer.SLAFObject.IPRoute) + if (_internal_has_iproute()) { + clear_has_entry(); + ::service_layer::SLAFIPRoute* temp = entry_.iproute_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + entry_.iproute_ = nullptr; + return temp; } else { - + return nullptr; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPathGroup.PathGroupId) } -inline ::service_layer::SLObjectId* SLPathGroup::release_pathgroupid() { - - ::service_layer::SLObjectId* temp = pathgroupid_; - pathgroupid_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); +inline const ::service_layer::SLAFIPRoute& SLAFObject::_internal_iproute() const { + return _internal_has_iproute() + ? *entry_.iproute_ + : reinterpret_cast< ::service_layer::SLAFIPRoute&>(::service_layer::_SLAFIPRoute_default_instance_); +} +inline const ::service_layer::SLAFIPRoute& SLAFObject::iproute() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFObject.IPRoute) + return _internal_iproute(); +} +inline ::service_layer::SLAFIPRoute* SLAFObject::unsafe_arena_release_iproute() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObject.IPRoute) + if (_internal_has_iproute()) { + clear_has_entry(); + ::service_layer::SLAFIPRoute* temp = entry_.iproute_; + entry_.iproute_ = nullptr; + return temp; + } else { + return nullptr; } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; } -inline ::service_layer::SLObjectId* SLPathGroup::unsafe_arena_release_pathgroupid() { - // @@protoc_insertion_point(field_release:service_layer.SLPathGroup.PathGroupId) - - ::service_layer::SLObjectId* temp = pathgroupid_; - pathgroupid_ = nullptr; - return temp; +inline void SLAFObject::unsafe_arena_set_allocated_iproute(::service_layer::SLAFIPRoute* iproute) { + clear_entry(); + if (iproute) { + set_has_iproute(); + entry_.iproute_ = iproute; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObject.IPRoute) } -inline ::service_layer::SLObjectId* SLPathGroup::_internal_mutable_pathgroupid() { - - if (pathgroupid_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLObjectId>(GetArenaForAllocation()); - pathgroupid_ = p; +inline ::service_layer::SLAFIPRoute* SLAFObject::_internal_mutable_iproute() { + if (!_internal_has_iproute()) { + clear_entry(); + set_has_iproute(); + entry_.iproute_ = CreateMaybeMessage< ::service_layer::SLAFIPRoute >(GetArenaForAllocation()); } - return pathgroupid_; + return entry_.iproute_; } -inline ::service_layer::SLObjectId* SLPathGroup::mutable_pathgroupid() { - ::service_layer::SLObjectId* _msg = _internal_mutable_pathgroupid(); - // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.PathGroupId) +inline ::service_layer::SLAFIPRoute* SLAFObject::mutable_iproute() { + ::service_layer::SLAFIPRoute* _msg = _internal_mutable_iproute(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFObject.IPRoute) return _msg; } -inline void SLPathGroup::set_allocated_pathgroupid(::service_layer::SLObjectId* pathgroupid) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid_); + +// .service_layer.SLMplsEntry MplsLabel = 2; +inline bool SLAFObject::_internal_has_mplslabel() const { + return entry_case() == kMplsLabel; +} +inline bool SLAFObject::has_mplslabel() const { + return _internal_has_mplslabel(); +} +inline void SLAFObject::set_has_mplslabel() { + _oneof_case_[0] = kMplsLabel; +} +inline void SLAFObject::clear_mplslabel() { + if (_internal_has_mplslabel()) { + if (GetArenaForAllocation() == nullptr) { + delete entry_.mplslabel_; + } + clear_has_entry(); } - if (pathgroupid) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid)); - if (message_arena != submessage_arena) { - pathgroupid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pathgroupid, submessage_arena); +} +inline ::service_layer::SLMplsEntry* SLAFObject::release_mplslabel() { + // @@protoc_insertion_point(field_release:service_layer.SLAFObject.MplsLabel) + if (_internal_has_mplslabel()) { + clear_has_entry(); + ::service_layer::SLMplsEntry* temp = entry_.mplslabel_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - + entry_.mplslabel_ = nullptr; + return temp; } else { - + return nullptr; } - pathgroupid_ = pathgroupid; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.PathGroupId) } - -// uint32 AdminDistance = 2; -inline void SLPathGroup::clear_admindistance() { - admindistance_ = 0u; +inline const ::service_layer::SLMplsEntry& SLAFObject::_internal_mplslabel() const { + return _internal_has_mplslabel() + ? *entry_.mplslabel_ + : reinterpret_cast< ::service_layer::SLMplsEntry&>(::service_layer::_SLMplsEntry_default_instance_); } -inline uint32_t SLPathGroup::_internal_admindistance() const { - return admindistance_; +inline const ::service_layer::SLMplsEntry& SLAFObject::mplslabel() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFObject.MplsLabel) + return _internal_mplslabel(); } -inline uint32_t SLPathGroup::admindistance() const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.AdminDistance) - return _internal_admindistance(); +inline ::service_layer::SLMplsEntry* SLAFObject::unsafe_arena_release_mplslabel() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObject.MplsLabel) + if (_internal_has_mplslabel()) { + clear_has_entry(); + ::service_layer::SLMplsEntry* temp = entry_.mplslabel_; + entry_.mplslabel_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline void SLPathGroup::_internal_set_admindistance(uint32_t value) { - - admindistance_ = value; +inline void SLAFObject::unsafe_arena_set_allocated_mplslabel(::service_layer::SLMplsEntry* mplslabel) { + clear_entry(); + if (mplslabel) { + set_has_mplslabel(); + entry_.mplslabel_ = mplslabel; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObject.MplsLabel) } -inline void SLPathGroup::set_admindistance(uint32_t value) { - _internal_set_admindistance(value); - // @@protoc_insertion_point(field_set:service_layer.SLPathGroup.AdminDistance) +inline ::service_layer::SLMplsEntry* SLAFObject::_internal_mutable_mplslabel() { + if (!_internal_has_mplslabel()) { + clear_entry(); + set_has_mplslabel(); + entry_.mplslabel_ = CreateMaybeMessage< ::service_layer::SLMplsEntry >(GetArenaForAllocation()); + } + return entry_.mplslabel_; +} +inline ::service_layer::SLMplsEntry* SLAFObject::mutable_mplslabel() { + ::service_layer::SLMplsEntry* _msg = _internal_mutable_mplslabel(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFObject.MplsLabel) + return _msg; } -// .service_layer.SLPathGroup.SLPathList PathList = 3; -inline bool SLPathGroup::_internal_has_pathlist() const { - return entry_case() == kPathList; +// .service_layer.SLPathGroup PathGroup = 3; +inline bool SLAFObject::_internal_has_pathgroup() const { + return entry_case() == kPathGroup; } -inline bool SLPathGroup::has_pathlist() const { - return _internal_has_pathlist(); +inline bool SLAFObject::has_pathgroup() const { + return _internal_has_pathgroup(); } -inline void SLPathGroup::set_has_pathlist() { - _oneof_case_[0] = kPathList; +inline void SLAFObject::set_has_pathgroup() { + _oneof_case_[0] = kPathGroup; } -inline void SLPathGroup::clear_pathlist() { - if (_internal_has_pathlist()) { +inline void SLAFObject::clear_pathgroup() { + if (_internal_has_pathgroup()) { if (GetArenaForAllocation() == nullptr) { - delete entry_.pathlist_; + delete entry_.pathgroup_; } clear_has_entry(); } } -inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::release_pathlist() { - // @@protoc_insertion_point(field_release:service_layer.SLPathGroup.PathList) - if (_internal_has_pathlist()) { +inline ::service_layer::SLPathGroup* SLAFObject::release_pathgroup() { + // @@protoc_insertion_point(field_release:service_layer.SLAFObject.PathGroup) + if (_internal_has_pathgroup()) { clear_has_entry(); - ::service_layer::SLPathGroup_SLPathList* temp = entry_.pathlist_; + ::service_layer::SLPathGroup* temp = entry_.pathgroup_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - entry_.pathlist_ = nullptr; + entry_.pathgroup_ = nullptr; return temp; } else { return nullptr; } } -inline const ::service_layer::SLPathGroup_SLPathList& SLPathGroup::_internal_pathlist() const { - return _internal_has_pathlist() - ? *entry_.pathlist_ - : reinterpret_cast< ::service_layer::SLPathGroup_SLPathList&>(::service_layer::_SLPathGroup_SLPathList_default_instance_); +inline const ::service_layer::SLPathGroup& SLAFObject::_internal_pathgroup() const { + return _internal_has_pathgroup() + ? *entry_.pathgroup_ + : reinterpret_cast< ::service_layer::SLPathGroup&>(::service_layer::_SLPathGroup_default_instance_); } -inline const ::service_layer::SLPathGroup_SLPathList& SLPathGroup::pathlist() const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PathList) - return _internal_pathlist(); +inline const ::service_layer::SLPathGroup& SLAFObject::pathgroup() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFObject.PathGroup) + return _internal_pathgroup(); } -inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::unsafe_arena_release_pathlist() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPathGroup.PathList) - if (_internal_has_pathlist()) { +inline ::service_layer::SLPathGroup* SLAFObject::unsafe_arena_release_pathgroup() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObject.PathGroup) + if (_internal_has_pathgroup()) { clear_has_entry(); - ::service_layer::SLPathGroup_SLPathList* temp = entry_.pathlist_; - entry_.pathlist_ = nullptr; + ::service_layer::SLPathGroup* temp = entry_.pathgroup_; + entry_.pathgroup_ = nullptr; return temp; } else { return nullptr; } } -inline void SLPathGroup::unsafe_arena_set_allocated_pathlist(::service_layer::SLPathGroup_SLPathList* pathlist) { +inline void SLAFObject::unsafe_arena_set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup) { clear_entry(); - if (pathlist) { - set_has_pathlist(); - entry_.pathlist_ = pathlist; + if (pathgroup) { + set_has_pathgroup(); + entry_.pathgroup_ = pathgroup; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPathGroup.PathList) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObject.PathGroup) } -inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::_internal_mutable_pathlist() { - if (!_internal_has_pathlist()) { +inline ::service_layer::SLPathGroup* SLAFObject::_internal_mutable_pathgroup() { + if (!_internal_has_pathgroup()) { clear_entry(); - set_has_pathlist(); - entry_.pathlist_ = CreateMaybeMessage< ::service_layer::SLPathGroup_SLPathList >(GetArenaForAllocation()); + set_has_pathgroup(); + entry_.pathgroup_ = CreateMaybeMessage< ::service_layer::SLPathGroup >(GetArenaForAllocation()); + } + return entry_.pathgroup_; +} +inline ::service_layer::SLPathGroup* SLAFObject::mutable_pathgroup() { + ::service_layer::SLPathGroup* _msg = _internal_mutable_pathgroup(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFObject.PathGroup) + return _msg; +} + +inline bool SLAFObject::has_entry() const { + return entry_case() != ENTRY_NOT_SET; +} +inline void SLAFObject::clear_has_entry() { + _oneof_case_[0] = ENTRY_NOT_SET; +} +inline SLAFObject::EntryCase SLAFObject::entry_case() const { + return SLAFObject::EntryCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// SLAFOpMsg + +// .service_layer.SLAFObject AFObject = 1; +inline bool SLAFOpMsg::_internal_has_afobject() const { + return this != internal_default_instance() && afobject_ != nullptr; +} +inline bool SLAFOpMsg::has_afobject() const { + return _internal_has_afobject(); +} +inline void SLAFOpMsg::clear_afobject() { + if (GetArenaForAllocation() == nullptr && afobject_ != nullptr) { + delete afobject_; + } + afobject_ = nullptr; +} +inline const ::service_layer::SLAFObject& SLAFOpMsg::_internal_afobject() const { + const ::service_layer::SLAFObject* p = afobject_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLAFObject_default_instance_); +} +inline const ::service_layer::SLAFObject& SLAFOpMsg::afobject() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFOpMsg.AFObject) + return _internal_afobject(); +} +inline void SLAFOpMsg::unsafe_arena_set_allocated_afobject( + ::service_layer::SLAFObject* afobject) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(afobject_); + } + afobject_ = afobject; + if (afobject) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFOpMsg.AFObject) +} +inline ::service_layer::SLAFObject* SLAFOpMsg::release_afobject() { + + ::service_layer::SLAFObject* temp = afobject_; + afobject_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service_layer::SLAFObject* SLAFOpMsg::unsafe_arena_release_afobject() { + // @@protoc_insertion_point(field_release:service_layer.SLAFOpMsg.AFObject) + + ::service_layer::SLAFObject* temp = afobject_; + afobject_ = nullptr; + return temp; +} +inline ::service_layer::SLAFObject* SLAFOpMsg::_internal_mutable_afobject() { + + if (afobject_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLAFObject>(GetArenaForAllocation()); + afobject_ = p; } - return entry_.pathlist_; + return afobject_; } -inline ::service_layer::SLPathGroup_SLPathList* SLPathGroup::mutable_pathlist() { - ::service_layer::SLPathGroup_SLPathList* _msg = _internal_mutable_pathlist(); - // @@protoc_insertion_point(field_mutable:service_layer.SLPathGroup.PathList) +inline ::service_layer::SLAFObject* SLAFOpMsg::mutable_afobject() { + ::service_layer::SLAFObject* _msg = _internal_mutable_afobject(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFOpMsg.AFObject) return _msg; } +inline void SLAFOpMsg::set_allocated_afobject(::service_layer::SLAFObject* afobject) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete afobject_; + } + if (afobject) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFObject>::GetOwningArena(afobject); + if (message_arena != submessage_arena) { + afobject = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, afobject, submessage_arena); + } + + } else { + + } + afobject_ = afobject; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFOpMsg.AFObject) +} -// uint32 Flags = 4; -inline void SLPathGroup::clear_flags() { - flags_ = 0u; +// uint64 OperationID = 2; +inline void SLAFOpMsg::clear_operationid() { + operationid_ = uint64_t{0u}; } -inline uint32_t SLPathGroup::_internal_flags() const { - return flags_; +inline uint64_t SLAFOpMsg::_internal_operationid() const { + return operationid_; } -inline uint32_t SLPathGroup::flags() const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.Flags) - return _internal_flags(); +inline uint64_t SLAFOpMsg::operationid() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFOpMsg.OperationID) + return _internal_operationid(); } -inline void SLPathGroup::_internal_set_flags(uint32_t value) { +inline void SLAFOpMsg::_internal_set_operationid(uint64_t value) { - flags_ = value; + operationid_ = value; } -inline void SLPathGroup::set_flags(uint32_t value) { - _internal_set_flags(value); - // @@protoc_insertion_point(field_set:service_layer.SLPathGroup.Flags) +inline void SLAFOpMsg::set_operationid(uint64_t value) { + _internal_set_operationid(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFOpMsg.OperationID) } -inline bool SLPathGroup::has_entry() const { - return entry_case() != ENTRY_NOT_SET; +// .service_layer.SLRspACKType AckType = 3; +inline void SLAFOpMsg::clear_acktype() { + acktype_ = 0; } -inline void SLPathGroup::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; +inline ::service_layer::SLRspACKType SLAFOpMsg::_internal_acktype() const { + return static_cast< ::service_layer::SLRspACKType >(acktype_); } -inline SLPathGroup::EntryCase SLPathGroup::entry_case() const { - return SLPathGroup::EntryCase(_oneof_case_[0]); +inline ::service_layer::SLRspACKType SLAFOpMsg::acktype() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFOpMsg.AckType) + return _internal_acktype(); +} +inline void SLAFOpMsg::_internal_set_acktype(::service_layer::SLRspACKType value) { + + acktype_ = value; +} +inline void SLAFOpMsg::set_acktype(::service_layer::SLRspACKType value) { + _internal_set_acktype(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFOpMsg.AckType) } -// ------------------------------------------------------------------- - -// SLMplsEntry -// uint32 LocalLabel = 1; -inline void SLMplsEntry::clear_locallabel() { - locallabel_ = 0u; +// repeated .service_layer.SLRspACKPermit AckPermits = 4; +inline int SLAFOpMsg::_internal_ackpermits_size() const { + return ackpermits_.size(); } -inline uint32_t SLMplsEntry::_internal_locallabel() const { - return locallabel_; +inline int SLAFOpMsg::ackpermits_size() const { + return _internal_ackpermits_size(); } -inline uint32_t SLMplsEntry::locallabel() const { - // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.LocalLabel) - return _internal_locallabel(); +inline void SLAFOpMsg::clear_ackpermits() { + ackpermits_.Clear(); } -inline void SLMplsEntry::_internal_set_locallabel(uint32_t value) { - - locallabel_ = value; +inline ::service_layer::SLRspACKPermit SLAFOpMsg::_internal_ackpermits(int index) const { + return static_cast< ::service_layer::SLRspACKPermit >(ackpermits_.Get(index)); } -inline void SLMplsEntry::set_locallabel(uint32_t value) { - _internal_set_locallabel(value); - // @@protoc_insertion_point(field_set:service_layer.SLMplsEntry.LocalLabel) +inline ::service_layer::SLRspACKPermit SLAFOpMsg::ackpermits(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLAFOpMsg.AckPermits) + return _internal_ackpermits(index); } - -// uint32 AdminDistance = 2; -inline void SLMplsEntry::clear_admindistance() { - admindistance_ = 0u; +inline void SLAFOpMsg::set_ackpermits(int index, ::service_layer::SLRspACKPermit value) { + ackpermits_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLAFOpMsg.AckPermits) } -inline uint32_t SLMplsEntry::_internal_admindistance() const { - return admindistance_; +inline void SLAFOpMsg::_internal_add_ackpermits(::service_layer::SLRspACKPermit value) { + ackpermits_.Add(value); } -inline uint32_t SLMplsEntry::admindistance() const { - // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.AdminDistance) - return _internal_admindistance(); +inline void SLAFOpMsg::add_ackpermits(::service_layer::SLRspACKPermit value) { + _internal_add_ackpermits(value); + // @@protoc_insertion_point(field_add:service_layer.SLAFOpMsg.AckPermits) } -inline void SLMplsEntry::_internal_set_admindistance(uint32_t value) { - - admindistance_ = value; +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& +SLAFOpMsg::ackpermits() const { + // @@protoc_insertion_point(field_list:service_layer.SLAFOpMsg.AckPermits) + return ackpermits_; } -inline void SLMplsEntry::set_admindistance(uint32_t value) { - _internal_set_admindistance(value); - // @@protoc_insertion_point(field_set:service_layer.SLMplsEntry.AdminDistance) +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLAFOpMsg::_internal_mutable_ackpermits() { + return &ackpermits_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLAFOpMsg::mutable_ackpermits() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFOpMsg.AckPermits) + return _internal_mutable_ackpermits(); } -// repeated .service_layer.SLRoutePath PathList = 3; -inline int SLMplsEntry::_internal_pathlist_size() const { - return pathlist_.size(); +// .service_layer.SLRspAckCadence AckCadence = 5; +inline void SLAFOpMsg::clear_ackcadence() { + ackcadence_ = 0; } -inline int SLMplsEntry::pathlist_size() const { - return _internal_pathlist_size(); +inline ::service_layer::SLRspAckCadence SLAFOpMsg::_internal_ackcadence() const { + return static_cast< ::service_layer::SLRspAckCadence >(ackcadence_); } -inline ::service_layer::SLRoutePath* SLMplsEntry::mutable_pathlist(int index) { - // @@protoc_insertion_point(field_mutable:service_layer.SLMplsEntry.PathList) - return pathlist_.Mutable(index); +inline ::service_layer::SLRspAckCadence SLAFOpMsg::ackcadence() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFOpMsg.AckCadence) + return _internal_ackcadence(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >* -SLMplsEntry::mutable_pathlist() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLMplsEntry.PathList) - return &pathlist_; +inline void SLAFOpMsg::_internal_set_ackcadence(::service_layer::SLRspAckCadence value) { + + ackcadence_ = value; } -inline const ::service_layer::SLRoutePath& SLMplsEntry::_internal_pathlist(int index) const { - return pathlist_.Get(index); +inline void SLAFOpMsg::set_ackcadence(::service_layer::SLRspAckCadence value) { + _internal_set_ackcadence(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFOpMsg.AckCadence) } -inline const ::service_layer::SLRoutePath& SLMplsEntry::pathlist(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.PathList) - return _internal_pathlist(index); + +// ------------------------------------------------------------------- + +// SLAFClientIDList + +// repeated uint64 ClientIDList = 1; +inline int SLAFClientIDList::_internal_clientidlist_size() const { + return clientidlist_.size(); } -inline ::service_layer::SLRoutePath* SLMplsEntry::_internal_add_pathlist() { - return pathlist_.Add(); +inline int SLAFClientIDList::clientidlist_size() const { + return _internal_clientidlist_size(); } -inline ::service_layer::SLRoutePath* SLMplsEntry::add_pathlist() { - ::service_layer::SLRoutePath* _add = _internal_add_pathlist(); - // @@protoc_insertion_point(field_add:service_layer.SLMplsEntry.PathList) - return _add; +inline void SLAFClientIDList::clear_clientidlist() { + clientidlist_.Clear(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRoutePath >& -SLMplsEntry::pathlist() const { - // @@protoc_insertion_point(field_list:service_layer.SLMplsEntry.PathList) - return pathlist_; +inline uint64_t SLAFClientIDList::_internal_clientidlist(int index) const { + return clientidlist_.Get(index); } - -// .service_layer.SLPathGroupRefKey PathGroupKey = 4; -inline bool SLMplsEntry::_internal_has_pathgroupkey() const { - return entry_case() == kPathGroupKey; +inline uint64_t SLAFClientIDList::clientidlist(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLAFClientIDList.ClientIDList) + return _internal_clientidlist(index); } -inline bool SLMplsEntry::has_pathgroupkey() const { - return _internal_has_pathgroupkey(); +inline void SLAFClientIDList::set_clientidlist(int index, uint64_t value) { + clientidlist_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLAFClientIDList.ClientIDList) } -inline void SLMplsEntry::set_has_pathgroupkey() { - _oneof_case_[0] = kPathGroupKey; +inline void SLAFClientIDList::_internal_add_clientidlist(uint64_t value) { + clientidlist_.Add(value); } -inline ::service_layer::SLPathGroupRefKey* SLMplsEntry::release_pathgroupkey() { - // @@protoc_insertion_point(field_release:service_layer.SLMplsEntry.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - entry_.pathgroupkey_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void SLAFClientIDList::add_clientidlist(uint64_t value) { + _internal_add_clientidlist(value); + // @@protoc_insertion_point(field_add:service_layer.SLAFClientIDList.ClientIDList) } -inline const ::service_layer::SLPathGroupRefKey& SLMplsEntry::_internal_pathgroupkey() const { - return _internal_has_pathgroupkey() - ? *entry_.pathgroupkey_ - : reinterpret_cast< ::service_layer::SLPathGroupRefKey&>(::service_layer::_SLPathGroupRefKey_default_instance_); +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& +SLAFClientIDList::_internal_clientidlist() const { + return clientidlist_; } -inline const ::service_layer::SLPathGroupRefKey& SLMplsEntry::pathgroupkey() const { - // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.PathGroupKey) - return _internal_pathgroupkey(); +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& +SLAFClientIDList::clientidlist() const { + // @@protoc_insertion_point(field_list:service_layer.SLAFClientIDList.ClientIDList) + return _internal_clientidlist(); } -inline ::service_layer::SLPathGroupRefKey* SLMplsEntry::unsafe_arena_release_pathgroupkey() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLMplsEntry.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; - entry_.pathgroupkey_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* +SLAFClientIDList::_internal_mutable_clientidlist() { + return &clientidlist_; } -inline void SLMplsEntry::unsafe_arena_set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - clear_entry(); - if (pathgroupkey) { - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLMplsEntry.PathGroupKey) +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* +SLAFClientIDList::mutable_clientidlist() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFClientIDList.ClientIDList) + return _internal_mutable_clientidlist(); } -inline ::service_layer::SLPathGroupRefKey* SLMplsEntry::_internal_mutable_pathgroupkey() { - if (!_internal_has_pathgroupkey()) { - clear_entry(); - set_has_pathgroupkey(); - entry_.pathgroupkey_ = CreateMaybeMessage< ::service_layer::SLPathGroupRefKey >(GetArenaForAllocation()); - } - return entry_.pathgroupkey_; + +// ------------------------------------------------------------------- + +// SLTableTypeList + +// repeated .service_layer.SLTableType Table = 1; +inline int SLTableTypeList::_internal_table_size() const { + return table_.size(); } -inline ::service_layer::SLPathGroupRefKey* SLMplsEntry::mutable_pathgroupkey() { - ::service_layer::SLPathGroupRefKey* _msg = _internal_mutable_pathgroupkey(); - // @@protoc_insertion_point(field_mutable:service_layer.SLMplsEntry.PathGroupKey) - return _msg; +inline int SLTableTypeList::table_size() const { + return _internal_table_size(); } - -// uint32 Flags = 5; -inline void SLMplsEntry::clear_flags() { - flags_ = 0u; +inline void SLTableTypeList::clear_table() { + table_.Clear(); } -inline uint32_t SLMplsEntry::_internal_flags() const { - return flags_; +inline ::service_layer::SLTableType SLTableTypeList::_internal_table(int index) const { + return static_cast< ::service_layer::SLTableType >(table_.Get(index)); } -inline uint32_t SLMplsEntry::flags() const { - // @@protoc_insertion_point(field_get:service_layer.SLMplsEntry.Flags) - return _internal_flags(); +inline ::service_layer::SLTableType SLTableTypeList::table(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLTableTypeList.Table) + return _internal_table(index); } -inline void SLMplsEntry::_internal_set_flags(uint32_t value) { - - flags_ = value; +inline void SLTableTypeList::set_table(int index, ::service_layer::SLTableType value) { + table_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLTableTypeList.Table) } -inline void SLMplsEntry::set_flags(uint32_t value) { - _internal_set_flags(value); - // @@protoc_insertion_point(field_set:service_layer.SLMplsEntry.Flags) +inline void SLTableTypeList::_internal_add_table(::service_layer::SLTableType value) { + table_.Add(value); } - -inline bool SLMplsEntry::has_entry() const { - return entry_case() != ENTRY_NOT_SET; +inline void SLTableTypeList::add_table(::service_layer::SLTableType value) { + _internal_add_table(value); + // @@protoc_insertion_point(field_add:service_layer.SLTableTypeList.Table) } -inline void SLMplsEntry::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& +SLTableTypeList::table() const { + // @@protoc_insertion_point(field_list:service_layer.SLTableTypeList.Table) + return table_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLTableTypeList::_internal_mutable_table() { + return &table_; } -inline SLMplsEntry::EntryCase SLMplsEntry::entry_case() const { - return SLMplsEntry::EntryCase(_oneof_case_[0]); +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLTableTypeList::mutable_table() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLTableTypeList.Table) + return _internal_mutable_table(); } + // ------------------------------------------------------------------- -// SLAFObject +// SLAFObjectKey -// .service_layer.SLRoutev4 IPv4Route = 1; -inline bool SLAFObject::_internal_has_ipv4route() const { - return entry_case() == kIPv4Route; +// .service_layer.SLRoutePrefix IPRoutePrefix = 1; +inline bool SLAFObjectKey::_internal_has_iprouteprefix() const { + return key_case() == kIPRoutePrefix; } -inline bool SLAFObject::has_ipv4route() const { - return _internal_has_ipv4route(); +inline bool SLAFObjectKey::has_iprouteprefix() const { + return _internal_has_iprouteprefix(); } -inline void SLAFObject::set_has_ipv4route() { - _oneof_case_[0] = kIPv4Route; +inline void SLAFObjectKey::set_has_iprouteprefix() { + _oneof_case_[0] = kIPRoutePrefix; } -inline ::service_layer::SLRoutev4* SLAFObject::release_ipv4route() { - // @@protoc_insertion_point(field_release:service_layer.SLAFObject.IPv4Route) - if (_internal_has_ipv4route()) { - clear_has_entry(); - ::service_layer::SLRoutev4* temp = entry_.ipv4route_; +inline ::service_layer::SLRoutePrefix* SLAFObjectKey::release_iprouteprefix() { + // @@protoc_insertion_point(field_release:service_layer.SLAFObjectKey.IPRoutePrefix) + if (_internal_has_iprouteprefix()) { + clear_has_key(); + ::service_layer::SLRoutePrefix* temp = key_.iprouteprefix_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - entry_.ipv4route_ = nullptr; + key_.iprouteprefix_ = nullptr; return temp; } else { return nullptr; } } -inline const ::service_layer::SLRoutev4& SLAFObject::_internal_ipv4route() const { - return _internal_has_ipv4route() - ? *entry_.ipv4route_ - : reinterpret_cast< ::service_layer::SLRoutev4&>(::service_layer::_SLRoutev4_default_instance_); +inline const ::service_layer::SLRoutePrefix& SLAFObjectKey::_internal_iprouteprefix() const { + return _internal_has_iprouteprefix() + ? *key_.iprouteprefix_ + : reinterpret_cast< ::service_layer::SLRoutePrefix&>(::service_layer::_SLRoutePrefix_default_instance_); } -inline const ::service_layer::SLRoutev4& SLAFObject::ipv4route() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFObject.IPv4Route) - return _internal_ipv4route(); +inline const ::service_layer::SLRoutePrefix& SLAFObjectKey::iprouteprefix() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFObjectKey.IPRoutePrefix) + return _internal_iprouteprefix(); } -inline ::service_layer::SLRoutev4* SLAFObject::unsafe_arena_release_ipv4route() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObject.IPv4Route) - if (_internal_has_ipv4route()) { - clear_has_entry(); - ::service_layer::SLRoutev4* temp = entry_.ipv4route_; - entry_.ipv4route_ = nullptr; +inline ::service_layer::SLRoutePrefix* SLAFObjectKey::unsafe_arena_release_iprouteprefix() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObjectKey.IPRoutePrefix) + if (_internal_has_iprouteprefix()) { + clear_has_key(); + ::service_layer::SLRoutePrefix* temp = key_.iprouteprefix_; + key_.iprouteprefix_ = nullptr; return temp; } else { return nullptr; } } -inline void SLAFObject::unsafe_arena_set_allocated_ipv4route(::service_layer::SLRoutev4* ipv4route) { - clear_entry(); - if (ipv4route) { - set_has_ipv4route(); - entry_.ipv4route_ = ipv4route; +inline void SLAFObjectKey::unsafe_arena_set_allocated_iprouteprefix(::service_layer::SLRoutePrefix* iprouteprefix) { + clear_key(); + if (iprouteprefix) { + set_has_iprouteprefix(); + key_.iprouteprefix_ = iprouteprefix; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObject.IPv4Route) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObjectKey.IPRoutePrefix) } -inline ::service_layer::SLRoutev4* SLAFObject::_internal_mutable_ipv4route() { - if (!_internal_has_ipv4route()) { - clear_entry(); - set_has_ipv4route(); - entry_.ipv4route_ = CreateMaybeMessage< ::service_layer::SLRoutev4 >(GetArenaForAllocation()); +inline ::service_layer::SLRoutePrefix* SLAFObjectKey::_internal_mutable_iprouteprefix() { + if (!_internal_has_iprouteprefix()) { + clear_key(); + set_has_iprouteprefix(); + key_.iprouteprefix_ = CreateMaybeMessage< ::service_layer::SLRoutePrefix >(GetArenaForAllocation()); } - return entry_.ipv4route_; + return key_.iprouteprefix_; } -inline ::service_layer::SLRoutev4* SLAFObject::mutable_ipv4route() { - ::service_layer::SLRoutev4* _msg = _internal_mutable_ipv4route(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFObject.IPv4Route) +inline ::service_layer::SLRoutePrefix* SLAFObjectKey::mutable_iprouteprefix() { + ::service_layer::SLRoutePrefix* _msg = _internal_mutable_iprouteprefix(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFObjectKey.IPRoutePrefix) return _msg; } -// .service_layer.SLRoutev6 IPv6Route = 2; -inline bool SLAFObject::_internal_has_ipv6route() const { - return entry_case() == kIPv6Route; +// .service_layer.SLMplsEntryKey MplsLabel = 2; +inline bool SLAFObjectKey::_internal_has_mplslabel() const { + return key_case() == kMplsLabel; +} +inline bool SLAFObjectKey::has_mplslabel() const { + return _internal_has_mplslabel(); } -inline bool SLAFObject::has_ipv6route() const { - return _internal_has_ipv6route(); +inline void SLAFObjectKey::set_has_mplslabel() { + _oneof_case_[0] = kMplsLabel; } -inline void SLAFObject::set_has_ipv6route() { - _oneof_case_[0] = kIPv6Route; +inline void SLAFObjectKey::clear_mplslabel() { + if (_internal_has_mplslabel()) { + if (GetArenaForAllocation() == nullptr) { + delete key_.mplslabel_; + } + clear_has_key(); + } } -inline ::service_layer::SLRoutev6* SLAFObject::release_ipv6route() { - // @@protoc_insertion_point(field_release:service_layer.SLAFObject.IPv6Route) - if (_internal_has_ipv6route()) { - clear_has_entry(); - ::service_layer::SLRoutev6* temp = entry_.ipv6route_; +inline ::service_layer::SLMplsEntryKey* SLAFObjectKey::release_mplslabel() { + // @@protoc_insertion_point(field_release:service_layer.SLAFObjectKey.MplsLabel) + if (_internal_has_mplslabel()) { + clear_has_key(); + ::service_layer::SLMplsEntryKey* temp = key_.mplslabel_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - entry_.ipv6route_ = nullptr; + key_.mplslabel_ = nullptr; return temp; } else { return nullptr; } } -inline const ::service_layer::SLRoutev6& SLAFObject::_internal_ipv6route() const { - return _internal_has_ipv6route() - ? *entry_.ipv6route_ - : reinterpret_cast< ::service_layer::SLRoutev6&>(::service_layer::_SLRoutev6_default_instance_); +inline const ::service_layer::SLMplsEntryKey& SLAFObjectKey::_internal_mplslabel() const { + return _internal_has_mplslabel() + ? *key_.mplslabel_ + : reinterpret_cast< ::service_layer::SLMplsEntryKey&>(::service_layer::_SLMplsEntryKey_default_instance_); } -inline const ::service_layer::SLRoutev6& SLAFObject::ipv6route() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFObject.IPv6Route) - return _internal_ipv6route(); +inline const ::service_layer::SLMplsEntryKey& SLAFObjectKey::mplslabel() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFObjectKey.MplsLabel) + return _internal_mplslabel(); } -inline ::service_layer::SLRoutev6* SLAFObject::unsafe_arena_release_ipv6route() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObject.IPv6Route) - if (_internal_has_ipv6route()) { - clear_has_entry(); - ::service_layer::SLRoutev6* temp = entry_.ipv6route_; - entry_.ipv6route_ = nullptr; +inline ::service_layer::SLMplsEntryKey* SLAFObjectKey::unsafe_arena_release_mplslabel() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObjectKey.MplsLabel) + if (_internal_has_mplslabel()) { + clear_has_key(); + ::service_layer::SLMplsEntryKey* temp = key_.mplslabel_; + key_.mplslabel_ = nullptr; return temp; } else { return nullptr; } } -inline void SLAFObject::unsafe_arena_set_allocated_ipv6route(::service_layer::SLRoutev6* ipv6route) { - clear_entry(); - if (ipv6route) { - set_has_ipv6route(); - entry_.ipv6route_ = ipv6route; +inline void SLAFObjectKey::unsafe_arena_set_allocated_mplslabel(::service_layer::SLMplsEntryKey* mplslabel) { + clear_key(); + if (mplslabel) { + set_has_mplslabel(); + key_.mplslabel_ = mplslabel; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObject.IPv6Route) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObjectKey.MplsLabel) } -inline ::service_layer::SLRoutev6* SLAFObject::_internal_mutable_ipv6route() { - if (!_internal_has_ipv6route()) { - clear_entry(); - set_has_ipv6route(); - entry_.ipv6route_ = CreateMaybeMessage< ::service_layer::SLRoutev6 >(GetArenaForAllocation()); +inline ::service_layer::SLMplsEntryKey* SLAFObjectKey::_internal_mutable_mplslabel() { + if (!_internal_has_mplslabel()) { + clear_key(); + set_has_mplslabel(); + key_.mplslabel_ = CreateMaybeMessage< ::service_layer::SLMplsEntryKey >(GetArenaForAllocation()); } - return entry_.ipv6route_; + return key_.mplslabel_; } -inline ::service_layer::SLRoutev6* SLAFObject::mutable_ipv6route() { - ::service_layer::SLRoutev6* _msg = _internal_mutable_ipv6route(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFObject.IPv6Route) +inline ::service_layer::SLMplsEntryKey* SLAFObjectKey::mutable_mplslabel() { + ::service_layer::SLMplsEntryKey* _msg = _internal_mutable_mplslabel(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFObjectKey.MplsLabel) return _msg; } -// .service_layer.SLMplsEntry MplsLabel = 3; -inline bool SLAFObject::_internal_has_mplslabel() const { - return entry_case() == kMplsLabel; -} -inline bool SLAFObject::has_mplslabel() const { - return _internal_has_mplslabel(); +// .service_layer.SLObjectId PathGroupId = 3; +inline bool SLAFObjectKey::_internal_has_pathgroupid() const { + return key_case() == kPathGroupId; } -inline void SLAFObject::set_has_mplslabel() { - _oneof_case_[0] = kMplsLabel; +inline bool SLAFObjectKey::has_pathgroupid() const { + return _internal_has_pathgroupid(); } -inline void SLAFObject::clear_mplslabel() { - if (_internal_has_mplslabel()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.mplslabel_; - } - clear_has_entry(); - } +inline void SLAFObjectKey::set_has_pathgroupid() { + _oneof_case_[0] = kPathGroupId; } -inline ::service_layer::SLMplsEntry* SLAFObject::release_mplslabel() { - // @@protoc_insertion_point(field_release:service_layer.SLAFObject.MplsLabel) - if (_internal_has_mplslabel()) { - clear_has_entry(); - ::service_layer::SLMplsEntry* temp = entry_.mplslabel_; +inline ::service_layer::SLObjectId* SLAFObjectKey::release_pathgroupid() { + // @@protoc_insertion_point(field_release:service_layer.SLAFObjectKey.PathGroupId) + if (_internal_has_pathgroupid()) { + clear_has_key(); + ::service_layer::SLObjectId* temp = key_.pathgroupid_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - entry_.mplslabel_ = nullptr; + key_.pathgroupid_ = nullptr; return temp; } else { return nullptr; } } -inline const ::service_layer::SLMplsEntry& SLAFObject::_internal_mplslabel() const { - return _internal_has_mplslabel() - ? *entry_.mplslabel_ - : reinterpret_cast< ::service_layer::SLMplsEntry&>(::service_layer::_SLMplsEntry_default_instance_); +inline const ::service_layer::SLObjectId& SLAFObjectKey::_internal_pathgroupid() const { + return _internal_has_pathgroupid() + ? *key_.pathgroupid_ + : reinterpret_cast< ::service_layer::SLObjectId&>(::service_layer::_SLObjectId_default_instance_); } -inline const ::service_layer::SLMplsEntry& SLAFObject::mplslabel() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFObject.MplsLabel) - return _internal_mplslabel(); +inline const ::service_layer::SLObjectId& SLAFObjectKey::pathgroupid() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFObjectKey.PathGroupId) + return _internal_pathgroupid(); } -inline ::service_layer::SLMplsEntry* SLAFObject::unsafe_arena_release_mplslabel() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObject.MplsLabel) - if (_internal_has_mplslabel()) { - clear_has_entry(); - ::service_layer::SLMplsEntry* temp = entry_.mplslabel_; - entry_.mplslabel_ = nullptr; +inline ::service_layer::SLObjectId* SLAFObjectKey::unsafe_arena_release_pathgroupid() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObjectKey.PathGroupId) + if (_internal_has_pathgroupid()) { + clear_has_key(); + ::service_layer::SLObjectId* temp = key_.pathgroupid_; + key_.pathgroupid_ = nullptr; return temp; } else { return nullptr; } } -inline void SLAFObject::unsafe_arena_set_allocated_mplslabel(::service_layer::SLMplsEntry* mplslabel) { - clear_entry(); - if (mplslabel) { - set_has_mplslabel(); - entry_.mplslabel_ = mplslabel; +inline void SLAFObjectKey::unsafe_arena_set_allocated_pathgroupid(::service_layer::SLObjectId* pathgroupid) { + clear_key(); + if (pathgroupid) { + set_has_pathgroupid(); + key_.pathgroupid_ = pathgroupid; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObject.MplsLabel) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObjectKey.PathGroupId) } -inline ::service_layer::SLMplsEntry* SLAFObject::_internal_mutable_mplslabel() { - if (!_internal_has_mplslabel()) { - clear_entry(); - set_has_mplslabel(); - entry_.mplslabel_ = CreateMaybeMessage< ::service_layer::SLMplsEntry >(GetArenaForAllocation()); +inline ::service_layer::SLObjectId* SLAFObjectKey::_internal_mutable_pathgroupid() { + if (!_internal_has_pathgroupid()) { + clear_key(); + set_has_pathgroupid(); + key_.pathgroupid_ = CreateMaybeMessage< ::service_layer::SLObjectId >(GetArenaForAllocation()); } - return entry_.mplslabel_; + return key_.pathgroupid_; } -inline ::service_layer::SLMplsEntry* SLAFObject::mutable_mplslabel() { - ::service_layer::SLMplsEntry* _msg = _internal_mutable_mplslabel(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFObject.MplsLabel) +inline ::service_layer::SLObjectId* SLAFObjectKey::mutable_pathgroupid() { + ::service_layer::SLObjectId* _msg = _internal_mutable_pathgroupid(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFObjectKey.PathGroupId) return _msg; } -// .service_layer.SLPathGroup PathGroup = 4; -inline bool SLAFObject::_internal_has_pathgroup() const { - return entry_case() == kPathGroup; +inline bool SLAFObjectKey::has_key() const { + return key_case() != KEY_NOT_SET; } -inline bool SLAFObject::has_pathgroup() const { - return _internal_has_pathgroup(); +inline void SLAFObjectKey::clear_has_key() { + _oneof_case_[0] = KEY_NOT_SET; } -inline void SLAFObject::set_has_pathgroup() { - _oneof_case_[0] = kPathGroup; +inline SLAFObjectKey::KeyCase SLAFObjectKey::key_case() const { + return SLAFObjectKey::KeyCase(_oneof_case_[0]); } -inline void SLAFObject::clear_pathgroup() { - if (_internal_has_pathgroup()) { +// ------------------------------------------------------------------- + +// SLAFGetMatch + +// .service_layer.SLAFObjectKey Key = 1; +inline bool SLAFGetMatch::_internal_has_key() const { + return entry_case() == kKey; +} +inline bool SLAFGetMatch::has_key() const { + return _internal_has_key(); +} +inline void SLAFGetMatch::set_has_key() { + _oneof_case_[0] = kKey; +} +inline void SLAFGetMatch::clear_key() { + if (_internal_has_key()) { if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroup_; + delete entry_.key_; } clear_has_entry(); } } -inline ::service_layer::SLPathGroup* SLAFObject::release_pathgroup() { - // @@protoc_insertion_point(field_release:service_layer.SLAFObject.PathGroup) - if (_internal_has_pathgroup()) { +inline ::service_layer::SLAFObjectKey* SLAFGetMatch::release_key() { + // @@protoc_insertion_point(field_release:service_layer.SLAFGetMatch.Key) + if (_internal_has_key()) { clear_has_entry(); - ::service_layer::SLPathGroup* temp = entry_.pathgroup_; + ::service_layer::SLAFObjectKey* temp = entry_.key_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - entry_.pathgroup_ = nullptr; + entry_.key_ = nullptr; return temp; } else { - return nullptr; - } -} -inline const ::service_layer::SLPathGroup& SLAFObject::_internal_pathgroup() const { - return _internal_has_pathgroup() - ? *entry_.pathgroup_ - : reinterpret_cast< ::service_layer::SLPathGroup&>(::service_layer::_SLPathGroup_default_instance_); + return nullptr; + } } -inline const ::service_layer::SLPathGroup& SLAFObject::pathgroup() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFObject.PathGroup) - return _internal_pathgroup(); +inline const ::service_layer::SLAFObjectKey& SLAFGetMatch::_internal_key() const { + return _internal_has_key() + ? *entry_.key_ + : reinterpret_cast< ::service_layer::SLAFObjectKey&>(::service_layer::_SLAFObjectKey_default_instance_); } -inline ::service_layer::SLPathGroup* SLAFObject::unsafe_arena_release_pathgroup() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFObject.PathGroup) - if (_internal_has_pathgroup()) { +inline const ::service_layer::SLAFObjectKey& SLAFGetMatch::key() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMatch.Key) + return _internal_key(); +} +inline ::service_layer::SLAFObjectKey* SLAFGetMatch::unsafe_arena_release_key() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFGetMatch.Key) + if (_internal_has_key()) { clear_has_entry(); - ::service_layer::SLPathGroup* temp = entry_.pathgroup_; - entry_.pathgroup_ = nullptr; + ::service_layer::SLAFObjectKey* temp = entry_.key_; + entry_.key_ = nullptr; return temp; } else { return nullptr; } } -inline void SLAFObject::unsafe_arena_set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup) { +inline void SLAFGetMatch::unsafe_arena_set_allocated_key(::service_layer::SLAFObjectKey* key) { clear_entry(); - if (pathgroup) { - set_has_pathgroup(); - entry_.pathgroup_ = pathgroup; + if (key) { + set_has_key(); + entry_.key_ = key; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFObject.PathGroup) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFGetMatch.Key) } -inline ::service_layer::SLPathGroup* SLAFObject::_internal_mutable_pathgroup() { - if (!_internal_has_pathgroup()) { +inline ::service_layer::SLAFObjectKey* SLAFGetMatch::_internal_mutable_key() { + if (!_internal_has_key()) { clear_entry(); - set_has_pathgroup(); - entry_.pathgroup_ = CreateMaybeMessage< ::service_layer::SLPathGroup >(GetArenaForAllocation()); + set_has_key(); + entry_.key_ = CreateMaybeMessage< ::service_layer::SLAFObjectKey >(GetArenaForAllocation()); } - return entry_.pathgroup_; + return entry_.key_; } -inline ::service_layer::SLPathGroup* SLAFObject::mutable_pathgroup() { - ::service_layer::SLPathGroup* _msg = _internal_mutable_pathgroup(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFObject.PathGroup) +inline ::service_layer::SLAFObjectKey* SLAFGetMatch::mutable_key() { + ::service_layer::SLAFObjectKey* _msg = _internal_mutable_key(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMatch.Key) return _msg; } -inline bool SLAFObject::has_entry() const { - return entry_case() != ENTRY_NOT_SET; +// string PathGroupRegex = 2; +inline bool SLAFGetMatch::_internal_has_pathgroupregex() const { + return entry_case() == kPathGroupRegex; } -inline void SLAFObject::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; +inline bool SLAFGetMatch::has_pathgroupregex() const { + return _internal_has_pathgroupregex(); } -inline SLAFObject::EntryCase SLAFObject::entry_case() const { - return SLAFObject::EntryCase(_oneof_case_[0]); +inline void SLAFGetMatch::set_has_pathgroupregex() { + _oneof_case_[0] = kPathGroupRegex; } -// ------------------------------------------------------------------- - -// SLAFOp - -// .service_layer.SLAFObject AFObject = 1; -inline bool SLAFOp::_internal_has_afobject() const { - return this != internal_default_instance() && afobject_ != nullptr; +inline void SLAFGetMatch::clear_pathgroupregex() { + if (_internal_has_pathgroupregex()) { + entry_.pathgroupregex_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); + clear_has_entry(); + } } -inline bool SLAFOp::has_afobject() const { - return _internal_has_afobject(); +inline const std::string& SLAFGetMatch::pathgroupregex() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMatch.PathGroupRegex) + return _internal_pathgroupregex(); } -inline void SLAFOp::clear_afobject() { - if (GetArenaForAllocation() == nullptr && afobject_ != nullptr) { - delete afobject_; +template +inline void SLAFGetMatch::set_pathgroupregex(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_pathgroupregex()) { + clear_entry(); + set_has_pathgroupregex(); + entry_.pathgroupregex_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } - afobject_ = nullptr; -} -inline const ::service_layer::SLAFObject& SLAFOp::_internal_afobject() const { - const ::service_layer::SLAFObject* p = afobject_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLAFObject_default_instance_); + entry_.pathgroupregex_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service_layer.SLAFGetMatch.PathGroupRegex) } -inline const ::service_layer::SLAFObject& SLAFOp::afobject() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFOp.AFObject) - return _internal_afobject(); +inline std::string* SLAFGetMatch::mutable_pathgroupregex() { + std::string* _s = _internal_mutable_pathgroupregex(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMatch.PathGroupRegex) + return _s; } -inline void SLAFOp::unsafe_arena_set_allocated_afobject( - ::service_layer::SLAFObject* afobject) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(afobject_); - } - afobject_ = afobject; - if (afobject) { - - } else { - +inline const std::string& SLAFGetMatch::_internal_pathgroupregex() const { + if (_internal_has_pathgroupregex()) { + return entry_.pathgroupregex_.Get(); } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFOp.AFObject) + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); } -inline ::service_layer::SLAFObject* SLAFOp::release_afobject() { - - ::service_layer::SLAFObject* temp = afobject_; - afobject_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); +inline void SLAFGetMatch::_internal_set_pathgroupregex(const std::string& value) { + if (!_internal_has_pathgroupregex()) { + clear_entry(); + set_has_pathgroupregex(); + entry_.pathgroupregex_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::service_layer::SLAFObject* SLAFOp::unsafe_arena_release_afobject() { - // @@protoc_insertion_point(field_release:service_layer.SLAFOp.AFObject) - - ::service_layer::SLAFObject* temp = afobject_; - afobject_ = nullptr; - return temp; + entry_.pathgroupregex_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline ::service_layer::SLAFObject* SLAFOp::_internal_mutable_afobject() { - - if (afobject_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLAFObject>(GetArenaForAllocation()); - afobject_ = p; +inline std::string* SLAFGetMatch::_internal_mutable_pathgroupregex() { + if (!_internal_has_pathgroupregex()) { + clear_entry(); + set_has_pathgroupregex(); + entry_.pathgroupregex_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } - return afobject_; + return entry_.pathgroupregex_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline ::service_layer::SLAFObject* SLAFOp::mutable_afobject() { - ::service_layer::SLAFObject* _msg = _internal_mutable_afobject(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFOp.AFObject) - return _msg; +inline std::string* SLAFGetMatch::release_pathgroupregex() { + // @@protoc_insertion_point(field_release:service_layer.SLAFGetMatch.PathGroupRegex) + if (_internal_has_pathgroupregex()) { + clear_has_entry(); + return entry_.pathgroupregex_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); + } else { + return nullptr; + } } -inline void SLAFOp::set_allocated_afobject(::service_layer::SLAFObject* afobject) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete afobject_; +inline void SLAFGetMatch::set_allocated_pathgroupregex(std::string* pathgroupregex) { + if (has_entry()) { + clear_entry(); } - if (afobject) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFObject>::GetOwningArena(afobject); - if (message_arena != submessage_arena) { - afobject = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, afobject, submessage_arena); + if (pathgroupregex != nullptr) { + set_has_pathgroupregex(); + entry_.pathgroupregex_.UnsafeSetDefault(pathgroupregex); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArenaForAllocation(); + if (arena != nullptr) { + arena->Own(pathgroupregex); } - - } else { - } - afobject_ = afobject; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFOp.AFObject) + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMatch.PathGroupRegex) } -// uint64 OperationID = 2; -inline void SLAFOp::clear_operationid() { - operationid_ = uint64_t{0u}; +// uint32 VxlanVniId = 3; +inline bool SLAFGetMatch::_internal_has_vxlanvniid() const { + return entry_case() == kVxlanVniId; } -inline uint64_t SLAFOp::_internal_operationid() const { - return operationid_; -} -inline uint64_t SLAFOp::operationid() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFOp.OperationID) - return _internal_operationid(); -} -inline void SLAFOp::_internal_set_operationid(uint64_t value) { - - operationid_ = value; +inline bool SLAFGetMatch::has_vxlanvniid() const { + return _internal_has_vxlanvniid(); } -inline void SLAFOp::set_operationid(uint64_t value) { - _internal_set_operationid(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFOp.OperationID) +inline void SLAFGetMatch::set_has_vxlanvniid() { + _oneof_case_[0] = kVxlanVniId; } - -// .service_layer.SLRspACKType AckType = 3; -inline void SLAFOp::clear_acktype() { - acktype_ = 0; +inline void SLAFGetMatch::clear_vxlanvniid() { + if (_internal_has_vxlanvniid()) { + entry_.vxlanvniid_ = 0u; + clear_has_entry(); + } } -inline ::service_layer::SLRspACKType SLAFOp::_internal_acktype() const { - return static_cast< ::service_layer::SLRspACKType >(acktype_); +inline uint32_t SLAFGetMatch::_internal_vxlanvniid() const { + if (_internal_has_vxlanvniid()) { + return entry_.vxlanvniid_; + } + return 0u; } -inline ::service_layer::SLRspACKType SLAFOp::acktype() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFOp.AckType) - return _internal_acktype(); +inline void SLAFGetMatch::_internal_set_vxlanvniid(uint32_t value) { + if (!_internal_has_vxlanvniid()) { + clear_entry(); + set_has_vxlanvniid(); + } + entry_.vxlanvniid_ = value; } -inline void SLAFOp::_internal_set_acktype(::service_layer::SLRspACKType value) { - - acktype_ = value; +inline uint32_t SLAFGetMatch::vxlanvniid() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMatch.VxlanVniId) + return _internal_vxlanvniid(); } -inline void SLAFOp::set_acktype(::service_layer::SLRspACKType value) { - _internal_set_acktype(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFOp.AckType) +inline void SLAFGetMatch::set_vxlanvniid(uint32_t value) { + _internal_set_vxlanvniid(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFGetMatch.VxlanVniId) } -// repeated .service_layer.SLRspACKPermit AckPermits = 4; -inline int SLAFOp::_internal_ackpermits_size() const { - return ackpermits_.size(); -} -inline int SLAFOp::ackpermits_size() const { - return _internal_ackpermits_size(); -} -inline void SLAFOp::clear_ackpermits() { - ackpermits_.Clear(); -} -inline ::service_layer::SLRspACKPermit SLAFOp::_internal_ackpermits(int index) const { - return static_cast< ::service_layer::SLRspACKPermit >(ackpermits_.Get(index)); +inline bool SLAFGetMatch::has_entry() const { + return entry_case() != ENTRY_NOT_SET; } -inline ::service_layer::SLRspACKPermit SLAFOp::ackpermits(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLAFOp.AckPermits) - return _internal_ackpermits(index); +inline void SLAFGetMatch::clear_has_entry() { + _oneof_case_[0] = ENTRY_NOT_SET; } -inline void SLAFOp::set_ackpermits(int index, ::service_layer::SLRspACKPermit value) { - ackpermits_.Set(index, value); - // @@protoc_insertion_point(field_set:service_layer.SLAFOp.AckPermits) +inline SLAFGetMatch::EntryCase SLAFGetMatch::entry_case() const { + return SLAFGetMatch::EntryCase(_oneof_case_[0]); } -inline void SLAFOp::_internal_add_ackpermits(::service_layer::SLRspACKPermit value) { - ackpermits_.Add(value); +// ------------------------------------------------------------------- + +// SLAFGetMatchList + +// repeated .service_layer.SLAFGetMatch Match = 1; +inline int SLAFGetMatchList::_internal_match_size() const { + return match_.size(); } -inline void SLAFOp::add_ackpermits(::service_layer::SLRspACKPermit value) { - _internal_add_ackpermits(value); - // @@protoc_insertion_point(field_add:service_layer.SLAFOp.AckPermits) +inline int SLAFGetMatchList::match_size() const { + return _internal_match_size(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& -SLAFOp::ackpermits() const { - // @@protoc_insertion_point(field_list:service_layer.SLAFOp.AckPermits) - return ackpermits_; +inline void SLAFGetMatchList::clear_match() { + match_.Clear(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* -SLAFOp::_internal_mutable_ackpermits() { - return &ackpermits_; +inline ::service_layer::SLAFGetMatch* SLAFGetMatchList::mutable_match(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMatchList.Match) + return match_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* -SLAFOp::mutable_ackpermits() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFOp.AckPermits) - return _internal_mutable_ackpermits(); +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMatch >* +SLAFGetMatchList::mutable_match() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFGetMatchList.Match) + return &match_; } - -// .service_layer.SLRspAckCadence AckCadence = 5; -inline void SLAFOp::clear_ackcadence() { - ackcadence_ = 0; +inline const ::service_layer::SLAFGetMatch& SLAFGetMatchList::_internal_match(int index) const { + return match_.Get(index); } -inline ::service_layer::SLRspAckCadence SLAFOp::_internal_ackcadence() const { - return static_cast< ::service_layer::SLRspAckCadence >(ackcadence_); +inline const ::service_layer::SLAFGetMatch& SLAFGetMatchList::match(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMatchList.Match) + return _internal_match(index); } -inline ::service_layer::SLRspAckCadence SLAFOp::ackcadence() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFOp.AckCadence) - return _internal_ackcadence(); +inline ::service_layer::SLAFGetMatch* SLAFGetMatchList::_internal_add_match() { + return match_.Add(); } -inline void SLAFOp::_internal_set_ackcadence(::service_layer::SLRspAckCadence value) { - - ackcadence_ = value; +inline ::service_layer::SLAFGetMatch* SLAFGetMatchList::add_match() { + ::service_layer::SLAFGetMatch* _add = _internal_add_match(); + // @@protoc_insertion_point(field_add:service_layer.SLAFGetMatchList.Match) + return _add; } -inline void SLAFOp::set_ackcadence(::service_layer::SLRspAckCadence value) { - _internal_set_ackcadence(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFOp.AckCadence) +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFGetMatch >& +SLAFGetMatchList::match() const { + // @@protoc_insertion_point(field_list:service_layer.SLAFGetMatchList.Match) + return match_; } // ------------------------------------------------------------------- @@ -7772,537 +9433,335 @@ inline void SLAFGetMsg::set_allocated_vrfname(std::string* vrfname) { } vrfname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), vrfname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (vrfname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { - vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsg.VrfName) -} - -// .service_layer.SLTableType Table = 2; -inline void SLAFGetMsg::clear_table() { - table_ = 0; -} -inline ::service_layer::SLTableType SLAFGetMsg::_internal_table() const { - return static_cast< ::service_layer::SLTableType >(table_); -} -inline ::service_layer::SLTableType SLAFGetMsg::table() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsg.Table) - return _internal_table(); -} -inline void SLAFGetMsg::_internal_set_table(::service_layer::SLTableType value) { - - table_ = value; -} -inline void SLAFGetMsg::set_table(::service_layer::SLTableType value) { - _internal_set_table(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFGetMsg.Table) -} - -// bool GetAllClients = 3; -inline void SLAFGetMsg::clear_getallclients() { - getallclients_ = false; -} -inline bool SLAFGetMsg::_internal_getallclients() const { - return getallclients_; -} -inline bool SLAFGetMsg::getallclients() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsg.GetAllClients) - return _internal_getallclients(); -} -inline void SLAFGetMsg::_internal_set_getallclients(bool value) { - - getallclients_ = value; -} -inline void SLAFGetMsg::set_getallclients(bool value) { - _internal_set_getallclients(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFGetMsg.GetAllClients) -} - -// repeated .service_layer.SLRouteGetMatch RouteMatch = 4; -inline int SLAFGetMsg::_internal_routematch_size() const { - return routematch_.size(); -} -inline int SLAFGetMsg::routematch_size() const { - return _internal_routematch_size(); -} -inline ::service_layer::SLRouteGetMatch* SLAFGetMsg::mutable_routematch(int index) { - // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMsg.RouteMatch) - return routematch_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRouteGetMatch >* -SLAFGetMsg::mutable_routematch() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFGetMsg.RouteMatch) - return &routematch_; -} -inline const ::service_layer::SLRouteGetMatch& SLAFGetMsg::_internal_routematch(int index) const { - return routematch_.Get(index); -} -inline const ::service_layer::SLRouteGetMatch& SLAFGetMsg::routematch(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsg.RouteMatch) - return _internal_routematch(index); -} -inline ::service_layer::SLRouteGetMatch* SLAFGetMsg::_internal_add_routematch() { - return routematch_.Add(); -} -inline ::service_layer::SLRouteGetMatch* SLAFGetMsg::add_routematch() { - ::service_layer::SLRouteGetMatch* _add = _internal_add_routematch(); - // @@protoc_insertion_point(field_add:service_layer.SLAFGetMsg.RouteMatch) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLRouteGetMatch >& -SLAFGetMsg::routematch() const { - // @@protoc_insertion_point(field_list:service_layer.SLAFGetMsg.RouteMatch) - return routematch_; -} - -// ------------------------------------------------------------------- - -// SLAFDepFibStatus - -// .service_layer.SLErrorStatus ErrorCode = 1; -inline bool SLAFDepFibStatus::_internal_has_errorcode() const { - return this != internal_default_instance() && errorcode_ != nullptr; -} -inline bool SLAFDepFibStatus::has_errorcode() const { - return _internal_has_errorcode(); -} -inline const ::service_layer::SLErrorStatus& SLAFDepFibStatus::_internal_errorcode() const { - const ::service_layer::SLErrorStatus* p = errorcode_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLErrorStatus_default_instance_); -} -inline const ::service_layer::SLErrorStatus& SLAFDepFibStatus::errorcode() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFDepFibStatus.ErrorCode) - return _internal_errorcode(); -} -inline void SLAFDepFibStatus::unsafe_arena_set_allocated_errorcode( - ::service_layer::SLErrorStatus* errorcode) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errorcode_); - } - errorcode_ = errorcode; - if (errorcode) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFDepFibStatus.ErrorCode) -} -inline ::service_layer::SLErrorStatus* SLAFDepFibStatus::release_errorcode() { - - ::service_layer::SLErrorStatus* temp = errorcode_; - errorcode_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::service_layer::SLErrorStatus* SLAFDepFibStatus::unsafe_arena_release_errorcode() { - // @@protoc_insertion_point(field_release:service_layer.SLAFDepFibStatus.ErrorCode) - - ::service_layer::SLErrorStatus* temp = errorcode_; - errorcode_ = nullptr; - return temp; -} -inline ::service_layer::SLErrorStatus* SLAFDepFibStatus::_internal_mutable_errorcode() { - - if (errorcode_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); - errorcode_ = p; - } - return errorcode_; -} -inline ::service_layer::SLErrorStatus* SLAFDepFibStatus::mutable_errorcode() { - ::service_layer::SLErrorStatus* _msg = _internal_mutable_errorcode(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFDepFibStatus.ErrorCode) - return _msg; -} -inline void SLAFDepFibStatus::set_allocated_errorcode(::service_layer::SLErrorStatus* errorcode) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(errorcode_); - } - if (errorcode) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errorcode)); - if (message_arena != submessage_arena) { - errorcode = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, errorcode, submessage_arena); - } - - } else { - - } - errorcode_ = errorcode; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFDepFibStatus.ErrorCode) -} - -// uint64 OperationID = 2; -inline void SLAFDepFibStatus::clear_operationid() { - operationid_ = uint64_t{0u}; -} -inline uint64_t SLAFDepFibStatus::_internal_operationid() const { - return operationid_; -} -inline uint64_t SLAFDepFibStatus::operationid() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFDepFibStatus.OperationID) - return _internal_operationid(); -} -inline void SLAFDepFibStatus::_internal_set_operationid(uint64_t value) { - - operationid_ = value; -} -inline void SLAFDepFibStatus::set_operationid(uint64_t value) { - _internal_set_operationid(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFDepFibStatus.OperationID) +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (vrfname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + vrfname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsg.VrfName) } -// uint64 Version = 3; -inline void SLAFDepFibStatus::clear_version() { - version_ = uint64_t{0u}; -} -inline uint64_t SLAFDepFibStatus::_internal_version() const { - return version_; -} -inline uint64_t SLAFDepFibStatus::version() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFDepFibStatus.Version) - return _internal_version(); +// .service_layer.SLAFClientIDList ClientIDList = 2; +inline bool SLAFGetMsg::_internal_has_clientidlist() const { + return client_case() == kClientIDList; } -inline void SLAFDepFibStatus::_internal_set_version(uint64_t value) { - - version_ = value; -} -inline void SLAFDepFibStatus::set_version(uint64_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFDepFibStatus.Version) -} - -// .service_layer.SLPathGroupRefKey PathGroupKey = 4; -inline bool SLAFDepFibStatus::_internal_has_pathgroupkey() const { - return entry_case() == kPathGroupKey; +inline bool SLAFGetMsg::has_clientidlist() const { + return _internal_has_clientidlist(); } -inline bool SLAFDepFibStatus::has_pathgroupkey() const { - return _internal_has_pathgroupkey(); +inline void SLAFGetMsg::set_has_clientidlist() { + _oneof_case_[0] = kClientIDList; } -inline void SLAFDepFibStatus::set_has_pathgroupkey() { - _oneof_case_[0] = kPathGroupKey; +inline void SLAFGetMsg::clear_clientidlist() { + if (_internal_has_clientidlist()) { + if (GetArenaForAllocation() == nullptr) { + delete client_.clientidlist_; + } + clear_has_client(); + } } -inline ::service_layer::SLPathGroupRefKey* SLAFDepFibStatus::release_pathgroupkey() { - // @@protoc_insertion_point(field_release:service_layer.SLAFDepFibStatus.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; +inline ::service_layer::SLAFClientIDList* SLAFGetMsg::release_clientidlist() { + // @@protoc_insertion_point(field_release:service_layer.SLAFGetMsg.ClientIDList) + if (_internal_has_clientidlist()) { + clear_has_client(); + ::service_layer::SLAFClientIDList* temp = client_.clientidlist_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - entry_.pathgroupkey_ = nullptr; + client_.clientidlist_ = nullptr; return temp; } else { return nullptr; } } -inline const ::service_layer::SLPathGroupRefKey& SLAFDepFibStatus::_internal_pathgroupkey() const { - return _internal_has_pathgroupkey() - ? *entry_.pathgroupkey_ - : reinterpret_cast< ::service_layer::SLPathGroupRefKey&>(::service_layer::_SLPathGroupRefKey_default_instance_); +inline const ::service_layer::SLAFClientIDList& SLAFGetMsg::_internal_clientidlist() const { + return _internal_has_clientidlist() + ? *client_.clientidlist_ + : reinterpret_cast< ::service_layer::SLAFClientIDList&>(::service_layer::_SLAFClientIDList_default_instance_); } -inline const ::service_layer::SLPathGroupRefKey& SLAFDepFibStatus::pathgroupkey() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFDepFibStatus.PathGroupKey) - return _internal_pathgroupkey(); +inline const ::service_layer::SLAFClientIDList& SLAFGetMsg::clientidlist() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsg.ClientIDList) + return _internal_clientidlist(); } -inline ::service_layer::SLPathGroupRefKey* SLAFDepFibStatus::unsafe_arena_release_pathgroupkey() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFDepFibStatus.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; - entry_.pathgroupkey_ = nullptr; +inline ::service_layer::SLAFClientIDList* SLAFGetMsg::unsafe_arena_release_clientidlist() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFGetMsg.ClientIDList) + if (_internal_has_clientidlist()) { + clear_has_client(); + ::service_layer::SLAFClientIDList* temp = client_.clientidlist_; + client_.clientidlist_ = nullptr; return temp; } else { return nullptr; } } -inline void SLAFDepFibStatus::unsafe_arena_set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - clear_entry(); - if (pathgroupkey) { - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; +inline void SLAFGetMsg::unsafe_arena_set_allocated_clientidlist(::service_layer::SLAFClientIDList* clientidlist) { + clear_client(); + if (clientidlist) { + set_has_clientidlist(); + client_.clientidlist_ = clientidlist; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFDepFibStatus.PathGroupKey) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFGetMsg.ClientIDList) } -inline ::service_layer::SLPathGroupRefKey* SLAFDepFibStatus::_internal_mutable_pathgroupkey() { - if (!_internal_has_pathgroupkey()) { - clear_entry(); - set_has_pathgroupkey(); - entry_.pathgroupkey_ = CreateMaybeMessage< ::service_layer::SLPathGroupRefKey >(GetArenaForAllocation()); +inline ::service_layer::SLAFClientIDList* SLAFGetMsg::_internal_mutable_clientidlist() { + if (!_internal_has_clientidlist()) { + clear_client(); + set_has_clientidlist(); + client_.clientidlist_ = CreateMaybeMessage< ::service_layer::SLAFClientIDList >(GetArenaForAllocation()); } - return entry_.pathgroupkey_; + return client_.clientidlist_; } -inline ::service_layer::SLPathGroupRefKey* SLAFDepFibStatus::mutable_pathgroupkey() { - ::service_layer::SLPathGroupRefKey* _msg = _internal_mutable_pathgroupkey(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFDepFibStatus.PathGroupKey) +inline ::service_layer::SLAFClientIDList* SLAFGetMsg::mutable_clientidlist() { + ::service_layer::SLAFClientIDList* _msg = _internal_mutable_clientidlist(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMsg.ClientIDList) return _msg; } -inline bool SLAFDepFibStatus::has_entry() const { - return entry_case() != ENTRY_NOT_SET; +// bool AllClients = 3; +inline bool SLAFGetMsg::_internal_has_allclients() const { + return client_case() == kAllClients; } -inline void SLAFDepFibStatus::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; +inline bool SLAFGetMsg::has_allclients() const { + return _internal_has_allclients(); } -inline SLAFDepFibStatus::EntryCase SLAFDepFibStatus::entry_case() const { - return SLAFDepFibStatus::EntryCase(_oneof_case_[0]); +inline void SLAFGetMsg::set_has_allclients() { + _oneof_case_[0] = kAllClients; } -// ------------------------------------------------------------------- - -// SLAFFibStatus - -// uint64 Version = 1; -inline void SLAFFibStatus::clear_version() { - version_ = uint64_t{0u}; +inline void SLAFGetMsg::clear_allclients() { + if (_internal_has_allclients()) { + client_.allclients_ = false; + clear_has_client(); + } } -inline uint64_t SLAFFibStatus::_internal_version() const { - return version_; +inline bool SLAFGetMsg::_internal_allclients() const { + if (_internal_has_allclients()) { + return client_.allclients_; + } + return false; } -inline uint64_t SLAFFibStatus::version() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFFibStatus.Version) - return _internal_version(); +inline void SLAFGetMsg::_internal_set_allclients(bool value) { + if (!_internal_has_allclients()) { + clear_client(); + set_has_allclients(); + } + client_.allclients_ = value; } -inline void SLAFFibStatus::_internal_set_version(uint64_t value) { - - version_ = value; +inline bool SLAFGetMsg::allclients() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsg.AllClients) + return _internal_allclients(); } -inline void SLAFFibStatus::set_version(uint64_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFFibStatus.Version) +inline void SLAFGetMsg::set_allclients(bool value) { + _internal_set_allclients(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFGetMsg.AllClients) } -// .service_layer.SLAFDepFibStatus DepResult = 2; -inline bool SLAFFibStatus::_internal_has_depresult() const { - return this != internal_default_instance() && depresult_ != nullptr; +// .service_layer.SLTableTypeList TableList = 4; +inline bool SLAFGetMsg::_internal_has_tablelist() const { + return match_case() == kTableList; } -inline bool SLAFFibStatus::has_depresult() const { - return _internal_has_depresult(); +inline bool SLAFGetMsg::has_tablelist() const { + return _internal_has_tablelist(); +} +inline void SLAFGetMsg::set_has_tablelist() { + _oneof_case_[1] = kTableList; +} +inline void SLAFGetMsg::clear_tablelist() { + if (_internal_has_tablelist()) { + if (GetArenaForAllocation() == nullptr) { + delete match_.tablelist_; + } + clear_has_match(); + } } -inline void SLAFFibStatus::clear_depresult() { - if (GetArenaForAllocation() == nullptr && depresult_ != nullptr) { - delete depresult_; +inline ::service_layer::SLTableTypeList* SLAFGetMsg::release_tablelist() { + // @@protoc_insertion_point(field_release:service_layer.SLAFGetMsg.TableList) + if (_internal_has_tablelist()) { + clear_has_match(); + ::service_layer::SLTableTypeList* temp = match_.tablelist_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + match_.tablelist_ = nullptr; + return temp; + } else { + return nullptr; } - depresult_ = nullptr; } -inline const ::service_layer::SLAFDepFibStatus& SLAFFibStatus::_internal_depresult() const { - const ::service_layer::SLAFDepFibStatus* p = depresult_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLAFDepFibStatus_default_instance_); +inline const ::service_layer::SLTableTypeList& SLAFGetMsg::_internal_tablelist() const { + return _internal_has_tablelist() + ? *match_.tablelist_ + : reinterpret_cast< ::service_layer::SLTableTypeList&>(::service_layer::_SLTableTypeList_default_instance_); } -inline const ::service_layer::SLAFDepFibStatus& SLAFFibStatus::depresult() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFFibStatus.DepResult) - return _internal_depresult(); +inline const ::service_layer::SLTableTypeList& SLAFGetMsg::tablelist() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsg.TableList) + return _internal_tablelist(); } -inline void SLAFFibStatus::unsafe_arena_set_allocated_depresult( - ::service_layer::SLAFDepFibStatus* depresult) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(depresult_); - } - depresult_ = depresult; - if (depresult) { - +inline ::service_layer::SLTableTypeList* SLAFGetMsg::unsafe_arena_release_tablelist() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFGetMsg.TableList) + if (_internal_has_tablelist()) { + clear_has_match(); + ::service_layer::SLTableTypeList* temp = match_.tablelist_; + match_.tablelist_ = nullptr; + return temp; } else { - + return nullptr; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFFibStatus.DepResult) } -inline ::service_layer::SLAFDepFibStatus* SLAFFibStatus::release_depresult() { - - ::service_layer::SLAFDepFibStatus* temp = depresult_; - depresult_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); +inline void SLAFGetMsg::unsafe_arena_set_allocated_tablelist(::service_layer::SLTableTypeList* tablelist) { + clear_match(); + if (tablelist) { + set_has_tablelist(); + match_.tablelist_ = tablelist; } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::service_layer::SLAFDepFibStatus* SLAFFibStatus::unsafe_arena_release_depresult() { - // @@protoc_insertion_point(field_release:service_layer.SLAFFibStatus.DepResult) - - ::service_layer::SLAFDepFibStatus* temp = depresult_; - depresult_ = nullptr; - return temp; + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFGetMsg.TableList) } -inline ::service_layer::SLAFDepFibStatus* SLAFFibStatus::_internal_mutable_depresult() { - - if (depresult_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLAFDepFibStatus>(GetArenaForAllocation()); - depresult_ = p; +inline ::service_layer::SLTableTypeList* SLAFGetMsg::_internal_mutable_tablelist() { + if (!_internal_has_tablelist()) { + clear_match(); + set_has_tablelist(); + match_.tablelist_ = CreateMaybeMessage< ::service_layer::SLTableTypeList >(GetArenaForAllocation()); } - return depresult_; + return match_.tablelist_; } -inline ::service_layer::SLAFDepFibStatus* SLAFFibStatus::mutable_depresult() { - ::service_layer::SLAFDepFibStatus* _msg = _internal_mutable_depresult(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFFibStatus.DepResult) +inline ::service_layer::SLTableTypeList* SLAFGetMsg::mutable_tablelist() { + ::service_layer::SLTableTypeList* _msg = _internal_mutable_tablelist(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMsg.TableList) return _msg; } -inline void SLAFFibStatus::set_allocated_depresult(::service_layer::SLAFDepFibStatus* depresult) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete depresult_; - } - if (depresult) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFDepFibStatus>::GetOwningArena(depresult); - if (message_arena != submessage_arena) { - depresult = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, depresult, submessage_arena); - } - - } else { - - } - depresult_ = depresult; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFFibStatus.DepResult) -} - -// ------------------------------------------------------------------- -// SLAFGetMsgRspEntry - -// .service_layer.SLAFOp AFOp = 1; -inline bool SLAFGetMsgRspEntry::_internal_has_afop() const { - return this != internal_default_instance() && afop_ != nullptr; +// .service_layer.SLAFGetMatchList RouteMatchList = 5; +inline bool SLAFGetMsg::_internal_has_routematchlist() const { + return match_case() == kRouteMatchList; +} +inline bool SLAFGetMsg::has_routematchlist() const { + return _internal_has_routematchlist(); +} +inline void SLAFGetMsg::set_has_routematchlist() { + _oneof_case_[1] = kRouteMatchList; } -inline bool SLAFGetMsgRspEntry::has_afop() const { - return _internal_has_afop(); +inline void SLAFGetMsg::clear_routematchlist() { + if (_internal_has_routematchlist()) { + if (GetArenaForAllocation() == nullptr) { + delete match_.routematchlist_; + } + clear_has_match(); + } } -inline void SLAFGetMsgRspEntry::clear_afop() { - if (GetArenaForAllocation() == nullptr && afop_ != nullptr) { - delete afop_; +inline ::service_layer::SLAFGetMatchList* SLAFGetMsg::release_routematchlist() { + // @@protoc_insertion_point(field_release:service_layer.SLAFGetMsg.RouteMatchList) + if (_internal_has_routematchlist()) { + clear_has_match(); + ::service_layer::SLAFGetMatchList* temp = match_.routematchlist_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + match_.routematchlist_ = nullptr; + return temp; + } else { + return nullptr; } - afop_ = nullptr; } -inline const ::service_layer::SLAFOp& SLAFGetMsgRspEntry::_internal_afop() const { - const ::service_layer::SLAFOp* p = afop_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLAFOp_default_instance_); +inline const ::service_layer::SLAFGetMatchList& SLAFGetMsg::_internal_routematchlist() const { + return _internal_has_routematchlist() + ? *match_.routematchlist_ + : reinterpret_cast< ::service_layer::SLAFGetMatchList&>(::service_layer::_SLAFGetMatchList_default_instance_); } -inline const ::service_layer::SLAFOp& SLAFGetMsgRspEntry::afop() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsgRspEntry.AFOp) - return _internal_afop(); +inline const ::service_layer::SLAFGetMatchList& SLAFGetMsg::routematchlist() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsg.RouteMatchList) + return _internal_routematchlist(); } -inline void SLAFGetMsgRspEntry::unsafe_arena_set_allocated_afop( - ::service_layer::SLAFOp* afop) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(afop_); - } - afop_ = afop; - if (afop) { - +inline ::service_layer::SLAFGetMatchList* SLAFGetMsg::unsafe_arena_release_routematchlist() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLAFGetMsg.RouteMatchList) + if (_internal_has_routematchlist()) { + clear_has_match(); + ::service_layer::SLAFGetMatchList* temp = match_.routematchlist_; + match_.routematchlist_ = nullptr; + return temp; } else { - + return nullptr; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFGetMsgRspEntry.AFOp) } -inline ::service_layer::SLAFOp* SLAFGetMsgRspEntry::release_afop() { - - ::service_layer::SLAFOp* temp = afop_; - afop_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); +inline void SLAFGetMsg::unsafe_arena_set_allocated_routematchlist(::service_layer::SLAFGetMatchList* routematchlist) { + clear_match(); + if (routematchlist) { + set_has_routematchlist(); + match_.routematchlist_ = routematchlist; } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::service_layer::SLAFOp* SLAFGetMsgRspEntry::unsafe_arena_release_afop() { - // @@protoc_insertion_point(field_release:service_layer.SLAFGetMsgRspEntry.AFOp) - - ::service_layer::SLAFOp* temp = afop_; - afop_ = nullptr; - return temp; + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFGetMsg.RouteMatchList) } -inline ::service_layer::SLAFOp* SLAFGetMsgRspEntry::_internal_mutable_afop() { - - if (afop_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLAFOp>(GetArenaForAllocation()); - afop_ = p; +inline ::service_layer::SLAFGetMatchList* SLAFGetMsg::_internal_mutable_routematchlist() { + if (!_internal_has_routematchlist()) { + clear_match(); + set_has_routematchlist(); + match_.routematchlist_ = CreateMaybeMessage< ::service_layer::SLAFGetMatchList >(GetArenaForAllocation()); } - return afop_; + return match_.routematchlist_; } -inline ::service_layer::SLAFOp* SLAFGetMsgRspEntry::mutable_afop() { - ::service_layer::SLAFOp* _msg = _internal_mutable_afop(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMsgRspEntry.AFOp) +inline ::service_layer::SLAFGetMatchList* SLAFGetMsg::mutable_routematchlist() { + ::service_layer::SLAFGetMatchList* _msg = _internal_mutable_routematchlist(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMsg.RouteMatchList) return _msg; } -inline void SLAFGetMsgRspEntry::set_allocated_afop(::service_layer::SLAFOp* afop) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete afop_; - } - if (afop) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFOp>::GetOwningArena(afop); - if (message_arena != submessage_arena) { - afop = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, afop, submessage_arena); - } - - } else { - - } - afop_ = afop; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsgRspEntry.AFOp) + +inline bool SLAFGetMsg::has_client() const { + return client_case() != CLIENT_NOT_SET; +} +inline void SLAFGetMsg::clear_has_client() { + _oneof_case_[0] = CLIENT_NOT_SET; +} +inline bool SLAFGetMsg::has_match() const { + return match_case() != MATCH_NOT_SET; +} +inline void SLAFGetMsg::clear_has_match() { + _oneof_case_[1] = MATCH_NOT_SET; +} +inline SLAFGetMsg::ClientCase SLAFGetMsg::client_case() const { + return SLAFGetMsg::ClientCase(_oneof_case_[0]); } +inline SLAFGetMsg::MatchCase SLAFGetMsg::match_case() const { + return SLAFGetMsg::MatchCase(_oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// SLAFGetMsgRspEntry -// .service_layer.SLErrorStatus ErrorCode = 2; -inline bool SLAFGetMsgRspEntry::_internal_has_errorcode() const { - return this != internal_default_instance() && errorcode_ != nullptr; +// .service_layer.SLAFOpMsg AFOpMsg = 1; +inline bool SLAFGetMsgRspEntry::_internal_has_afopmsg() const { + return this != internal_default_instance() && afopmsg_ != nullptr; } -inline bool SLAFGetMsgRspEntry::has_errorcode() const { - return _internal_has_errorcode(); +inline bool SLAFGetMsgRspEntry::has_afopmsg() const { + return _internal_has_afopmsg(); } -inline const ::service_layer::SLErrorStatus& SLAFGetMsgRspEntry::_internal_errorcode() const { - const ::service_layer::SLErrorStatus* p = errorcode_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLErrorStatus_default_instance_); +inline void SLAFGetMsgRspEntry::clear_afopmsg() { + if (GetArenaForAllocation() == nullptr && afopmsg_ != nullptr) { + delete afopmsg_; + } + afopmsg_ = nullptr; +} +inline const ::service_layer::SLAFOpMsg& SLAFGetMsgRspEntry::_internal_afopmsg() const { + const ::service_layer::SLAFOpMsg* p = afopmsg_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLAFOpMsg_default_instance_); } -inline const ::service_layer::SLErrorStatus& SLAFGetMsgRspEntry::errorcode() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsgRspEntry.ErrorCode) - return _internal_errorcode(); +inline const ::service_layer::SLAFOpMsg& SLAFGetMsgRspEntry::afopmsg() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsgRspEntry.AFOpMsg) + return _internal_afopmsg(); } -inline void SLAFGetMsgRspEntry::unsafe_arena_set_allocated_errorcode( - ::service_layer::SLErrorStatus* errorcode) { +inline void SLAFGetMsgRspEntry::unsafe_arena_set_allocated_afopmsg( + ::service_layer::SLAFOpMsg* afopmsg) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errorcode_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(afopmsg_); } - errorcode_ = errorcode; - if (errorcode) { + afopmsg_ = afopmsg; + if (afopmsg) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFGetMsgRspEntry.ErrorCode) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFGetMsgRspEntry.AFOpMsg) } -inline ::service_layer::SLErrorStatus* SLAFGetMsgRspEntry::release_errorcode() { +inline ::service_layer::SLAFOpMsg* SLAFGetMsgRspEntry::release_afopmsg() { - ::service_layer::SLErrorStatus* temp = errorcode_; - errorcode_ = nullptr; + ::service_layer::SLAFOpMsg* temp = afopmsg_; + afopmsg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -8314,66 +9773,64 @@ inline ::service_layer::SLErrorStatus* SLAFGetMsgRspEntry::release_errorcode() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLErrorStatus* SLAFGetMsgRspEntry::unsafe_arena_release_errorcode() { - // @@protoc_insertion_point(field_release:service_layer.SLAFGetMsgRspEntry.ErrorCode) +inline ::service_layer::SLAFOpMsg* SLAFGetMsgRspEntry::unsafe_arena_release_afopmsg() { + // @@protoc_insertion_point(field_release:service_layer.SLAFGetMsgRspEntry.AFOpMsg) - ::service_layer::SLErrorStatus* temp = errorcode_; - errorcode_ = nullptr; + ::service_layer::SLAFOpMsg* temp = afopmsg_; + afopmsg_ = nullptr; return temp; } -inline ::service_layer::SLErrorStatus* SLAFGetMsgRspEntry::_internal_mutable_errorcode() { +inline ::service_layer::SLAFOpMsg* SLAFGetMsgRspEntry::_internal_mutable_afopmsg() { - if (errorcode_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); - errorcode_ = p; + if (afopmsg_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLAFOpMsg>(GetArenaForAllocation()); + afopmsg_ = p; } - return errorcode_; + return afopmsg_; } -inline ::service_layer::SLErrorStatus* SLAFGetMsgRspEntry::mutable_errorcode() { - ::service_layer::SLErrorStatus* _msg = _internal_mutable_errorcode(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMsgRspEntry.ErrorCode) +inline ::service_layer::SLAFOpMsg* SLAFGetMsgRspEntry::mutable_afopmsg() { + ::service_layer::SLAFOpMsg* _msg = _internal_mutable_afopmsg(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFGetMsgRspEntry.AFOpMsg) return _msg; } -inline void SLAFGetMsgRspEntry::set_allocated_errorcode(::service_layer::SLErrorStatus* errorcode) { +inline void SLAFGetMsgRspEntry::set_allocated_afopmsg(::service_layer::SLAFOpMsg* afopmsg) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(errorcode_); + delete afopmsg_; } - if (errorcode) { + if (afopmsg) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errorcode)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFOpMsg>::GetOwningArena(afopmsg); if (message_arena != submessage_arena) { - errorcode = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, errorcode, submessage_arena); + afopmsg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, afopmsg, submessage_arena); } } else { } - errorcode_ = errorcode; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsgRspEntry.ErrorCode) + afopmsg_ = afopmsg; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFGetMsgRspEntry.AFOpMsg) } -// uint64 Version = 3; -inline void SLAFGetMsgRspEntry::clear_version() { - version_ = uint64_t{0u}; +// .service_layer.SLAFFibStatus FIBStatus = 2; +inline void SLAFGetMsgRspEntry::clear_fibstatus() { + fibstatus_ = 0; } -inline uint64_t SLAFGetMsgRspEntry::_internal_version() const { - return version_; +inline ::service_layer::SLAFFibStatus SLAFGetMsgRspEntry::_internal_fibstatus() const { + return static_cast< ::service_layer::SLAFFibStatus >(fibstatus_); } -inline uint64_t SLAFGetMsgRspEntry::version() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsgRspEntry.Version) - return _internal_version(); +inline ::service_layer::SLAFFibStatus SLAFGetMsgRspEntry::fibstatus() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFGetMsgRspEntry.FIBStatus) + return _internal_fibstatus(); } -inline void SLAFGetMsgRspEntry::_internal_set_version(uint64_t value) { +inline void SLAFGetMsgRspEntry::_internal_set_fibstatus(::service_layer::SLAFFibStatus value) { - version_ = value; + fibstatus_ = value; } -inline void SLAFGetMsgRspEntry::set_version(uint64_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFGetMsgRspEntry.Version) +inline void SLAFGetMsgRspEntry::set_fibstatus(::service_layer::SLAFFibStatus value) { + _internal_set_fibstatus(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFGetMsgRspEntry.FIBStatus) } // ------------------------------------------------------------------- @@ -8652,7 +10109,7 @@ inline void SLAFMsg::set_allocated_vrfname(std::string* vrfname) { // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFMsg.VrfName) } -// repeated .service_layer.SLAFOp OpList = 3; +// repeated .service_layer.SLAFOpMsg OpList = 3; inline int SLAFMsg::_internal_oplist_size() const { return oplist_.size(); } @@ -8662,31 +10119,31 @@ inline int SLAFMsg::oplist_size() const { inline void SLAFMsg::clear_oplist() { oplist_.Clear(); } -inline ::service_layer::SLAFOp* SLAFMsg::mutable_oplist(int index) { +inline ::service_layer::SLAFOpMsg* SLAFMsg::mutable_oplist(int index) { // @@protoc_insertion_point(field_mutable:service_layer.SLAFMsg.OpList) return oplist_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOp >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOpMsg >* SLAFMsg::mutable_oplist() { // @@protoc_insertion_point(field_mutable_list:service_layer.SLAFMsg.OpList) return &oplist_; } -inline const ::service_layer::SLAFOp& SLAFMsg::_internal_oplist(int index) const { +inline const ::service_layer::SLAFOpMsg& SLAFMsg::_internal_oplist(int index) const { return oplist_.Get(index); } -inline const ::service_layer::SLAFOp& SLAFMsg::oplist(int index) const { +inline const ::service_layer::SLAFOpMsg& SLAFMsg::oplist(int index) const { // @@protoc_insertion_point(field_get:service_layer.SLAFMsg.OpList) return _internal_oplist(index); } -inline ::service_layer::SLAFOp* SLAFMsg::_internal_add_oplist() { +inline ::service_layer::SLAFOpMsg* SLAFMsg::_internal_add_oplist() { return oplist_.Add(); } -inline ::service_layer::SLAFOp* SLAFMsg::add_oplist() { - ::service_layer::SLAFOp* _add = _internal_add_oplist(); +inline ::service_layer::SLAFOpMsg* SLAFMsg::add_oplist() { + ::service_layer::SLAFOpMsg* _add = _internal_add_oplist(); // @@protoc_insertion_point(field_add:service_layer.SLAFMsg.OpList) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOp >& +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLAFOpMsg >& SLAFMsg::oplist() const { // @@protoc_insertion_point(field_list:service_layer.SLAFMsg.OpList) return oplist_; @@ -8696,39 +10153,39 @@ SLAFMsg::oplist() const { // SLAFRes -// .service_layer.SLErrorStatus ErrStatus = 1; -inline bool SLAFRes::_internal_has_errstatus() const { - return this != internal_default_instance() && errstatus_ != nullptr; +// .service_layer.SLErrorStatus Status = 1; +inline bool SLAFRes::_internal_has_status() const { + return this != internal_default_instance() && status_ != nullptr; } -inline bool SLAFRes::has_errstatus() const { - return _internal_has_errstatus(); +inline bool SLAFRes::has_status() const { + return _internal_has_status(); } -inline const ::service_layer::SLErrorStatus& SLAFRes::_internal_errstatus() const { - const ::service_layer::SLErrorStatus* p = errstatus_; +inline const ::service_layer::SLErrorStatus& SLAFRes::_internal_status() const { + const ::service_layer::SLErrorStatus* p = status_; return p != nullptr ? *p : reinterpret_cast( ::service_layer::_SLErrorStatus_default_instance_); } -inline const ::service_layer::SLErrorStatus& SLAFRes::errstatus() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFRes.ErrStatus) - return _internal_errstatus(); +inline const ::service_layer::SLErrorStatus& SLAFRes::status() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFRes.Status) + return _internal_status(); } -inline void SLAFRes::unsafe_arena_set_allocated_errstatus( - ::service_layer::SLErrorStatus* errstatus) { +inline void SLAFRes::unsafe_arena_set_allocated_status( + ::service_layer::SLErrorStatus* status) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(status_); } - errstatus_ = errstatus; - if (errstatus) { + status_ = status; + if (status) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFRes.ErrStatus) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFRes.Status) } -inline ::service_layer::SLErrorStatus* SLAFRes::release_errstatus() { +inline ::service_layer::SLErrorStatus* SLAFRes::release_status() { - ::service_layer::SLErrorStatus* temp = errstatus_; - errstatus_ = nullptr; + ::service_layer::SLErrorStatus* temp = status_; + status_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -8740,87 +10197,87 @@ inline ::service_layer::SLErrorStatus* SLAFRes::release_errstatus() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLErrorStatus* SLAFRes::unsafe_arena_release_errstatus() { - // @@protoc_insertion_point(field_release:service_layer.SLAFRes.ErrStatus) +inline ::service_layer::SLErrorStatus* SLAFRes::unsafe_arena_release_status() { + // @@protoc_insertion_point(field_release:service_layer.SLAFRes.Status) - ::service_layer::SLErrorStatus* temp = errstatus_; - errstatus_ = nullptr; + ::service_layer::SLErrorStatus* temp = status_; + status_ = nullptr; return temp; } -inline ::service_layer::SLErrorStatus* SLAFRes::_internal_mutable_errstatus() { +inline ::service_layer::SLErrorStatus* SLAFRes::_internal_mutable_status() { - if (errstatus_ == nullptr) { + if (status_ == nullptr) { auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); - errstatus_ = p; + status_ = p; } - return errstatus_; + return status_; } -inline ::service_layer::SLErrorStatus* SLAFRes::mutable_errstatus() { - ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFRes.ErrStatus) +inline ::service_layer::SLErrorStatus* SLAFRes::mutable_status() { + ::service_layer::SLErrorStatus* _msg = _internal_mutable_status(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFRes.Status) return _msg; } -inline void SLAFRes::set_allocated_errstatus(::service_layer::SLErrorStatus* errstatus) { +inline void SLAFRes::set_allocated_status(::service_layer::SLErrorStatus* status) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(status_); } - if (errstatus) { + if (status) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(status)); if (message_arena != submessage_arena) { - errstatus = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, errstatus, submessage_arena); + status = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, status, submessage_arena); } } else { } - errstatus_ = errstatus; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFRes.ErrStatus) + status_ = status; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFRes.Status) } -// .service_layer.SLAFOp Operation = 2; -inline bool SLAFRes::_internal_has_operation() const { - return this != internal_default_instance() && operation_ != nullptr; +// .service_layer.SLAFObjectKey Key = 2; +inline bool SLAFRes::_internal_has_key() const { + return this != internal_default_instance() && key_ != nullptr; } -inline bool SLAFRes::has_operation() const { - return _internal_has_operation(); +inline bool SLAFRes::has_key() const { + return _internal_has_key(); } -inline void SLAFRes::clear_operation() { - if (GetArenaForAllocation() == nullptr && operation_ != nullptr) { - delete operation_; +inline void SLAFRes::clear_key() { + if (GetArenaForAllocation() == nullptr && key_ != nullptr) { + delete key_; } - operation_ = nullptr; + key_ = nullptr; } -inline const ::service_layer::SLAFOp& SLAFRes::_internal_operation() const { - const ::service_layer::SLAFOp* p = operation_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLAFOp_default_instance_); +inline const ::service_layer::SLAFObjectKey& SLAFRes::_internal_key() const { + const ::service_layer::SLAFObjectKey* p = key_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLAFObjectKey_default_instance_); } -inline const ::service_layer::SLAFOp& SLAFRes::operation() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFRes.Operation) - return _internal_operation(); +inline const ::service_layer::SLAFObjectKey& SLAFRes::key() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFRes.Key) + return _internal_key(); } -inline void SLAFRes::unsafe_arena_set_allocated_operation( - ::service_layer::SLAFOp* operation) { +inline void SLAFRes::unsafe_arena_set_allocated_key( + ::service_layer::SLAFObjectKey* key) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(operation_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(key_); } - operation_ = operation; - if (operation) { + key_ = key; + if (key) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFRes.Operation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFRes.Key) } -inline ::service_layer::SLAFOp* SLAFRes::release_operation() { +inline ::service_layer::SLAFObjectKey* SLAFRes::release_key() { - ::service_layer::SLAFOp* temp = operation_; - operation_ = nullptr; + ::service_layer::SLAFObjectKey* temp = key_; + key_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -8832,47 +10289,87 @@ inline ::service_layer::SLAFOp* SLAFRes::release_operation() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLAFOp* SLAFRes::unsafe_arena_release_operation() { - // @@protoc_insertion_point(field_release:service_layer.SLAFRes.Operation) +inline ::service_layer::SLAFObjectKey* SLAFRes::unsafe_arena_release_key() { + // @@protoc_insertion_point(field_release:service_layer.SLAFRes.Key) - ::service_layer::SLAFOp* temp = operation_; - operation_ = nullptr; + ::service_layer::SLAFObjectKey* temp = key_; + key_ = nullptr; return temp; } -inline ::service_layer::SLAFOp* SLAFRes::_internal_mutable_operation() { +inline ::service_layer::SLAFObjectKey* SLAFRes::_internal_mutable_key() { - if (operation_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLAFOp>(GetArenaForAllocation()); - operation_ = p; + if (key_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLAFObjectKey>(GetArenaForAllocation()); + key_ = p; } - return operation_; + return key_; } -inline ::service_layer::SLAFOp* SLAFRes::mutable_operation() { - ::service_layer::SLAFOp* _msg = _internal_mutable_operation(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFRes.Operation) +inline ::service_layer::SLAFObjectKey* SLAFRes::mutable_key() { + ::service_layer::SLAFObjectKey* _msg = _internal_mutable_key(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFRes.Key) return _msg; } -inline void SLAFRes::set_allocated_operation(::service_layer::SLAFOp* operation) { +inline void SLAFRes::set_allocated_key(::service_layer::SLAFObjectKey* key) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete operation_; + delete key_; } - if (operation) { + if (key) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFOp>::GetOwningArena(operation); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFObjectKey>::GetOwningArena(key); if (message_arena != submessage_arena) { - operation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, operation, submessage_arena); + key = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, key, submessage_arena); } } else { } - operation_ = operation; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFRes.Operation) + key_ = key; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFRes.Key) +} + +// uint64 OperationID = 3; +inline void SLAFRes::clear_operationid() { + operationid_ = uint64_t{0u}; +} +inline uint64_t SLAFRes::_internal_operationid() const { + return operationid_; +} +inline uint64_t SLAFRes::operationid() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFRes.OperationID) + return _internal_operationid(); +} +inline void SLAFRes::_internal_set_operationid(uint64_t value) { + + operationid_ = value; +} +inline void SLAFRes::set_operationid(uint64_t value) { + _internal_set_operationid(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFRes.OperationID) +} + +// .service_layer.SLAFFibStatus FIBStatus = 4; +inline void SLAFRes::clear_fibstatus() { + fibstatus_ = 0; +} +inline ::service_layer::SLAFFibStatus SLAFRes::_internal_fibstatus() const { + return static_cast< ::service_layer::SLAFFibStatus >(fibstatus_); +} +inline ::service_layer::SLAFFibStatus SLAFRes::fibstatus() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFRes.FIBStatus) + return _internal_fibstatus(); +} +inline void SLAFRes::_internal_set_fibstatus(::service_layer::SLAFFibStatus value) { + + fibstatus_ = value; +} +inline void SLAFRes::set_fibstatus(::service_layer::SLAFFibStatus value) { + _internal_set_fibstatus(value); + // @@protoc_insertion_point(field_set:service_layer.SLAFRes.FIBStatus) } -// string ErrorString = 3; +// string ErrorString = 5; inline void SLAFRes::clear_errorstring() { errorstring_.ClearToEmpty(); } @@ -8923,96 +10420,6 @@ inline void SLAFRes::set_allocated_errorstring(std::string* errorstring) { // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFRes.ErrorString) } -// .service_layer.SLAFFibStatus FIBStatus = 4; -inline bool SLAFRes::_internal_has_fibstatus() const { - return this != internal_default_instance() && fibstatus_ != nullptr; -} -inline bool SLAFRes::has_fibstatus() const { - return _internal_has_fibstatus(); -} -inline void SLAFRes::clear_fibstatus() { - if (GetArenaForAllocation() == nullptr && fibstatus_ != nullptr) { - delete fibstatus_; - } - fibstatus_ = nullptr; -} -inline const ::service_layer::SLAFFibStatus& SLAFRes::_internal_fibstatus() const { - const ::service_layer::SLAFFibStatus* p = fibstatus_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLAFFibStatus_default_instance_); -} -inline const ::service_layer::SLAFFibStatus& SLAFRes::fibstatus() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFRes.FIBStatus) - return _internal_fibstatus(); -} -inline void SLAFRes::unsafe_arena_set_allocated_fibstatus( - ::service_layer::SLAFFibStatus* fibstatus) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fibstatus_); - } - fibstatus_ = fibstatus; - if (fibstatus) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFRes.FIBStatus) -} -inline ::service_layer::SLAFFibStatus* SLAFRes::release_fibstatus() { - - ::service_layer::SLAFFibStatus* temp = fibstatus_; - fibstatus_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::service_layer::SLAFFibStatus* SLAFRes::unsafe_arena_release_fibstatus() { - // @@protoc_insertion_point(field_release:service_layer.SLAFRes.FIBStatus) - - ::service_layer::SLAFFibStatus* temp = fibstatus_; - fibstatus_ = nullptr; - return temp; -} -inline ::service_layer::SLAFFibStatus* SLAFRes::_internal_mutable_fibstatus() { - - if (fibstatus_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLAFFibStatus>(GetArenaForAllocation()); - fibstatus_ = p; - } - return fibstatus_; -} -inline ::service_layer::SLAFFibStatus* SLAFRes::mutable_fibstatus() { - ::service_layer::SLAFFibStatus* _msg = _internal_mutable_fibstatus(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFRes.FIBStatus) - return _msg; -} -inline void SLAFRes::set_allocated_fibstatus(::service_layer::SLAFFibStatus* fibstatus) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete fibstatus_; - } - if (fibstatus) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLAFFibStatus>::GetOwningArena(fibstatus); - if (message_arena != submessage_arena) { - fibstatus = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, fibstatus, submessage_arena); - } - - } else { - - } - fibstatus_ = fibstatus; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFRes.FIBStatus) -} - // ------------------------------------------------------------------- // SLAFMsgRsp @@ -9238,39 +10645,39 @@ inline void SLAFRedistRegMsg::set_table(::service_layer::SLTableType value) { // SLAFNextHopRegKey_SLNextHopKey -// .service_layer.SLIpAddress NextHop = 1; -inline bool SLAFNextHopRegKey_SLNextHopKey::_internal_has_nexthop() const { - return this != internal_default_instance() && nexthop_ != nullptr; +// .service_layer.SLRoutePrefix NextHopIP = 1; +inline bool SLAFNextHopRegKey_SLNextHopKey::_internal_has_nexthopip() const { + return this != internal_default_instance() && nexthopip_ != nullptr; } -inline bool SLAFNextHopRegKey_SLNextHopKey::has_nexthop() const { - return _internal_has_nexthop(); +inline bool SLAFNextHopRegKey_SLNextHopKey::has_nexthopip() const { + return _internal_has_nexthopip(); } -inline const ::service_layer::SLIpAddress& SLAFNextHopRegKey_SLNextHopKey::_internal_nexthop() const { - const ::service_layer::SLIpAddress* p = nexthop_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLIpAddress_default_instance_); +inline const ::service_layer::SLRoutePrefix& SLAFNextHopRegKey_SLNextHopKey::_internal_nexthopip() const { + const ::service_layer::SLRoutePrefix* p = nexthopip_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLRoutePrefix_default_instance_); } -inline const ::service_layer::SLIpAddress& SLAFNextHopRegKey_SLNextHopKey::nexthop() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHop) - return _internal_nexthop(); +inline const ::service_layer::SLRoutePrefix& SLAFNextHopRegKey_SLNextHopKey::nexthopip() const { + // @@protoc_insertion_point(field_get:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP) + return _internal_nexthopip(); } -inline void SLAFNextHopRegKey_SLNextHopKey::unsafe_arena_set_allocated_nexthop( - ::service_layer::SLIpAddress* nexthop) { +inline void SLAFNextHopRegKey_SLNextHopKey::unsafe_arena_set_allocated_nexthopip( + ::service_layer::SLRoutePrefix* nexthopip) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthop_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthopip_); } - nexthop_ = nexthop; - if (nexthop) { + nexthopip_ = nexthopip; + if (nexthopip) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHop) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP) } -inline ::service_layer::SLIpAddress* SLAFNextHopRegKey_SLNextHopKey::release_nexthop() { +inline ::service_layer::SLRoutePrefix* SLAFNextHopRegKey_SLNextHopKey::release_nexthopip() { - ::service_layer::SLIpAddress* temp = nexthop_; - nexthop_ = nullptr; + ::service_layer::SLRoutePrefix* temp = nexthopip_; + nexthopip_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -9282,69 +10689,49 @@ inline ::service_layer::SLIpAddress* SLAFNextHopRegKey_SLNextHopKey::release_nex #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLIpAddress* SLAFNextHopRegKey_SLNextHopKey::unsafe_arena_release_nexthop() { - // @@protoc_insertion_point(field_release:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHop) +inline ::service_layer::SLRoutePrefix* SLAFNextHopRegKey_SLNextHopKey::unsafe_arena_release_nexthopip() { + // @@protoc_insertion_point(field_release:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP) - ::service_layer::SLIpAddress* temp = nexthop_; - nexthop_ = nullptr; + ::service_layer::SLRoutePrefix* temp = nexthopip_; + nexthopip_ = nullptr; return temp; } -inline ::service_layer::SLIpAddress* SLAFNextHopRegKey_SLNextHopKey::_internal_mutable_nexthop() { +inline ::service_layer::SLRoutePrefix* SLAFNextHopRegKey_SLNextHopKey::_internal_mutable_nexthopip() { - if (nexthop_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLIpAddress>(GetArenaForAllocation()); - nexthop_ = p; + if (nexthopip_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLRoutePrefix>(GetArenaForAllocation()); + nexthopip_ = p; } - return nexthop_; + return nexthopip_; } -inline ::service_layer::SLIpAddress* SLAFNextHopRegKey_SLNextHopKey::mutable_nexthop() { - ::service_layer::SLIpAddress* _msg = _internal_mutable_nexthop(); - // @@protoc_insertion_point(field_mutable:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHop) +inline ::service_layer::SLRoutePrefix* SLAFNextHopRegKey_SLNextHopKey::mutable_nexthopip() { + ::service_layer::SLRoutePrefix* _msg = _internal_mutable_nexthopip(); + // @@protoc_insertion_point(field_mutable:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP) return _msg; } -inline void SLAFNextHopRegKey_SLNextHopKey::set_allocated_nexthop(::service_layer::SLIpAddress* nexthop) { +inline void SLAFNextHopRegKey_SLNextHopKey::set_allocated_nexthopip(::service_layer::SLRoutePrefix* nexthopip) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthop_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthopip_); } - if (nexthop) { + if (nexthopip) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthop)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthopip)); if (message_arena != submessage_arena) { - nexthop = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, nexthop, submessage_arena); + nexthopip = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, nexthopip, submessage_arena); } } else { } - nexthop_ = nexthop; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHop) + nexthopip_ = nexthopip; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP) } -// uint32 NextHopLen = 2; -inline void SLAFNextHopRegKey_SLNextHopKey::clear_nexthoplen() { - nexthoplen_ = 0u; -} -inline uint32_t SLAFNextHopRegKey_SLNextHopKey::_internal_nexthoplen() const { - return nexthoplen_; -} -inline uint32_t SLAFNextHopRegKey_SLNextHopKey::nexthoplen() const { - // @@protoc_insertion_point(field_get:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopLen) - return _internal_nexthoplen(); -} -inline void SLAFNextHopRegKey_SLNextHopKey::_internal_set_nexthoplen(uint32_t value) { - - nexthoplen_ = value; -} -inline void SLAFNextHopRegKey_SLNextHopKey::set_nexthoplen(uint32_t value) { - _internal_set_nexthoplen(value); - // @@protoc_insertion_point(field_set:service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopLen) -} - -// bool ExactMatch = 3; +// bool ExactMatch = 2; inline void SLAFNextHopRegKey_SLNextHopKey::clear_exactmatch() { exactmatch_ = false; } @@ -9364,7 +10751,7 @@ inline void SLAFNextHopRegKey_SLNextHopKey::set_exactmatch(bool value) { // @@protoc_insertion_point(field_set:service_layer.SLAFNextHopRegKey.SLNextHopKey.ExactMatch) } -// bool AllowDefault = 4; +// bool AllowDefault = 3; inline void SLAFNextHopRegKey_SLNextHopKey::clear_allowdefault() { allowdefault_ = false; } @@ -9384,7 +10771,7 @@ inline void SLAFNextHopRegKey_SLNextHopKey::set_allowdefault(bool value) { // @@protoc_insertion_point(field_set:service_layer.SLAFNextHopRegKey.SLNextHopKey.AllowDefault) } -// bool Recurse = 5; +// bool Recurse = 4; inline void SLAFNextHopRegKey_SLNextHopKey::clear_recurse() { recurse_ = false; } @@ -10155,39 +11542,39 @@ inline void SLNextHop::set_allocated_nexthopkey(::service_layer::SLAFNextHopRegK // @@protoc_insertion_point(field_set_allocated:service_layer.SLNextHop.NextHopKey) } -// .service_layer.SLIpAddress ResolvingRoute = 2; -inline bool SLNextHop::_internal_has_resolvingroute() const { - return this != internal_default_instance() && resolvingroute_ != nullptr; +// .service_layer.SLRoutePrefix ResolvingPrefix = 2; +inline bool SLNextHop::_internal_has_resolvingprefix() const { + return this != internal_default_instance() && resolvingprefix_ != nullptr; } -inline bool SLNextHop::has_resolvingroute() const { - return _internal_has_resolvingroute(); +inline bool SLNextHop::has_resolvingprefix() const { + return _internal_has_resolvingprefix(); } -inline const ::service_layer::SLIpAddress& SLNextHop::_internal_resolvingroute() const { - const ::service_layer::SLIpAddress* p = resolvingroute_; - return p != nullptr ? *p : reinterpret_cast( - ::service_layer::_SLIpAddress_default_instance_); +inline const ::service_layer::SLRoutePrefix& SLNextHop::_internal_resolvingprefix() const { + const ::service_layer::SLRoutePrefix* p = resolvingprefix_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLRoutePrefix_default_instance_); } -inline const ::service_layer::SLIpAddress& SLNextHop::resolvingroute() const { - // @@protoc_insertion_point(field_get:service_layer.SLNextHop.ResolvingRoute) - return _internal_resolvingroute(); +inline const ::service_layer::SLRoutePrefix& SLNextHop::resolvingprefix() const { + // @@protoc_insertion_point(field_get:service_layer.SLNextHop.ResolvingPrefix) + return _internal_resolvingprefix(); } -inline void SLNextHop::unsafe_arena_set_allocated_resolvingroute( - ::service_layer::SLIpAddress* resolvingroute) { +inline void SLNextHop::unsafe_arena_set_allocated_resolvingprefix( + ::service_layer::SLRoutePrefix* resolvingprefix) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(resolvingroute_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(resolvingprefix_); } - resolvingroute_ = resolvingroute; - if (resolvingroute) { + resolvingprefix_ = resolvingprefix; + if (resolvingprefix) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLNextHop.ResolvingRoute) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLNextHop.ResolvingPrefix) } -inline ::service_layer::SLIpAddress* SLNextHop::release_resolvingroute() { +inline ::service_layer::SLRoutePrefix* SLNextHop::release_resolvingprefix() { - ::service_layer::SLIpAddress* temp = resolvingroute_; - resolvingroute_ = nullptr; + ::service_layer::SLRoutePrefix* temp = resolvingprefix_; + resolvingprefix_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -10199,69 +11586,49 @@ inline ::service_layer::SLIpAddress* SLNextHop::release_resolvingroute() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::service_layer::SLIpAddress* SLNextHop::unsafe_arena_release_resolvingroute() { - // @@protoc_insertion_point(field_release:service_layer.SLNextHop.ResolvingRoute) +inline ::service_layer::SLRoutePrefix* SLNextHop::unsafe_arena_release_resolvingprefix() { + // @@protoc_insertion_point(field_release:service_layer.SLNextHop.ResolvingPrefix) - ::service_layer::SLIpAddress* temp = resolvingroute_; - resolvingroute_ = nullptr; + ::service_layer::SLRoutePrefix* temp = resolvingprefix_; + resolvingprefix_ = nullptr; return temp; } -inline ::service_layer::SLIpAddress* SLNextHop::_internal_mutable_resolvingroute() { +inline ::service_layer::SLRoutePrefix* SLNextHop::_internal_mutable_resolvingprefix() { - if (resolvingroute_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLIpAddress>(GetArenaForAllocation()); - resolvingroute_ = p; + if (resolvingprefix_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLRoutePrefix>(GetArenaForAllocation()); + resolvingprefix_ = p; } - return resolvingroute_; + return resolvingprefix_; } -inline ::service_layer::SLIpAddress* SLNextHop::mutable_resolvingroute() { - ::service_layer::SLIpAddress* _msg = _internal_mutable_resolvingroute(); - // @@protoc_insertion_point(field_mutable:service_layer.SLNextHop.ResolvingRoute) +inline ::service_layer::SLRoutePrefix* SLNextHop::mutable_resolvingprefix() { + ::service_layer::SLRoutePrefix* _msg = _internal_mutable_resolvingprefix(); + // @@protoc_insertion_point(field_mutable:service_layer.SLNextHop.ResolvingPrefix) return _msg; } -inline void SLNextHop::set_allocated_resolvingroute(::service_layer::SLIpAddress* resolvingroute) { +inline void SLNextHop::set_allocated_resolvingprefix(::service_layer::SLRoutePrefix* resolvingprefix) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(resolvingroute_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(resolvingprefix_); } - if (resolvingroute) { + if (resolvingprefix) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(resolvingroute)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(resolvingprefix)); if (message_arena != submessage_arena) { - resolvingroute = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, resolvingroute, submessage_arena); + resolvingprefix = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, resolvingprefix, submessage_arena); } } else { } - resolvingroute_ = resolvingroute; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLNextHop.ResolvingRoute) -} - -// uint32 ResolvingRouteLen = 3; -inline void SLNextHop::clear_resolvingroutelen() { - resolvingroutelen_ = 0u; -} -inline uint32_t SLNextHop::_internal_resolvingroutelen() const { - return resolvingroutelen_; -} -inline uint32_t SLNextHop::resolvingroutelen() const { - // @@protoc_insertion_point(field_get:service_layer.SLNextHop.ResolvingRouteLen) - return _internal_resolvingroutelen(); -} -inline void SLNextHop::_internal_set_resolvingroutelen(uint32_t value) { - - resolvingroutelen_ = value; -} -inline void SLNextHop::set_resolvingroutelen(uint32_t value) { - _internal_set_resolvingroutelen(value); - // @@protoc_insertion_point(field_set:service_layer.SLNextHop.ResolvingRouteLen) + resolvingprefix_ = resolvingprefix; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLNextHop.ResolvingPrefix) } -// string SrcProto = 4; +// string SrcProto = 3; inline void SLNextHop::clear_srcproto() { srcproto_.ClearToEmpty(); } @@ -10312,7 +11679,7 @@ inline void SLNextHop::set_allocated_srcproto(std::string* srcproto) { // @@protoc_insertion_point(field_set_allocated:service_layer.SLNextHop.SrcProto) } -// string SrcProtoTag = 5; +// string SrcProtoTag = 4; inline void SLNextHop::clear_srcprototag() { srcprototag_.ClearToEmpty(); } @@ -10363,7 +11730,7 @@ inline void SLNextHop::set_allocated_srcprototag(std::string* srcprototag) { // @@protoc_insertion_point(field_set_allocated:service_layer.SLNextHop.SrcProtoTag) } -// uint32 AdminDistance = 6; +// uint32 AdminDistance = 5; inline void SLNextHop::clear_admindistance() { admindistance_ = 0u; } @@ -10383,7 +11750,7 @@ inline void SLNextHop::set_admindistance(uint32_t value) { // @@protoc_insertion_point(field_set:service_layer.SLNextHop.AdminDistance) } -// uint32 Metric = 7; +// uint32 Metric = 6; inline void SLNextHop::clear_metric() { metric_ = 0u; } @@ -10403,7 +11770,7 @@ inline void SLNextHop::set_metric(uint32_t value) { // @@protoc_insertion_point(field_set:service_layer.SLNextHop.Metric) } -// repeated .service_layer.SLRoutePath Paths = 8; +// repeated .service_layer.SLRoutePath Paths = 7; inline int SLNextHop::_internal_paths_size() const { return paths_.size(); } @@ -11005,6 +12372,16 @@ SLAFNotifMsg::afnotifs() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/grpc/cpp/src/gencpp/sl_common_types.grpc.pb.h b/grpc/cpp/src/gencpp/sl_common_types.grpc.pb.h index 20dbeba..39af6f6 100644 --- a/grpc/cpp/src/gencpp/sl_common_types.grpc.pb.h +++ b/grpc/cpp/src/gencpp/sl_common_types.grpc.pb.h @@ -3,10 +3,10 @@ // source: sl_common_types.proto // Original file comments: // @file -// @brief Common definitions for all of the service layer proto files. +// @brief Common definitions for all of the service layer proto files. // // --------------------------------------------------------------------- -// Copyright (c) 2019, 2024 by Cisco Systems, Inc. +// Copyright (c) 2019, 2024-2025 by Cisco Systems, Inc. // All rights reserved. // --------------------------------------------------------------------- // diff --git a/grpc/cpp/src/gencpp/sl_common_types.pb.cc b/grpc/cpp/src/gencpp/sl_common_types.pb.cc index 27ed0b7..5ccef5d 100644 --- a/grpc/cpp/src/gencpp/sl_common_types.pb.cc +++ b/grpc/cpp/src/gencpp/sl_common_types.pb.cc @@ -81,7 +81,7 @@ struct SLPathGroupRefKeyDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroupRefKeyDefaultTypeInternal _SLPathGroupRefKey_default_instance_; } // namespace service_layer static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5fcommon_5ftypes_2eproto[5]; -static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_sl_5fcommon_5ftypes_2eproto[10]; +static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_sl_5fcommon_5ftypes_2eproto[11]; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_sl_5fcommon_5ftypes_2eproto = nullptr; const uint32_t TableStruct_sl_5fcommon_5ftypes_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -144,9 +144,9 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = }; const char descriptor_table_protodef_sl_5fcommon_5ftypes_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\025sl_common_types.proto\022\rservice_layer\"\314" + "\n\025sl_common_types.proto\022\rservice_layer\"\212" "W\n\rSLErrorStatus\0224\n\006Status\030\001 \001(\0162$.servi" - "ce_layer.SLErrorStatus.SLErrno\"\204W\n\007SLErr" + "ce_layer.SLErrorStatus.SLErrno\"\302V\n\007SLErr" "no\022\016\n\nSL_SUCCESS\020\000\022\024\n\020SL_NOT_CONNECTED\020\001" "\022\r\n\tSL_EAGAIN\020\002\022\r\n\tSL_ENOMEM\020\003\022\014\n\010SL_EBU" "SY\020\004\022\r\n\tSL_EINVAL\020\005\022\026\n\022SL_UNSUPPORTED_VE" @@ -383,87 +383,88 @@ const char descriptor_table_protodef_sl_5fcommon_5ftypes_2eproto[] PROTOBUF_SECT "NEXT_HOP_INVALID_NEXT_HOP_ADDR\020\205\300\005\022#\n\035SL" "_NEXT_HOP_INVALID_PREFIX_SZ\020\206\300\005\022 \n\032SL_NE" "XT_HOP_RIB_ADD_FAILED\020\207\300\005\022$\n\036SL_ROUTE_RE" - "DIST_RIB_ADD_FAILED\020\210\300\005\022\031\n\023SL_FIB_START_" - "OFFSET\020\200\340\005\022\024\n\016SL_FIB_SUCCESS\020\201\340\005\022\023\n\rSL_F" - "IB_FAILED\020\202\340\005\022\027\n\021SL_FIB_INELIGIBLE\020\203\340\005\022\032" - "\n\024SL_FIB_INUSE_SUCCESS\020\204\340\005\022!\n\033SL_ACK_PER" - "MIT_NOT_SUPPORTED\020\205\340\005\022\030\n\022SL_INVALID_ACKT" - "YPE\020\206\340\005\022\034\n\026SL_POLICY_START_OFFSET\020\200\200\006\022\027\n" - "\021SL_POLICY_ADD_ERR\020\201\200\006\022\032\n\024SL_POLICY_EXIS" - "TS_ERR\020\202\200\006\022\032\n\024SL_POLICY_DELETE_ERR\020\203\200\006\022\034" - "\n\026SL_POLICY_RULE_ADD_ERR\020\204\200\006\022\037\n\031SL_POLIC" - "Y_RULE_EXISTS_ERR\020\205\200\006\022\037\n\031SL_POLICY_RULE_" - "DELETE_ERR\020\206\200\006\022\031\n\023SL_POLICY_APPLY_ERR\020\207\200" - "\006\022\033\n\025SL_POLICY_UNAPPLY_ERR\020\210\200\006\022!\n\033SL_POL" - "ICY_TOO_MANY_POLICIES\020\211\200\006\022\035\n\027SL_POLICY_N" - "AME_TOO_LONG\020\212\200\006\022\"\n\034SL_POLICY_RULE_NAME_" - "TOO_LONG\020\213\200\006\022*\n$SL_POLICY_DUPLICATE_PRIO" - "RITY_IN_RULE\020\214\200\006\022$\n\036SL_POLICY_RULE_MOD_N" - "OT_ALLOWED\020\215\200\006\022\034\n\026SL_POLICY_INVALID_RULE" - "\020\216\200\006\022!\n\033SL_POLICY_RULE_ADD_NO_RULES\020\217\200\006\022" - "+\n%SL_POLICY_INVALID_MATCH_COUNT_IN_RULE" - "\020\220\200\006\022,\n&SL_POLICY_INVALID_ACTION_COUNT_I" - "N_RULE\020\221\200\006\022\031\n\023SL_POLICY_NOT_FOUND\020\222\200\006\022\027\n" - "\021SL_POLICY_INVALID\020\223\200\006\022\034\n\026SL_POLICY_NAME" - "_MISSING\020\224\200\006\022!\n\033SL_POLICY_RULE_NAME_MISS" - "ING\020\225\200\006\022(\n\"SL_POLICY_PRIORITY_MISSING_IN" - "_RULE\020\226\200\006\022\034\n\026SL_POLICY_TYPE_INVALID\020\227\200\006\022" - "!\n\033SL_POLICY_INVALID_DIRECTION\020\230\200\006\022!\n\033SL" - "_POLICY_INTF_NAME_TOOLONG\020\231\200\006\022!\n\033SL_POLI" - "CY_INTF_NAME_MISSING\020\232\200\006\022&\n SL_POLICY_MA" - "X_RULE_LIMIT_REACHED\020\233\200\006\022!\n\033SL_POLICY_VR" - "F_NAME_TOO_LONG\020\234\200\006\022 \n\032SL_POLICY_VRF_NAM" - "E_MISSING\020\235\200\006\022&\n SL_POLICY_PATH_GRP_NAME" - "_TOO_LONG\020\236\200\006\022%\n\037SL_POLICY_PATH_GRP_NAME" - "_MISSING\020\237\200\006\022\"\n\034SL_POLICY_INVALID_DSCP_V" - "ALUE\020\240\200\006\022%\n\037SL_POLICY_PRIORITY_STR_TOO_L" - "ONG\020\241\200\006\022&\n SL_POLICY_MAX_INTF_LIMIT_REAC" - "HED\020\242\200\006\022$\n\036SL_POLICY_RULE_DELETE_NO_RULE" - "S\020\243\200\006\022\036\n\030SL_POLICY_APPLY_NO_INTFS\020\244\200\006\022 \n" - "\032SL_POLICY_UNAPPLY_NO_INTFS\020\245\200\006\022 \n\032SL_BG" - "PLS_TOPO_START_OFFSET\020\200\240\006\022#\n\035SL_BGPLS_SE" - "RVER_NOT_AVAILABLE\020\201\240\006\022(\n\"SL_BGPLS_MAX_M" - "ATCH_FILTER_EXCEEDED\020\202\240\006\022#\n\035SL_BGPLS_MAX" - "_STREAMS_EXCEEDED\020\203\240\006\022\036\n\030SL_INTERNAL_STA" - "RT_OFFSET\020\200\200@\"<\n\013SLInterface\022\016\n\004Name\030\001 \001" - "(\tH\000\022\020\n\006Handle\030\002 \001(\rH\000B\013\n\tInterface\"B\n\013S" - "LIpAddress\022\023\n\tV4Address\030\001 \001(\rH\000\022\023\n\tV6Add" - "ress\030\002 \001(\014H\000B\t\n\007Address\"%\n\nSLObjectId\022\016\n" - "\004Name\030\001 \001(\tH\000B\007\n\005entry\"T\n\021SLPathGroupRef" - "Key\022\017\n\007VrfName\030\001 \001(\t\022.\n\013PathGroupId\030\002 \001(" - "\0132\031.service_layer.SLObjectId*b\n\007SLRegOp\022" - "\025\n\021SL_REGOP_RESERVED\020\000\022\025\n\021SL_REGOP_REGIS" - "TER\020\001\022\027\n\023SL_REGOP_UNREGISTER\020\002\022\020\n\014SL_REG" - "OP_EOF\020\003*_\n\nSLObjectOp\022\025\n\021SL_OBJOP_RESER" - "VED\020\000\022\020\n\014SL_OBJOP_ADD\020\001\022\023\n\017SL_OBJOP_UPDA" - "TE\020\002\022\023\n\017SL_OBJOP_DELETE\020\003*S\n\tSLNotifOp\022\027" - "\n\023SL_NOTIFOP_RESERVED\020\000\022\025\n\021SL_NOTIFOP_EN" - "ABLE\020\001\022\026\n\022SL_NOTIFOP_DISABLE\020\002*\211\001\n\020SLUpd" - "atePriority\022\030\n\024SL_PRIORITY_RESERVED\020\000\022\030\n" - "\024SL_PRIORITY_CRITICAL\020\004\022\024\n\020SL_PRIORITY_H" - "IGH\020\010\022\026\n\022SL_PRIORITY_MEDIUM\020\014\022\023\n\017SL_PRIO" - "RITY_LOW\020\020*K\n\013SLEncapType\022\025\n\021SL_ENCAP_RE" - "SERVED\020\000\022\022\n\016SL_ENCAP_VXLAN\020\001\022\021\n\rSL_ENCAP" - "_MPLS\020\002*\215\001\n\013SLTableType\022\032\n\026SL_TABLE_TYPE" - "_RESERVED\020\000\022\027\n\023SL_IPv4_ROUTE_TABLE\020\001\022\027\n\023" - "SL_IPv6_ROUTE_TABLE\020\002\022\027\n\023SL_MPLS_LABEL_T" - "ABLE\020\003\022\027\n\023SL_PATH_GROUP_TABLE\020\004*G\n\014SLRsp" - "ACKType\022\013\n\007RIB_ACK\020\000\022\023\n\017RIB_AND_FIB_ACK\020" - "\001\022\025\n\021RIB_FIB_INUSE_ACK\020\002*\275\001\n\016SLRspACKPer" - "mit\022\021\n\rSL_PERMIT_ALL\020\000\022\030\n\024SL_PERMIT_SL_S" - "UCCESS\020\001\022\034\n\030SL_PERMIT_SL_FIB_SUCCESS\020\002\022\033" - "\n\027SL_PERMIT_SL_FIB_FAILED\020\003\022\037\n\033SL_PERMIT" - "_SL_FIB_INELIGIBLE\020\004\022\"\n\036SL_PERMIT_SL_FIB" - "_INUSE_SUCCESS\020\005*e\n\017SLRspAckCadence\022\025\n\021S" - "L_RSP_CONTINUOUS\020\000\022\024\n\020SL_RSP_JUST_ONCE\020\001" - "\022\024\n\020SL_RSP_ONCE_EACH\020\002\022\017\n\013SL_RSP_NONE\020\003B" - "QZOgithub.com/Cisco-service-layer/servic" - "e-layer-objmodel/grpc/protos;service_lay" - "erb\006proto3" + "DIST_RIB_ADD_FAILED\020\210\300\005\022\031\n\023SL_ACK_START_" + "OFFSET\020\200\340\005\022!\n\033SL_ACK_PERMIT_NOT_SUPPORTE" + "D\020\201\340\005\022\031\n\023SL_ACK_INVALID_TYPE\020\202\340\005\022\034\n\026SL_P" + "OLICY_START_OFFSET\020\200\200\006\022\027\n\021SL_POLICY_ADD_" + "ERR\020\201\200\006\022\032\n\024SL_POLICY_EXISTS_ERR\020\202\200\006\022\032\n\024S" + "L_POLICY_DELETE_ERR\020\203\200\006\022\034\n\026SL_POLICY_RUL" + "E_ADD_ERR\020\204\200\006\022\037\n\031SL_POLICY_RULE_EXISTS_E" + "RR\020\205\200\006\022\037\n\031SL_POLICY_RULE_DELETE_ERR\020\206\200\006\022" + "\031\n\023SL_POLICY_APPLY_ERR\020\207\200\006\022\033\n\025SL_POLICY_" + "UNAPPLY_ERR\020\210\200\006\022!\n\033SL_POLICY_TOO_MANY_PO" + "LICIES\020\211\200\006\022\035\n\027SL_POLICY_NAME_TOO_LONG\020\212\200" + "\006\022\"\n\034SL_POLICY_RULE_NAME_TOO_LONG\020\213\200\006\022*\n" + "$SL_POLICY_DUPLICATE_PRIORITY_IN_RULE\020\214\200" + "\006\022$\n\036SL_POLICY_RULE_MOD_NOT_ALLOWED\020\215\200\006\022" + "\034\n\026SL_POLICY_INVALID_RULE\020\216\200\006\022!\n\033SL_POLI" + "CY_RULE_ADD_NO_RULES\020\217\200\006\022+\n%SL_POLICY_IN" + "VALID_MATCH_COUNT_IN_RULE\020\220\200\006\022,\n&SL_POLI" + "CY_INVALID_ACTION_COUNT_IN_RULE\020\221\200\006\022\031\n\023S" + "L_POLICY_NOT_FOUND\020\222\200\006\022\027\n\021SL_POLICY_INVA" + "LID\020\223\200\006\022\034\n\026SL_POLICY_NAME_MISSING\020\224\200\006\022!\n" + "\033SL_POLICY_RULE_NAME_MISSING\020\225\200\006\022(\n\"SL_P" + "OLICY_PRIORITY_MISSING_IN_RULE\020\226\200\006\022\034\n\026SL" + "_POLICY_TYPE_INVALID\020\227\200\006\022!\n\033SL_POLICY_IN" + "VALID_DIRECTION\020\230\200\006\022!\n\033SL_POLICY_INTF_NA" + "ME_TOOLONG\020\231\200\006\022!\n\033SL_POLICY_INTF_NAME_MI" + "SSING\020\232\200\006\022&\n SL_POLICY_MAX_RULE_LIMIT_RE" + "ACHED\020\233\200\006\022!\n\033SL_POLICY_VRF_NAME_TOO_LONG" + "\020\234\200\006\022 \n\032SL_POLICY_VRF_NAME_MISSING\020\235\200\006\022&" + "\n SL_POLICY_PATH_GRP_NAME_TOO_LONG\020\236\200\006\022%" + "\n\037SL_POLICY_PATH_GRP_NAME_MISSING\020\237\200\006\022\"\n" + "\034SL_POLICY_INVALID_DSCP_VALUE\020\240\200\006\022%\n\037SL_" + "POLICY_PRIORITY_STR_TOO_LONG\020\241\200\006\022&\n SL_P" + "OLICY_MAX_INTF_LIMIT_REACHED\020\242\200\006\022$\n\036SL_P" + "OLICY_RULE_DELETE_NO_RULES\020\243\200\006\022\036\n\030SL_POL" + "ICY_APPLY_NO_INTFS\020\244\200\006\022 \n\032SL_POLICY_UNAP" + "PLY_NO_INTFS\020\245\200\006\022\033\n\025SL_POLICY_REPLACE_ER" + "R\020\246\200\006\022 \n\032SL_BGPLS_TOPO_START_OFFSET\020\200\240\006\022" + "#\n\035SL_BGPLS_SERVER_NOT_AVAILABLE\020\201\240\006\022(\n\"" + "SL_BGPLS_MAX_MATCH_FILTER_EXCEEDED\020\202\240\006\022#" + "\n\035SL_BGPLS_MAX_STREAMS_EXCEEDED\020\203\240\006\022\036\n\030S" + "L_INTERNAL_START_OFFSET\020\200\200@\"<\n\013SLInterfa" + "ce\022\016\n\004Name\030\001 \001(\tH\000\022\020\n\006Handle\030\002 \001(\rH\000B\013\n\t" + "Interface\"B\n\013SLIpAddress\022\023\n\tV4Address\030\001 " + "\001(\rH\000\022\023\n\tV6Address\030\002 \001(\014H\000B\t\n\007Address\"%\n" + "\nSLObjectId\022\016\n\004Name\030\001 \001(\tH\000B\007\n\005entry\"T\n\021" + "SLPathGroupRefKey\022\017\n\007VrfName\030\001 \001(\t\022.\n\013Pa" + "thGroupId\030\002 \001(\0132\031.service_layer.SLObject" + "Id*b\n\007SLRegOp\022\025\n\021SL_REGOP_RESERVED\020\000\022\025\n\021" + "SL_REGOP_REGISTER\020\001\022\027\n\023SL_REGOP_UNREGIST" + "ER\020\002\022\020\n\014SL_REGOP_EOF\020\003*_\n\nSLObjectOp\022\025\n\021" + "SL_OBJOP_RESERVED\020\000\022\020\n\014SL_OBJOP_ADD\020\001\022\023\n" + "\017SL_OBJOP_UPDATE\020\002\022\023\n\017SL_OBJOP_DELETE\020\003*" + "S\n\tSLNotifOp\022\027\n\023SL_NOTIFOP_RESERVED\020\000\022\025\n" + "\021SL_NOTIFOP_ENABLE\020\001\022\026\n\022SL_NOTIFOP_DISAB" + "LE\020\002*\211\001\n\020SLUpdatePriority\022\030\n\024SL_PRIORITY" + "_RESERVED\020\000\022\030\n\024SL_PRIORITY_CRITICAL\020\004\022\024\n" + "\020SL_PRIORITY_HIGH\020\010\022\026\n\022SL_PRIORITY_MEDIU" + "M\020\014\022\023\n\017SL_PRIORITY_LOW\020\020*K\n\013SLEncapType\022" + "\025\n\021SL_ENCAP_RESERVED\020\000\022\022\n\016SL_ENCAP_VXLAN" + "\020\001\022\021\n\rSL_ENCAP_MPLS\020\002*\215\001\n\013SLTableType\022\032\n" + "\026SL_TABLE_TYPE_RESERVED\020\000\022\027\n\023SL_IPv4_ROU" + "TE_TABLE\020\001\022\027\n\023SL_IPv6_ROUTE_TABLE\020\002\022\027\n\023S" + "L_MPLS_LABEL_TABLE\020\003\022\027\n\023SL_PATH_GROUP_TA" + "BLE\020\004*G\n\014SLRspACKType\022\013\n\007RIB_ACK\020\000\022\023\n\017RI" + "B_AND_FIB_ACK\020\001\022\025\n\021RIB_FIB_INUSE_ACK\020\002*{" + "\n\rSLAFFibStatus\022\022\n\016SL_FIB_UNKNOWN\020\000\022\022\n\016S" + "L_FIB_SUCCESS\020\001\022\021\n\rSL_FIB_FAILED\020\002\022\025\n\021SL" + "_FIB_INELIGIBLE\020\003\022\030\n\024SL_FIB_INUSE_SUCCES" + "S\020\004*\242\001\n\016SLRspACKPermit\022\034\n\030SL_PERMIT_FIB_" + "STATUS_ALL\020\000\022\031\n\025SL_PERMIT_FIB_SUCCESS\020\001\022" + "\030\n\024SL_PERMIT_FIB_FAILED\020\002\022\034\n\030SL_PERMIT_F" + "IB_INELIGIBLE\020\003\022\037\n\033SL_PERMIT_FIB_INUSE_S" + "UCCESS\020\004*e\n\017SLRspAckCadence\022\025\n\021SL_RSP_CO" + "NTINUOUS\020\000\022\024\n\020SL_RSP_JUST_ONCE\020\001\022\024\n\020SL_R" + "SP_ONCE_EACH\020\002\022\017\n\013SL_RSP_NONE\020\003BQZOgithu" + "b.com/Cisco-service-layer/service-layer-" + "objmodel/grpc/protos;service_layerb\006prot" + "o3" ; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5fcommon_5ftypes_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5fcommon_5ftypes_2eproto = { - false, false, 12610, descriptor_table_protodef_sl_5fcommon_5ftypes_2eproto, "sl_common_types.proto", + false, false, 12642, descriptor_table_protodef_sl_5fcommon_5ftypes_2eproto, "sl_common_types.proto", &descriptor_table_sl_5fcommon_5ftypes_2eproto_once, nullptr, 0, 5, schemas, file_default_instances, TableStruct_sl_5fcommon_5ftypes_2eproto::offsets, file_level_metadata_sl_5fcommon_5ftypes_2eproto, file_level_enum_descriptors_sl_5fcommon_5ftypes_2eproto, file_level_service_descriptors_sl_5fcommon_5ftypes_2eproto, @@ -764,10 +765,6 @@ bool SLErrorStatus_SLErrno_IsValid(int value) { case 94208: case 94209: case 94210: - case 94211: - case 94212: - case 94213: - case 94214: case 98304: case 98305: case 98306: @@ -806,6 +803,7 @@ bool SLErrorStatus_SLErrno_IsValid(int value) { case 98339: case 98340: case 98341: + case 98342: case 102400: case 102401: case 102402: @@ -1098,13 +1096,9 @@ constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_NEXT_HOP_INVALID_NEXT_HOP_ADDR constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_NEXT_HOP_INVALID_PREFIX_SZ; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_NEXT_HOP_RIB_ADD_FAILED; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ROUTE_REDIST_RIB_ADD_FAILED; -constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_FIB_START_OFFSET; -constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_FIB_SUCCESS; -constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_FIB_FAILED; -constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_FIB_INELIGIBLE; -constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_FIB_INUSE_SUCCESS; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ACK_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ACK_PERMIT_NOT_SUPPORTED; -constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_INVALID_ACKTYPE; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ACK_INVALID_TYPE; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_ADD_ERR; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_EXISTS_ERR; @@ -1143,6 +1137,7 @@ constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_MAX_INTF_LIMIT_REACHED; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_RULE_DELETE_NO_RULES; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_APPLY_NO_INTFS; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_UNAPPLY_NO_INTFS; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_POLICY_REPLACE_ERR; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_BGPLS_TOPO_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_BGPLS_SERVER_NOT_AVAILABLE; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_BGPLS_MAX_MATCH_FILTER_EXCEEDED; @@ -1263,10 +1258,27 @@ bool SLRspACKType_IsValid(int value) { } } -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLRspACKPermit_descriptor() { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLAFFibStatus_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sl_5fcommon_5ftypes_2eproto); return file_level_enum_descriptors_sl_5fcommon_5ftypes_2eproto[8]; } +bool SLAFFibStatus_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + case 4: + return true; + default: + return false; + } +} + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLRspACKPermit_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sl_5fcommon_5ftypes_2eproto); + return file_level_enum_descriptors_sl_5fcommon_5ftypes_2eproto[9]; +} bool SLRspACKPermit_IsValid(int value) { switch (value) { case 0: @@ -1274,7 +1286,6 @@ bool SLRspACKPermit_IsValid(int value) { case 2: case 3: case 4: - case 5: return true; default: return false; @@ -1283,7 +1294,7 @@ bool SLRspACKPermit_IsValid(int value) { const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLRspAckCadence_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sl_5fcommon_5ftypes_2eproto); - return file_level_enum_descriptors_sl_5fcommon_5ftypes_2eproto[9]; + return file_level_enum_descriptors_sl_5fcommon_5ftypes_2eproto[10]; } bool SLRspAckCadence_IsValid(int value) { switch (value) { diff --git a/grpc/cpp/src/gencpp/sl_common_types.pb.h b/grpc/cpp/src/gencpp/sl_common_types.pb.h index c01414e..dc0f355 100644 --- a/grpc/cpp/src/gencpp/sl_common_types.pb.h +++ b/grpc/cpp/src/gencpp/sl_common_types.pb.h @@ -361,13 +361,9 @@ enum SLErrorStatus_SLErrno : int { SLErrorStatus_SLErrno_SL_NEXT_HOP_INVALID_PREFIX_SZ = 90118, SLErrorStatus_SLErrno_SL_NEXT_HOP_RIB_ADD_FAILED = 90119, SLErrorStatus_SLErrno_SL_ROUTE_REDIST_RIB_ADD_FAILED = 90120, - SLErrorStatus_SLErrno_SL_FIB_START_OFFSET = 94208, - SLErrorStatus_SLErrno_SL_FIB_SUCCESS = 94209, - SLErrorStatus_SLErrno_SL_FIB_FAILED = 94210, - SLErrorStatus_SLErrno_SL_FIB_INELIGIBLE = 94211, - SLErrorStatus_SLErrno_SL_FIB_INUSE_SUCCESS = 94212, - SLErrorStatus_SLErrno_SL_ACK_PERMIT_NOT_SUPPORTED = 94213, - SLErrorStatus_SLErrno_SL_INVALID_ACKTYPE = 94214, + SLErrorStatus_SLErrno_SL_ACK_START_OFFSET = 94208, + SLErrorStatus_SLErrno_SL_ACK_PERMIT_NOT_SUPPORTED = 94209, + SLErrorStatus_SLErrno_SL_ACK_INVALID_TYPE = 94210, SLErrorStatus_SLErrno_SL_POLICY_START_OFFSET = 98304, SLErrorStatus_SLErrno_SL_POLICY_ADD_ERR = 98305, SLErrorStatus_SLErrno_SL_POLICY_EXISTS_ERR = 98306, @@ -406,6 +402,7 @@ enum SLErrorStatus_SLErrno : int { SLErrorStatus_SLErrno_SL_POLICY_RULE_DELETE_NO_RULES = 98339, SLErrorStatus_SLErrno_SL_POLICY_APPLY_NO_INTFS = 98340, SLErrorStatus_SLErrno_SL_POLICY_UNAPPLY_NO_INTFS = 98341, + SLErrorStatus_SLErrno_SL_POLICY_REPLACE_ERR = 98342, SLErrorStatus_SLErrno_SL_BGPLS_TOPO_START_OFFSET = 102400, SLErrorStatus_SLErrno_SL_BGPLS_SERVER_NOT_AVAILABLE = 102401, SLErrorStatus_SLErrno_SL_BGPLS_MAX_MATCH_FILTER_EXCEEDED = 102402, @@ -621,19 +618,46 @@ inline bool SLRspACKType_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( SLRspACKType_descriptor(), name, value); } +enum SLAFFibStatus : int { + SL_FIB_UNKNOWN = 0, + SL_FIB_SUCCESS = 1, + SL_FIB_FAILED = 2, + SL_FIB_INELIGIBLE = 3, + SL_FIB_INUSE_SUCCESS = 4, + SLAFFibStatus_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + SLAFFibStatus_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool SLAFFibStatus_IsValid(int value); +constexpr SLAFFibStatus SLAFFibStatus_MIN = SL_FIB_UNKNOWN; +constexpr SLAFFibStatus SLAFFibStatus_MAX = SL_FIB_INUSE_SUCCESS; +constexpr int SLAFFibStatus_ARRAYSIZE = SLAFFibStatus_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLAFFibStatus_descriptor(); +template +inline const std::string& SLAFFibStatus_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function SLAFFibStatus_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + SLAFFibStatus_descriptor(), enum_t_value); +} +inline bool SLAFFibStatus_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SLAFFibStatus* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + SLAFFibStatus_descriptor(), name, value); +} enum SLRspACKPermit : int { - SL_PERMIT_ALL = 0, - SL_PERMIT_SL_SUCCESS = 1, - SL_PERMIT_SL_FIB_SUCCESS = 2, - SL_PERMIT_SL_FIB_FAILED = 3, - SL_PERMIT_SL_FIB_INELIGIBLE = 4, - SL_PERMIT_SL_FIB_INUSE_SUCCESS = 5, + SL_PERMIT_FIB_STATUS_ALL = 0, + SL_PERMIT_FIB_SUCCESS = 1, + SL_PERMIT_FIB_FAILED = 2, + SL_PERMIT_FIB_INELIGIBLE = 3, + SL_PERMIT_FIB_INUSE_SUCCESS = 4, SLRspACKPermit_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), SLRspACKPermit_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; bool SLRspACKPermit_IsValid(int value); -constexpr SLRspACKPermit SLRspACKPermit_MIN = SL_PERMIT_ALL; -constexpr SLRspACKPermit SLRspACKPermit_MAX = SL_PERMIT_SL_FIB_INUSE_SUCCESS; +constexpr SLRspACKPermit SLRspACKPermit_MIN = SL_PERMIT_FIB_STATUS_ALL; +constexpr SLRspACKPermit SLRspACKPermit_MAX = SL_PERMIT_FIB_INUSE_SUCCESS; constexpr int SLRspACKPermit_ARRAYSIZE = SLRspACKPermit_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLRspACKPermit_descriptor(); @@ -1359,20 +1383,12 @@ class SLErrorStatus final : SLErrorStatus_SLErrno_SL_NEXT_HOP_RIB_ADD_FAILED; static constexpr SLErrno SL_ROUTE_REDIST_RIB_ADD_FAILED = SLErrorStatus_SLErrno_SL_ROUTE_REDIST_RIB_ADD_FAILED; - static constexpr SLErrno SL_FIB_START_OFFSET = - SLErrorStatus_SLErrno_SL_FIB_START_OFFSET; - static constexpr SLErrno SL_FIB_SUCCESS = - SLErrorStatus_SLErrno_SL_FIB_SUCCESS; - static constexpr SLErrno SL_FIB_FAILED = - SLErrorStatus_SLErrno_SL_FIB_FAILED; - static constexpr SLErrno SL_FIB_INELIGIBLE = - SLErrorStatus_SLErrno_SL_FIB_INELIGIBLE; - static constexpr SLErrno SL_FIB_INUSE_SUCCESS = - SLErrorStatus_SLErrno_SL_FIB_INUSE_SUCCESS; + static constexpr SLErrno SL_ACK_START_OFFSET = + SLErrorStatus_SLErrno_SL_ACK_START_OFFSET; static constexpr SLErrno SL_ACK_PERMIT_NOT_SUPPORTED = SLErrorStatus_SLErrno_SL_ACK_PERMIT_NOT_SUPPORTED; - static constexpr SLErrno SL_INVALID_ACKTYPE = - SLErrorStatus_SLErrno_SL_INVALID_ACKTYPE; + static constexpr SLErrno SL_ACK_INVALID_TYPE = + SLErrorStatus_SLErrno_SL_ACK_INVALID_TYPE; static constexpr SLErrno SL_POLICY_START_OFFSET = SLErrorStatus_SLErrno_SL_POLICY_START_OFFSET; static constexpr SLErrno SL_POLICY_ADD_ERR = @@ -1449,6 +1465,8 @@ class SLErrorStatus final : SLErrorStatus_SLErrno_SL_POLICY_APPLY_NO_INTFS; static constexpr SLErrno SL_POLICY_UNAPPLY_NO_INTFS = SLErrorStatus_SLErrno_SL_POLICY_UNAPPLY_NO_INTFS; + static constexpr SLErrno SL_POLICY_REPLACE_ERR = + SLErrorStatus_SLErrno_SL_POLICY_REPLACE_ERR; static constexpr SLErrno SL_BGPLS_TOPO_START_OFFSET = SLErrorStatus_SLErrno_SL_BGPLS_TOPO_START_OFFSET; static constexpr SLErrno SL_BGPLS_SERVER_NOT_AVAILABLE = @@ -2825,6 +2843,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::service_layer::SLRspACKType>() { return ::service_layer::SLRspACKType_descriptor(); } +template <> struct is_proto_enum< ::service_layer::SLAFFibStatus> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::service_layer::SLAFFibStatus>() { + return ::service_layer::SLAFFibStatus_descriptor(); +} template <> struct is_proto_enum< ::service_layer::SLRspACKPermit> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::service_layer::SLRspACKPermit>() { diff --git a/grpc/cpp/src/gencpp/sl_policy.grpc.pb.h b/grpc/cpp/src/gencpp/sl_policy.grpc.pb.h index 4ad8f05..0c550b8 100644 --- a/grpc/cpp/src/gencpp/sl_policy.grpc.pb.h +++ b/grpc/cpp/src/gencpp/sl_policy.grpc.pb.h @@ -4,8 +4,8 @@ // Original file comments: // @file // @brief Client RPC proto file for Policy RPCs. -// Declares calls for adding, deleting, updating the policies -// and apply, unapply policies from interfaces. +// Declares RPC calls for adding, replacing, deleting policies, +// and applying/un-applying these policies on interfaces. // // ---------------------------------------------------------------- // Copyright (c) 2024-2025 by Cisco Systems, Inc. @@ -42,9 +42,12 @@ namespace service_layer { // @defgroup SLPolicy // @ingroup Policy -// Used for policy creation and deletion, add and delete rules from policy, -// apply and un-apply policy from interfaces. -// Defines the RPC for operations on policy, interface and get requests. +// Used for: +// - Policy creation, replacement, and deletion +// - Rule addition, and deletion from Policy +// - Apply and Un-apply Policy from Interfaces +// +// Defines the RPC for operations on Policy, Interface and get requests. // @{ class SLPolicy final { public: @@ -95,6 +98,41 @@ class SLPolicy final { // affected. // // + // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_REPLACE + // Replace an existing Policy Object with the incoming Policy Object. + // Add a new Policy Object if it does not exist in the server. + // As part of Replace, + // - Rule Objects specified in the incoming Policy Object that do not + // exist in the server's Policy Object will be created. + // - Rule Objects that do not change (idempotent) are not impacted. + // - If the server's Policy Object contains a Rule Object that is being + // modified in the incoming request, the existing Rule Object in the + // server will be modified. + // - Rule Objects that exist in the server's Policy Object and are not + // specified in the incoming Policy Object will be deleted. + // + // Example, + // P{r1, r2, r3} + POLICY_REPLACE(P{r1*, r3, r4}) -> P{r1*, r3, r4} + // i.e., for an existing Policy P{r1, r2, r3} on server side, + // perform POLICY_REPLACE(P{r1*, r3, r4}) where r1* denotes a modified + // Rule Object, r3 is idempotent (i.e., matches, action, priority are + // exactly same) with the server Rule Object. + // The final Policy Object in the server will be: P{r1*, r3, r4} + // Note: No change to r3 since it is idempotent. No traffic impact for + // such rule(s). + // + // Response for the operation will contain a status for each Rule Object + // within the Policy (including for existing Rule Objects that would + // be deleted if not specified in the request). + // + // The order of Rule Objects in the request does not matter i.e., + // POLICY_REPLACE(P{r1*, r3, r4}) and POLICY_REPLACE(P{r4, r3, r1*}) + // will have same behavior. + // + // Note: SL-Policy RPC operations are best-effort. Failure in individual + // Rule Objects does not revert other successfully processed Rule Objects + // in the REPLACE request. + // // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_DELETE // Delete the policy object. The object's key is enough to delete the // object. Other attributes if present are ignored. Delete of a non- @@ -123,12 +161,14 @@ class SLPolicy final { // and the interface where it needs to be applied will be verified // and used. Other attributes are ignored. // + // // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_UNAPPLY // Unapply the policy on an interface. Only the policy object key // and the interface where it needs to be removed from will be // verified and used, other attributes are ignored. // // + // // The device can be programmed by only one active instance of // this RPC. // @@ -207,6 +247,41 @@ class SLPolicy final { // affected. // // + // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_REPLACE + // Replace an existing Policy Object with the incoming Policy Object. + // Add a new Policy Object if it does not exist in the server. + // As part of Replace, + // - Rule Objects specified in the incoming Policy Object that do not + // exist in the server's Policy Object will be created. + // - Rule Objects that do not change (idempotent) are not impacted. + // - If the server's Policy Object contains a Rule Object that is being + // modified in the incoming request, the existing Rule Object in the + // server will be modified. + // - Rule Objects that exist in the server's Policy Object and are not + // specified in the incoming Policy Object will be deleted. + // + // Example, + // P{r1, r2, r3} + POLICY_REPLACE(P{r1*, r3, r4}) -> P{r1*, r3, r4} + // i.e., for an existing Policy P{r1, r2, r3} on server side, + // perform POLICY_REPLACE(P{r1*, r3, r4}) where r1* denotes a modified + // Rule Object, r3 is idempotent (i.e., matches, action, priority are + // exactly same) with the server Rule Object. + // The final Policy Object in the server will be: P{r1*, r3, r4} + // Note: No change to r3 since it is idempotent. No traffic impact for + // such rule(s). + // + // Response for the operation will contain a status for each Rule Object + // within the Policy (including for existing Rule Objects that would + // be deleted if not specified in the request). + // + // The order of Rule Objects in the request does not matter i.e., + // POLICY_REPLACE(P{r1*, r3, r4}) and POLICY_REPLACE(P{r4, r3, r1*}) + // will have same behavior. + // + // Note: SL-Policy RPC operations are best-effort. Failure in individual + // Rule Objects does not revert other successfully processed Rule Objects + // in the REPLACE request. + // // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_DELETE // Delete the policy object. The object's key is enough to delete the // object. Other attributes if present are ignored. Delete of a non- @@ -235,12 +310,14 @@ class SLPolicy final { // and the interface where it needs to be applied will be verified // and used. Other attributes are ignored. // + // // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_UNAPPLY // Unapply the policy on an interface. Only the policy object key // and the interface where it needs to be removed from will be // verified and used, other attributes are ignored. // // + // // The device can be programmed by only one active instance of // this RPC. // @@ -373,6 +450,41 @@ class SLPolicy final { // affected. // // + // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_REPLACE + // Replace an existing Policy Object with the incoming Policy Object. + // Add a new Policy Object if it does not exist in the server. + // As part of Replace, + // - Rule Objects specified in the incoming Policy Object that do not + // exist in the server's Policy Object will be created. + // - Rule Objects that do not change (idempotent) are not impacted. + // - If the server's Policy Object contains a Rule Object that is being + // modified in the incoming request, the existing Rule Object in the + // server will be modified. + // - Rule Objects that exist in the server's Policy Object and are not + // specified in the incoming Policy Object will be deleted. + // + // Example, + // P{r1, r2, r3} + POLICY_REPLACE(P{r1*, r3, r4}) -> P{r1*, r3, r4} + // i.e., for an existing Policy P{r1, r2, r3} on server side, + // perform POLICY_REPLACE(P{r1*, r3, r4}) where r1* denotes a modified + // Rule Object, r3 is idempotent (i.e., matches, action, priority are + // exactly same) with the server Rule Object. + // The final Policy Object in the server will be: P{r1*, r3, r4} + // Note: No change to r3 since it is idempotent. No traffic impact for + // such rule(s). + // + // Response for the operation will contain a status for each Rule Object + // within the Policy (including for existing Rule Objects that would + // be deleted if not specified in the request). + // + // The order of Rule Objects in the request does not matter i.e., + // POLICY_REPLACE(P{r1*, r3, r4}) and POLICY_REPLACE(P{r4, r3, r1*}) + // will have same behavior. + // + // Note: SL-Policy RPC operations are best-effort. Failure in individual + // Rule Objects does not revert other successfully processed Rule Objects + // in the REPLACE request. + // // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_DELETE // Delete the policy object. The object's key is enough to delete the // object. Other attributes if present are ignored. Delete of a non- @@ -401,12 +513,14 @@ class SLPolicy final { // and the interface where it needs to be applied will be verified // and used. Other attributes are ignored. // + // // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_UNAPPLY // Unapply the policy on an interface. Only the policy object key // and the interface where it needs to be removed from will be // verified and used, other attributes are ignored. // // + // // The device can be programmed by only one active instance of // this RPC. // diff --git a/grpc/cpp/src/gencpp/sl_policy.pb.cc b/grpc/cpp/src/gencpp/sl_policy.pb.cc index b443293..672691c 100644 --- a/grpc/cpp/src/gencpp/sl_policy.pb.cc +++ b/grpc/cpp/src/gencpp/sl_policy.pb.cc @@ -570,32 +570,32 @@ const char descriptor_table_protodef_sl_5fpolicy_2eproto[] PROTOBUF_SECTION_VARI "fo\"\026\n\024SLPolicyGlobalGetMsg\"q\n\027SLPolicyGl" "obalGetMsgRsp\022/\n\tErrStatus\030\001 \001(\0132\034.servi" "ce_layer.SLErrorStatus\022\023\n\013MaxPolicies\030\002 " - "\001(\r\022\020\n\010MaxRules\030\003 \001(\r*\316\001\n\020SLPolicyObject" + "\001(\r\022\020\n\010MaxRules\030\003 \001(\r*\353\001\n\020SLPolicyObject" "Op\022\034\n\030SL_OBJOP_POLICY_RESERVED\020\000\022\027\n\023SL_O" "BJOP_POLICY_ADD\020\001\022\032\n\026SL_OBJOP_POLICY_DEL" "ETE\020\002\022\025\n\021SL_OBJOP_RULE_ADD\020\003\022\030\n\024SL_OBJOP" "_RULE_DELETE\020\004\022\031\n\025SL_OBJOP_POLICY_APPLY\020" - "\005\022\033\n\027SL_OBJOP_POLICY_UNAPPLY\020\006*=\n\014SLPoli" - "cyType\022\030\n\024SL_PM_PTYPE_RESERVED\020\000\022\023\n\017SL_P" - "M_PTYPE_PBR\020\001*N\n\020SLApplyDirection\022\032\n\026SL_" - "APPLY_TYPE_RESERVED\020\000\022\036\n\032SL_APPLY_DIRECT" - "ION_INGRESS\020\0012\210\002\n\010SLPolicy\022H\n\nSLPolicyOp" - "\022\034.service_layer.SLPolicyOpMsg\032\034.service" - "_layer.SLPolicyOpRsp\022P\n\013SLPolicyGet\022\035.se" - "rvice_layer.SLPolicyGetMsg\032 .service_lay" - "er.SLPolicyGetMsgRsp0\001\022`\n\021SLPolicyGlobal" - "Get\022#.service_layer.SLPolicyGlobalGetMsg" - "\032&.service_layer.SLPolicyGlobalGetMsgRsp" - "BQZOgithub.com/Cisco-service-layer/servi" - "ce-layer-objmodel/grpc/protos;service_la" - "yerb\006proto3" + "\005\022\033\n\027SL_OBJOP_POLICY_UNAPPLY\020\006\022\033\n\027SL_OBJ" + "OP_POLICY_REPLACE\020\007*=\n\014SLPolicyType\022\030\n\024S" + "L_PM_PTYPE_RESERVED\020\000\022\023\n\017SL_PM_PTYPE_PBR" + "\020\001*N\n\020SLApplyDirection\022\032\n\026SL_APPLY_TYPE_" + "RESERVED\020\000\022\036\n\032SL_APPLY_DIRECTION_INGRESS" + "\020\0012\210\002\n\010SLPolicy\022H\n\nSLPolicyOp\022\034.service_" + "layer.SLPolicyOpMsg\032\034.service_layer.SLPo" + "licyOpRsp\022P\n\013SLPolicyGet\022\035.service_layer" + ".SLPolicyGetMsg\032 .service_layer.SLPolicy" + "GetMsgRsp0\001\022`\n\021SLPolicyGlobalGet\022#.servi" + "ce_layer.SLPolicyGlobalGetMsg\032&.service_" + "layer.SLPolicyGlobalGetMsgRspBQZOgithub." + "com/Cisco-service-layer/service-layer-ob" + "jmodel/grpc/protos;service_layerb\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5fpolicy_2eproto_deps[1] = { &::descriptor_table_sl_5fcommon_5ftypes_2eproto, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5fpolicy_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5fpolicy_2eproto = { - false, false, 2931, descriptor_table_protodef_sl_5fpolicy_2eproto, "sl_policy.proto", + false, false, 2960, descriptor_table_protodef_sl_5fpolicy_2eproto, "sl_policy.proto", &descriptor_table_sl_5fpolicy_2eproto_once, descriptor_table_sl_5fpolicy_2eproto_deps, 1, 21, schemas, file_default_instances, TableStruct_sl_5fpolicy_2eproto::offsets, file_level_metadata_sl_5fpolicy_2eproto, file_level_enum_descriptors_sl_5fpolicy_2eproto, file_level_service_descriptors_sl_5fpolicy_2eproto, @@ -620,6 +620,7 @@ bool SLPolicyObjectOp_IsValid(int value) { case 4: case 5: case 6: + case 7: return true; default: return false; diff --git a/grpc/cpp/src/gencpp/sl_policy.pb.h b/grpc/cpp/src/gencpp/sl_policy.pb.h index 4df70ac..828ab58 100644 --- a/grpc/cpp/src/gencpp/sl_policy.pb.h +++ b/grpc/cpp/src/gencpp/sl_policy.pb.h @@ -154,12 +154,13 @@ enum SLPolicyObjectOp : int { SL_OBJOP_RULE_DELETE = 4, SL_OBJOP_POLICY_APPLY = 5, SL_OBJOP_POLICY_UNAPPLY = 6, + SL_OBJOP_POLICY_REPLACE = 7, SLPolicyObjectOp_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), SLPolicyObjectOp_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; bool SLPolicyObjectOp_IsValid(int value); constexpr SLPolicyObjectOp SLPolicyObjectOp_MIN = SL_OBJOP_POLICY_RESERVED; -constexpr SLPolicyObjectOp SLPolicyObjectOp_MAX = SL_OBJOP_POLICY_UNAPPLY; +constexpr SLPolicyObjectOp SLPolicyObjectOp_MAX = SL_OBJOP_POLICY_REPLACE; constexpr int SLPolicyObjectOp_ARRAYSIZE = SLPolicyObjectOp_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLPolicyObjectOp_descriptor(); diff --git a/grpc/cpp/src/gencpp/sl_route_common.pb.cc b/grpc/cpp/src/gencpp/sl_route_common.pb.cc index fedb046..a2b4bcd 100644 --- a/grpc/cpp/src/gencpp/sl_route_common.pb.cc +++ b/grpc/cpp/src/gencpp/sl_route_common.pb.cc @@ -233,26 +233,15 @@ struct SLVrfNotifDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLVrfNotifDefaultTypeInternal _SLVrfNotif_default_instance_; -constexpr SLRouteGetMatch::SLRouteGetMatch( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : _oneof_case_{}{} -struct SLRouteGetMatchDefaultTypeInternal { - constexpr SLRouteGetMatchDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLRouteGetMatchDefaultTypeInternal() {} - union { - SLRouteGetMatch _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLRouteGetMatchDefaultTypeInternal _SLRouteGetMatch_default_instance_; constexpr SLRouteCommon::SLRouteCommon( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : srcproto_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + : routeflags_() + , _routeflags_cached_byte_size_(0) + , srcproto_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , srcprototag_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , admindistance_(0u) , locallabel_(0u) - , tag_(0u) - , flags_(0u){} + , tag_(0u){} struct SLRouteCommonDefaultTypeInternal { constexpr SLRouteCommonDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -285,6 +274,8 @@ constexpr SLRoutePath::SLRoutePath( , labelstack_() , _labelstack_cached_byte_size_(0) , remoteaddress_() + , pathflags_() + , _pathflags_cached_byte_size_(0) , vrfname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , vteproutermacaddress_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , nexthopaddress_(nullptr) @@ -295,7 +286,7 @@ constexpr SLRoutePath::SLRoutePath( , pathid_(0u) , encaptype_(0) - , flags_(0u){} + , _oneof_case_{}{} struct SLRoutePathDefaultTypeInternal { constexpr SLRoutePathDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -305,6 +296,19 @@ struct SLRoutePathDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLRoutePathDefaultTypeInternal _SLRoutePath_default_instance_; +constexpr SLRoutePrefix::SLRoutePrefix( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : prefix_(nullptr) + , prefixlen_(0u){} +struct SLRoutePrefixDefaultTypeInternal { + constexpr SLRoutePrefixDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLRoutePrefixDefaultTypeInternal() {} + union { + SLRoutePrefix _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLRoutePrefixDefaultTypeInternal _SLRoutePrefix_default_instance_; } // namespace service_layer static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5froute_5fcommon_2eproto[20]; static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_sl_5froute_5fcommon_2eproto[3]; @@ -445,15 +449,6 @@ const uint32_t TableStruct_sl_5froute_5fcommon_2eproto::offsets[] PROTOBUF_SECTI PROTOBUF_FIELD_OFFSET(::service_layer::SLVrfNotif, vrfname_), PROTOBUF_FIELD_OFFSET(::service_layer::SLVrfNotif, status_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteGetMatch, _internal_metadata_), - ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteGetMatch, _oneof_case_[0]), - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteGetMatch, entry_), - ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteCommon, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -464,7 +459,7 @@ const uint32_t TableStruct_sl_5froute_5fcommon_2eproto::offsets[] PROTOBUF_SECTI PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteCommon, tag_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteCommon, srcproto_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteCommon, srcprototag_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteCommon, flags_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLRouteCommon, routeflags_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLVxLANPath, _internal_metadata_), ~0u, // no _extensions_ @@ -479,7 +474,7 @@ const uint32_t TableStruct_sl_5froute_5fcommon_2eproto::offsets[] PROTOBUF_SECTI ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, _internal_metadata_), ~0u, // no _extensions_ - ~0u, // no _oneof_case_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, _oneof_case_[0]), ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, nexthopaddress_), @@ -494,7 +489,17 @@ const uint32_t TableStruct_sl_5froute_5fcommon_2eproto::offsets[] PROTOBUF_SECTI PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, encaptype_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, vteproutermacaddress_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, vxlanpath_), - PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, flags_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, pathflags_), + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, entry_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePrefix, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePrefix, prefix_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePrefix, prefixlen_), }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::service_layer::SLRouteGlobalsGetMsg)}, @@ -513,10 +518,10 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 109, -1, -1, sizeof(::service_layer::SLRouteNotifStatus)}, { 118, -1, -1, sizeof(::service_layer::SLRouteNotifMarker)}, { 125, -1, -1, sizeof(::service_layer::SLVrfNotif)}, - { 133, -1, -1, sizeof(::service_layer::SLRouteGetMatch)}, - { 142, -1, -1, sizeof(::service_layer::SLRouteCommon)}, - { 154, -1, -1, sizeof(::service_layer::SLVxLANPath)}, - { 165, -1, -1, sizeof(::service_layer::SLRoutePath)}, + { 133, -1, -1, sizeof(::service_layer::SLRouteCommon)}, + { 145, -1, -1, sizeof(::service_layer::SLVxLANPath)}, + { 156, -1, -1, sizeof(::service_layer::SLRoutePath)}, + { 177, -1, -1, sizeof(::service_layer::SLRoutePrefix)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -536,10 +541,10 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::service_layer::_SLRouteNotifStatus_default_instance_), reinterpret_cast(&::service_layer::_SLRouteNotifMarker_default_instance_), reinterpret_cast(&::service_layer::_SLVrfNotif_default_instance_), - reinterpret_cast(&::service_layer::_SLRouteGetMatch_default_instance_), reinterpret_cast(&::service_layer::_SLRouteCommon_default_instance_), reinterpret_cast(&::service_layer::_SLVxLANPath_default_instance_), reinterpret_cast(&::service_layer::_SLRoutePath_default_instance_), + reinterpret_cast(&::service_layer::_SLRoutePrefix_default_instance_), }; const char descriptor_table_protodef_sl_5froute_5fcommon_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = @@ -580,49 +585,53 @@ const char descriptor_table_protodef_sl_5froute_5fcommon_2eproto[] PROTOBUF_SECT "tatus\030\003 \001(\0132\034.service_layer.SLErrorStatu" "s\"%\n\022SLRouteNotifMarker\022\017\n\007VrfName\030\001 \001(\t" "\"H\n\nSLVrfNotif\022\017\n\007VrfName\030\001 \001(\t\022)\n\006Statu" - "s\030\002 \001(\0162\031.service_layer.SLObjectOp\"J\n\017SL" - "RouteGetMatch\022\030\n\016PathGroupRegex\030\001 \001(\tH\000\022" - "\024\n\nVxlanVniId\030\002 \001(\rH\000B\007\n\005entry\"}\n\rSLRout" - "eCommon\022\025\n\rAdminDistance\030\001 \001(\r\022\022\n\nLocalL" - "abel\030\002 \001(\r\022\013\n\003Tag\030\003 \001(\r\022\020\n\010SrcProto\030\004 \001(" - "\t\022\023\n\013SrcProtoTag\030\005 \001(\t\022\r\n\005Flags\030\006 \001(\r\"\261\001" - "\n\013SLVxLANPath\022\013\n\003VNI\030\001 \001(\r\022\030\n\020SourceMacA" - "ddress\030\002 \001(\014\022\026\n\016DestMacAddress\030\003 \001(\014\0220\n\014" - "SrcIpAddress\030\004 \001(\0132\032.service_layer.SLIpA" - "ddress\0221\n\rDestIpAddress\030\005 \001(\0132\032.service_" - "layer.SLIpAddress\"\253\003\n\013SLRoutePath\0222\n\016Nex" - "thopAddress\030\001 \001(\0132\032.service_layer.SLIpAd" - "dress\0224\n\020NexthopInterface\030\002 \001(\0132\032.servic" - "e_layer.SLInterface\022\022\n\nLoadMetric\030\003 \001(\r\022" - "\017\n\007VrfName\030\004 \001(\t\022\016\n\006Metric\030\005 \001(\r\022\016\n\006Path" - "Id\030\006 \001(\r\022\033\n\023ProtectedPathBitmap\030\007 \003(\004\022\022\n" - "\nLabelStack\030\010 \003(\r\0221\n\rRemoteAddress\030\t \003(\013" - "2\032.service_layer.SLIpAddress\022-\n\tEncapTyp" - "e\030\n \001(\0162\032.service_layer.SLEncapType\022\034\n\024V" - "tepRouterMacAddress\030\013 \001(\014\022-\n\tVxLANPath\030\014" - " \001(\0132\032.service_layer.SLVxLANPath\022\r\n\005Flag" - "s\030\r \001(\r*\312\001\n\013SLNotifType\022\032\n\026SL_EVENT_TYPE" - "_RESERVED\020\000\022\027\n\023SL_EVENT_TYPE_ERROR\020\001\022\030\n\024" - "SL_EVENT_TYPE_STATUS\020\002\022\027\n\023SL_EVENT_TYPE_" - "ROUTE\020\003\022\036\n\032SL_EVENT_TYPE_START_MARKER\020\004\022" - "\034\n\030SL_EVENT_TYPE_END_MARKER\020\005\022\025\n\021SL_EVEN" - "T_TYPE_VRF\020\006*\302\001\n\014SLRouteFlags\022\032\n\026SL_ROUT" - "E_FLAG_RESERVED\020\000\022!\n\035SL_ROUTE_FLAG_PREFE" - "R_OVER_LDP\020\001\022%\n!SL_ROUTE_FLAG_DISABLE_LA" - "BEL_MERGE\020\002\022#\n\037SL_ROUTE_FLAG_VIABLE_PATH" - "S_ONLY\020\004\022\'\n#SL_ROUTE_FLAG_ACTIVE_ON_VIAB" - "LE_PATH\020\010*J\n\013SLPathFlags\022\031\n\025SL_PATH_FLAG" - "_RESERVED\020\000\022 \n\034SL_PATH_FLAG_SINGLE_PATH_" - "OPT\020\001BQZOgithub.com/Cisco-service-layer/" - "service-layer-objmodel/grpc/protos;servi" - "ce_layerb\006proto3" + "s\030\002 \001(\0162\031.service_layer.SLObjectOp\"\254\001\n\rS" + "LRouteCommon\022\025\n\rAdminDistance\030\001 \001(\r\022\022\n\nL" + "ocalLabel\030\002 \001(\r\022\013\n\003Tag\030\003 \001(\r\022\020\n\010SrcProto" + "\030\004 \001(\t\022\023\n\013SrcProtoTag\030\005 \001(\t\022/\n\nRouteFlag" + "s\030\007 \003(\0162\033.service_layer.SLRouteFlagsJ\004\010\006" + "\020\007R\005Flags\"\261\001\n\013SLVxLANPath\022\013\n\003VNI\030\001 \001(\r\022\030" + "\n\020SourceMacAddress\030\002 \001(\014\022\026\n\016DestMacAddre" + "ss\030\003 \001(\014\0220\n\014SrcIpAddress\030\004 \001(\0132\032.service" + "_layer.SLIpAddress\0221\n\rDestIpAddress\030\005 \001(" + "\0132\032.service_layer.SLIpAddress\"\243\004\n\013SLRout" + "ePath\0222\n\016NexthopAddress\030\001 \001(\0132\032.service_" + "layer.SLIpAddress\0224\n\020NexthopInterface\030\002 " + "\001(\0132\032.service_layer.SLInterface\022\022\n\nLoadM" + "etric\030\003 \001(\r\022\017\n\007VrfName\030\004 \001(\t\022\016\n\006Metric\030\005" + " \001(\r\022\016\n\006PathId\030\006 \001(\r\022\033\n\023ProtectedPathBit" + "map\030\007 \003(\004\022\022\n\nLabelStack\030\010 \003(\r\0221\n\rRemoteA" + "ddress\030\t \003(\0132\032.service_layer.SLIpAddress" + "\0221\n\tEncapType\030\n \001(\0162\032.service_layer.SLEn" + "capTypeB\002\030\001\022 \n\024VtepRouterMacAddress\030\013 \001(" + "\014B\002\030\001\022-\n\tVxLANPath\030\014 \001(\0132\032.service_layer" + ".SLVxLANPath\022-\n\tPathFlags\030\016 \003(\0162\032.servic" + "e_layer.SLPathFlags\0228\n\014PathGroupKey\030\017 \001(" + "\0132 .service_layer.SLPathGroupRefKeyH\000B\007\n" + "\005entryJ\004\010\r\020\016R\005Flags\"N\n\rSLRoutePrefix\022*\n\006" + "Prefix\030\001 \001(\0132\032.service_layer.SLIpAddress" + "\022\021\n\tPrefixLen\030\002 \001(\r*\312\001\n\013SLNotifType\022\032\n\026S" + "L_EVENT_TYPE_RESERVED\020\000\022\027\n\023SL_EVENT_TYPE" + "_ERROR\020\001\022\030\n\024SL_EVENT_TYPE_STATUS\020\002\022\027\n\023SL" + "_EVENT_TYPE_ROUTE\020\003\022\036\n\032SL_EVENT_TYPE_STA" + "RT_MARKER\020\004\022\034\n\030SL_EVENT_TYPE_END_MARKER\020" + "\005\022\025\n\021SL_EVENT_TYPE_VRF\020\006*\302\001\n\014SLRouteFlag" + "s\022\032\n\026SL_ROUTE_FLAG_RESERVED\020\000\022!\n\035SL_ROUT" + "E_FLAG_PREFER_OVER_LDP\020\001\022%\n!SL_ROUTE_FLA" + "G_DISABLE_LABEL_MERGE\020\002\022#\n\037SL_ROUTE_FLAG" + "_VIABLE_PATHS_ONLY\020\003\022\'\n#SL_ROUTE_FLAG_AC" + "TIVE_ON_VIABLE_PATH\020\004*J\n\013SLPathFlags\022\031\n\025" + "SL_PATH_FLAG_RESERVED\020\000\022 \n\034SL_PATH_FLAG_" + "SINGLE_PATH_OPT\020\001BQZOgithub.com/Cisco-se" + "rvice-layer/service-layer-objmodel/grpc/" + "protos;service_layerb\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5froute_5fcommon_2eproto_deps[1] = { &::descriptor_table_sl_5fcommon_5ftypes_2eproto, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5froute_5fcommon_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5froute_5fcommon_2eproto = { - false, false, 2896, descriptor_table_protodef_sl_5froute_5fcommon_2eproto, "sl_route_common.proto", + false, false, 3068, descriptor_table_protodef_sl_5froute_5fcommon_2eproto, "sl_route_common.proto", &descriptor_table_sl_5froute_5fcommon_2eproto_once, descriptor_table_sl_5froute_5fcommon_2eproto_deps, 1, 20, schemas, file_default_instances, TableStruct_sl_5froute_5fcommon_2eproto::offsets, file_level_metadata_sl_5froute_5fcommon_2eproto, file_level_enum_descriptors_sl_5froute_5fcommon_2eproto, file_level_service_descriptors_sl_5froute_5fcommon_2eproto, @@ -662,8 +671,8 @@ bool SLRouteFlags_IsValid(int value) { case 0: case 1: case 2: + case 3: case 4: - case 8: return true; default: return false; @@ -4353,269 +4362,14 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLVrfNotif::GetMetadata() const { // =================================================================== -class SLRouteGetMatch::_Internal { - public: -}; - -SLRouteGetMatch::SLRouteGetMatch(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:service_layer.SLRouteGetMatch) -} -SLRouteGetMatch::SLRouteGetMatch(const SLRouteGetMatch& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - clear_has_entry(); - switch (from.entry_case()) { - case kPathGroupRegex: { - _internal_set_pathgroupregex(from._internal_pathgroupregex()); - break; - } - case kVxlanVniId: { - _internal_set_vxlanvniid(from._internal_vxlanvniid()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } - // @@protoc_insertion_point(copy_constructor:service_layer.SLRouteGetMatch) -} - -inline void SLRouteGetMatch::SharedCtor() { -clear_has_entry(); -} - -SLRouteGetMatch::~SLRouteGetMatch() { - // @@protoc_insertion_point(destructor:service_layer.SLRouteGetMatch) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void SLRouteGetMatch::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (has_entry()) { - clear_entry(); - } -} - -void SLRouteGetMatch::ArenaDtor(void* object) { - SLRouteGetMatch* _this = reinterpret_cast< SLRouteGetMatch* >(object); - (void)_this; -} -void SLRouteGetMatch::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void SLRouteGetMatch::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void SLRouteGetMatch::clear_entry() { -// @@protoc_insertion_point(one_of_clear_start:service_layer.SLRouteGetMatch) - switch (entry_case()) { - case kPathGroupRegex: { - entry_.pathgroupregex_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); - break; - } - case kVxlanVniId: { - // No need to clear - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _oneof_case_[0] = ENTRY_NOT_SET; -} - - -void SLRouteGetMatch::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLRouteGetMatch) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - clear_entry(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SLRouteGetMatch::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); - switch (tag >> 3) { - // string PathGroupRegex = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_pathgroupregex(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLRouteGetMatch.PathGroupRegex")); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // uint32 VxlanVniId = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - _internal_set_vxlanvniid(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr)); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* SLRouteGetMatch::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLRouteGetMatch) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // string PathGroupRegex = 1; - if (_internal_has_pathgroupregex()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_pathgroupregex().data(), static_cast(this->_internal_pathgroupregex().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "service_layer.SLRouteGetMatch.PathGroupRegex"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_pathgroupregex(), target); - } - - // uint32 VxlanVniId = 2; - if (_internal_has_vxlanvniid()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_vxlanvniid(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLRouteGetMatch) - return target; -} - -size_t SLRouteGetMatch::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLRouteGetMatch) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - switch (entry_case()) { - // string PathGroupRegex = 1; - case kPathGroupRegex: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_pathgroupregex()); - break; - } - // uint32 VxlanVniId = 2; - case kVxlanVniId: { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_vxlanvniid()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLRouteGetMatch::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLRouteGetMatch::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLRouteGetMatch::GetClassData() const { return &_class_data_; } - -void SLRouteGetMatch::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void SLRouteGetMatch::MergeFrom(const SLRouteGetMatch& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLRouteGetMatch) - GOOGLE_DCHECK_NE(&from, this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - switch (from.entry_case()) { - case kPathGroupRegex: { - _internal_set_pathgroupregex(from._internal_pathgroupregex()); - break; - } - case kVxlanVniId: { - _internal_set_vxlanvniid(from._internal_vxlanvniid()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SLRouteGetMatch::CopyFrom(const SLRouteGetMatch& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLRouteGetMatch) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SLRouteGetMatch::IsInitialized() const { - return true; -} - -void SLRouteGetMatch::InternalSwap(SLRouteGetMatch* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(entry_, other->entry_); - swap(_oneof_case_[0], other->_oneof_case_[0]); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SLRouteGetMatch::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_sl_5froute_5fcommon_2eproto_getter, &descriptor_table_sl_5froute_5fcommon_2eproto_once, - file_level_metadata_sl_5froute_5fcommon_2eproto[16]); -} - -// =================================================================== - class SLRouteCommon::_Internal { public: }; SLRouteCommon::SLRouteCommon(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + routeflags_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); @@ -4623,7 +4377,8 @@ SLRouteCommon::SLRouteCommon(::PROTOBUF_NAMESPACE_ID::Arena* arena, // @@protoc_insertion_point(arena_constructor:service_layer.SLRouteCommon) } SLRouteCommon::SLRouteCommon(const SLRouteCommon& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { + : ::PROTOBUF_NAMESPACE_ID::Message(), + routeflags_(from.routeflags_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); srcproto_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING @@ -4642,8 +4397,8 @@ SLRouteCommon::SLRouteCommon(const SLRouteCommon& from) GetArenaForAllocation()); } ::memcpy(&admindistance_, &from.admindistance_, - static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&admindistance_)) + sizeof(flags_)); + static_cast(reinterpret_cast(&tag_) - + reinterpret_cast(&admindistance_)) + sizeof(tag_)); // @@protoc_insertion_point(copy_constructor:service_layer.SLRouteCommon) } @@ -4658,8 +4413,8 @@ srcprototag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING ::memset(reinterpret_cast(this) + static_cast( reinterpret_cast(&admindistance_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&admindistance_)) + sizeof(flags_)); + 0, static_cast(reinterpret_cast(&tag_) - + reinterpret_cast(&admindistance_)) + sizeof(tag_)); } SLRouteCommon::~SLRouteCommon() { @@ -4691,11 +4446,12 @@ void SLRouteCommon::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + routeflags_.Clear(); srcproto_.ClearToEmpty(); srcprototag_.ClearToEmpty(); ::memset(&admindistance_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&admindistance_)) + sizeof(flags_)); + reinterpret_cast(&tag_) - + reinterpret_cast(&admindistance_)) + sizeof(tag_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -4749,11 +4505,15 @@ const char* SLRouteCommon::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ } else goto handle_unusual; continue; - // uint32 Flags = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - flags_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + // repeated .service_layer.SLRouteFlags RouteFlags = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_routeflags(), ptr, ctx); CHK_(ptr); + } else if (static_cast(tag) == 56) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_add_routeflags(static_cast<::service_layer::SLRouteFlags>(val)); } else goto handle_unusual; continue; @@ -4824,10 +4584,13 @@ uint8_t* SLRouteCommon::_InternalSerialize( 5, this->_internal_srcprototag(), target); } - // uint32 Flags = 6; - if (this->_internal_flags() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_flags(), target); + // repeated .service_layer.SLRouteFlags RouteFlags = 7; + { + int byte_size = _routeflags_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 7, routeflags_, byte_size, target); + } } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -4846,6 +4609,24 @@ size_t SLRouteCommon::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated .service_layer.SLRouteFlags RouteFlags = 7; + { + size_t data_size = 0; + unsigned int count = static_cast(this->_internal_routeflags_size());for (unsigned int i = 0; i < count; i++) { + data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize( + this->_internal_routeflags(static_cast(i))); + } + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _routeflags_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // string SrcProto = 4; if (!this->_internal_srcproto().empty()) { total_size += 1 + @@ -4875,11 +4656,6 @@ size_t SLRouteCommon::ByteSizeLong() const { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_tag()); } - // uint32 Flags = 6; - if (this->_internal_flags() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_flags()); - } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } @@ -4902,6 +4678,7 @@ void SLRouteCommon::MergeFrom(const SLRouteCommon& from) { uint32_t cached_has_bits = 0; (void) cached_has_bits; + routeflags_.MergeFrom(from.routeflags_); if (!from._internal_srcproto().empty()) { _internal_set_srcproto(from._internal_srcproto()); } @@ -4917,9 +4694,6 @@ void SLRouteCommon::MergeFrom(const SLRouteCommon& from) { if (from._internal_tag() != 0) { _internal_set_tag(from._internal_tag()); } - if (from._internal_flags() != 0) { - _internal_set_flags(from._internal_flags()); - } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -4939,6 +4713,7 @@ void SLRouteCommon::InternalSwap(SLRouteCommon* other) { auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + routeflags_.InternalSwap(&other->routeflags_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), &srcproto_, lhs_arena, @@ -4950,8 +4725,8 @@ void SLRouteCommon::InternalSwap(SLRouteCommon* other) { &other->srcprototag_, rhs_arena ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLRouteCommon, flags_) - + sizeof(SLRouteCommon::flags_) + PROTOBUF_FIELD_OFFSET(SLRouteCommon, tag_) + + sizeof(SLRouteCommon::tag_) - PROTOBUF_FIELD_OFFSET(SLRouteCommon, admindistance_)>( reinterpret_cast(&admindistance_), reinterpret_cast(&other->admindistance_)); @@ -4960,7 +4735,7 @@ void SLRouteCommon::InternalSwap(SLRouteCommon* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLRouteCommon::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5froute_5fcommon_2eproto_getter, &descriptor_table_sl_5froute_5fcommon_2eproto_once, - file_level_metadata_sl_5froute_5fcommon_2eproto[17]); + file_level_metadata_sl_5froute_5fcommon_2eproto[16]); } // =================================================================== @@ -5330,7 +5105,7 @@ void SLVxLANPath::InternalSwap(SLVxLANPath* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SLVxLANPath::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5froute_5fcommon_2eproto_getter, &descriptor_table_sl_5froute_5fcommon_2eproto_once, - file_level_metadata_sl_5froute_5fcommon_2eproto[18]); + file_level_metadata_sl_5froute_5fcommon_2eproto[17]); } // =================================================================== @@ -5340,6 +5115,7 @@ class SLRoutePath::_Internal { static const ::service_layer::SLIpAddress& nexthopaddress(const SLRoutePath* msg); static const ::service_layer::SLInterface& nexthopinterface(const SLRoutePath* msg); static const ::service_layer::SLVxLANPath& vxlanpath(const SLRoutePath* msg); + static const ::service_layer::SLPathGroupRefKey& pathgroupkey(const SLRoutePath* msg); }; const ::service_layer::SLIpAddress& @@ -5354,6 +5130,10 @@ const ::service_layer::SLVxLANPath& SLRoutePath::_Internal::vxlanpath(const SLRoutePath* msg) { return *msg->vxlanpath_; } +const ::service_layer::SLPathGroupRefKey& +SLRoutePath::_Internal::pathgroupkey(const SLRoutePath* msg) { + return *msg->entry_.pathgroupkey_; +} void SLRoutePath::clear_nexthopaddress() { if (GetArenaForAllocation() == nullptr && nexthopaddress_ != nullptr) { delete nexthopaddress_; @@ -5369,12 +5149,38 @@ void SLRoutePath::clear_nexthopinterface() { void SLRoutePath::clear_remoteaddress() { remoteaddress_.Clear(); } +void SLRoutePath::set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_entry(); + if (pathgroupkey) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupkey)); + if (message_arena != submessage_arena) { + pathgroupkey = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, pathgroupkey, submessage_arena); + } + set_has_pathgroupkey(); + entry_.pathgroupkey_ = pathgroupkey; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLRoutePath.PathGroupKey) +} +void SLRoutePath::clear_pathgroupkey() { + if (_internal_has_pathgroupkey()) { + if (GetArenaForAllocation() == nullptr) { + delete entry_.pathgroupkey_; + } + clear_has_entry(); + } +} SLRoutePath::SLRoutePath(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), protectedpathbitmap_(arena), labelstack_(arena), - remoteaddress_(arena) { + remoteaddress_(arena), + pathflags_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); @@ -5385,7 +5191,8 @@ SLRoutePath::SLRoutePath(const SLRoutePath& from) : ::PROTOBUF_NAMESPACE_ID::Message(), protectedpathbitmap_(from.protectedpathbitmap_), labelstack_(from.labelstack_), - remoteaddress_(from.remoteaddress_) { + remoteaddress_(from.remoteaddress_), + pathflags_(from.pathflags_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); vrfname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING @@ -5419,8 +5226,18 @@ SLRoutePath::SLRoutePath(const SLRoutePath& from) vxlanpath_ = nullptr; } ::memcpy(&loadmetric_, &from.loadmetric_, - static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&loadmetric_)) + sizeof(flags_)); + static_cast(reinterpret_cast(&encaptype_) - + reinterpret_cast(&loadmetric_)) + sizeof(encaptype_)); + clear_has_entry(); + switch (from.entry_case()) { + case kPathGroupKey: { + _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); + break; + } + case ENTRY_NOT_SET: { + break; + } + } // @@protoc_insertion_point(copy_constructor:service_layer.SLRoutePath) } @@ -5435,8 +5252,9 @@ vteproutermacaddress_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEm #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING ::memset(reinterpret_cast(this) + static_cast( reinterpret_cast(&nexthopaddress_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&nexthopaddress_)) + sizeof(flags_)); + 0, static_cast(reinterpret_cast(&encaptype_) - + reinterpret_cast(&nexthopaddress_)) + sizeof(encaptype_)); +clear_has_entry(); } SLRoutePath::~SLRoutePath() { @@ -5453,6 +5271,9 @@ inline void SLRoutePath::SharedDtor() { if (this != internal_default_instance()) delete nexthopaddress_; if (this != internal_default_instance()) delete nexthopinterface_; if (this != internal_default_instance()) delete vxlanpath_; + if (has_entry()) { + clear_entry(); + } } void SLRoutePath::ArenaDtor(void* object) { @@ -5465,6 +5286,23 @@ void SLRoutePath::SetCachedSize(int size) const { _cached_size_.Set(size); } +void SLRoutePath::clear_entry() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLRoutePath) + switch (entry_case()) { + case kPathGroupKey: { + if (GetArenaForAllocation() == nullptr) { + delete entry_.pathgroupkey_; + } + break; + } + case ENTRY_NOT_SET: { + break; + } + } + _oneof_case_[0] = ENTRY_NOT_SET; +} + + void SLRoutePath::Clear() { // @@protoc_insertion_point(message_clear_start:service_layer.SLRoutePath) uint32_t cached_has_bits = 0; @@ -5474,6 +5312,7 @@ void SLRoutePath::Clear() { protectedpathbitmap_.Clear(); labelstack_.Clear(); remoteaddress_.Clear(); + pathflags_.Clear(); vrfname_.ClearToEmpty(); vteproutermacaddress_.ClearToEmpty(); if (GetArenaForAllocation() == nullptr && nexthopaddress_ != nullptr) { @@ -5489,8 +5328,9 @@ void SLRoutePath::Clear() { } vxlanpath_ = nullptr; ::memset(&loadmetric_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&loadmetric_)) + sizeof(flags_)); + reinterpret_cast(&encaptype_) - + reinterpret_cast(&loadmetric_)) + sizeof(encaptype_)); + clear_entry(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -5585,7 +5425,7 @@ const char* SLRoutePath::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID } else goto handle_unusual; continue; - // .service_layer.SLEncapType EncapType = 10; + // .service_layer.SLEncapType EncapType = 10 [deprecated = true]; case 10: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 80)) { uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); @@ -5594,7 +5434,7 @@ const char* SLRoutePath::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID } else goto handle_unusual; continue; - // bytes VtepRouterMacAddress = 11; + // bytes VtepRouterMacAddress = 11 [deprecated = true]; case 11: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { auto str = _internal_mutable_vteproutermacaddress(); @@ -5611,10 +5451,22 @@ const char* SLRoutePath::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID } else goto handle_unusual; continue; - // uint32 Flags = 13; - case 13: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 104)) { - flags_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + // repeated .service_layer.SLPathFlags PathFlags = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 114)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_pathflags(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 112) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_add_pathflags(static_cast<::service_layer::SLPathFlags>(val)); + } else + goto handle_unusual; + continue; + // .service_layer.SLPathGroupRefKey PathGroupKey = 15; + case 15: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 122)) { + ptr = ctx->ParseMessage(_internal_mutable_pathgroupkey(), ptr); CHK_(ptr); } else goto handle_unusual; @@ -5718,14 +5570,14 @@ uint8_t* SLRoutePath::_InternalSerialize( InternalWriteMessage(9, this->_internal_remoteaddress(i), target, stream); } - // .service_layer.SLEncapType EncapType = 10; + // .service_layer.SLEncapType EncapType = 10 [deprecated = true]; if (this->_internal_encaptype() != 0) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( 10, this->_internal_encaptype(), target); } - // bytes VtepRouterMacAddress = 11; + // bytes VtepRouterMacAddress = 11 [deprecated = true]; if (!this->_internal_vteproutermacaddress().empty()) { target = stream->WriteBytesMaybeAliased( 11, this->_internal_vteproutermacaddress(), target); @@ -5739,10 +5591,21 @@ uint8_t* SLRoutePath::_InternalSerialize( 12, _Internal::vxlanpath(this), target, stream); } - // uint32 Flags = 13; - if (this->_internal_flags() != 0) { + // repeated .service_layer.SLPathFlags PathFlags = 14; + { + int byte_size = _pathflags_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 14, pathflags_, byte_size, target); + } + } + + // .service_layer.SLPathGroupRefKey PathGroupKey = 15; + if (_internal_has_pathgroupkey()) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(13, this->_internal_flags(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 15, _Internal::pathgroupkey(this), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -5798,6 +5661,24 @@ size_t SLRoutePath::ByteSizeLong() const { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } + // repeated .service_layer.SLPathFlags PathFlags = 14; + { + size_t data_size = 0; + unsigned int count = static_cast(this->_internal_pathflags_size());for (unsigned int i = 0; i < count; i++) { + data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize( + this->_internal_pathflags(static_cast(i))); + } + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _pathflags_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // string VrfName = 4; if (!this->_internal_vrfname().empty()) { total_size += 1 + @@ -5805,7 +5686,7 @@ size_t SLRoutePath::ByteSizeLong() const { this->_internal_vrfname()); } - // bytes VtepRouterMacAddress = 11; + // bytes VtepRouterMacAddress = 11 [deprecated = true]; if (!this->_internal_vteproutermacaddress().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( @@ -5848,17 +5729,24 @@ size_t SLRoutePath::ByteSizeLong() const { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_pathid()); } - // .service_layer.SLEncapType EncapType = 10; + // .service_layer.SLEncapType EncapType = 10 [deprecated = true]; if (this->_internal_encaptype() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_encaptype()); } - // uint32 Flags = 13; - if (this->_internal_flags() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_flags()); + switch (entry_case()) { + // .service_layer.SLPathGroupRefKey PathGroupKey = 15; + case kPathGroupKey: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *entry_.pathgroupkey_); + break; + } + case ENTRY_NOT_SET: { + break; + } } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } @@ -5884,6 +5772,7 @@ void SLRoutePath::MergeFrom(const SLRoutePath& from) { protectedpathbitmap_.MergeFrom(from.protectedpathbitmap_); labelstack_.MergeFrom(from.labelstack_); remoteaddress_.MergeFrom(from.remoteaddress_); + pathflags_.MergeFrom(from.pathflags_); if (!from._internal_vrfname().empty()) { _internal_set_vrfname(from._internal_vrfname()); } @@ -5911,8 +5800,14 @@ void SLRoutePath::MergeFrom(const SLRoutePath& from) { if (from._internal_encaptype() != 0) { _internal_set_encaptype(from._internal_encaptype()); } - if (from._internal_flags() != 0) { - _internal_set_flags(from._internal_flags()); + switch (from.entry_case()) { + case kPathGroupKey: { + _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); + break; + } + case ENTRY_NOT_SET: { + break; + } } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -5936,6 +5831,7 @@ void SLRoutePath::InternalSwap(SLRoutePath* other) { protectedpathbitmap_.InternalSwap(&other->protectedpathbitmap_); labelstack_.InternalSwap(&other->labelstack_); remoteaddress_.InternalSwap(&other->remoteaddress_); + pathflags_.InternalSwap(&other->pathflags_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), &vrfname_, lhs_arena, @@ -5947,14 +5843,249 @@ void SLRoutePath::InternalSwap(SLRoutePath* other) { &other->vteproutermacaddress_, rhs_arena ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLRoutePath, flags_) - + sizeof(SLRoutePath::flags_) + PROTOBUF_FIELD_OFFSET(SLRoutePath, encaptype_) + + sizeof(SLRoutePath::encaptype_) - PROTOBUF_FIELD_OFFSET(SLRoutePath, nexthopaddress_)>( reinterpret_cast(&nexthopaddress_), reinterpret_cast(&other->nexthopaddress_)); + swap(entry_, other->entry_); + swap(_oneof_case_[0], other->_oneof_case_[0]); } ::PROTOBUF_NAMESPACE_ID::Metadata SLRoutePath::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5froute_5fcommon_2eproto_getter, &descriptor_table_sl_5froute_5fcommon_2eproto_once, + file_level_metadata_sl_5froute_5fcommon_2eproto[18]); +} + +// =================================================================== + +class SLRoutePrefix::_Internal { + public: + static const ::service_layer::SLIpAddress& prefix(const SLRoutePrefix* msg); +}; + +const ::service_layer::SLIpAddress& +SLRoutePrefix::_Internal::prefix(const SLRoutePrefix* msg) { + return *msg->prefix_; +} +void SLRoutePrefix::clear_prefix() { + if (GetArenaForAllocation() == nullptr && prefix_ != nullptr) { + delete prefix_; + } + prefix_ = nullptr; +} +SLRoutePrefix::SLRoutePrefix(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLRoutePrefix) +} +SLRoutePrefix::SLRoutePrefix(const SLRoutePrefix& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_prefix()) { + prefix_ = new ::service_layer::SLIpAddress(*from.prefix_); + } else { + prefix_ = nullptr; + } + prefixlen_ = from.prefixlen_; + // @@protoc_insertion_point(copy_constructor:service_layer.SLRoutePrefix) +} + +inline void SLRoutePrefix::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&prefix_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&prefixlen_) - + reinterpret_cast(&prefix_)) + sizeof(prefixlen_)); +} + +SLRoutePrefix::~SLRoutePrefix() { + // @@protoc_insertion_point(destructor:service_layer.SLRoutePrefix) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLRoutePrefix::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete prefix_; +} + +void SLRoutePrefix::ArenaDtor(void* object) { + SLRoutePrefix* _this = reinterpret_cast< SLRoutePrefix* >(object); + (void)_this; +} +void SLRoutePrefix::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLRoutePrefix::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLRoutePrefix::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLRoutePrefix) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && prefix_ != nullptr) { + delete prefix_; + } + prefix_ = nullptr; + prefixlen_ = 0u; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLRoutePrefix::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service_layer.SLIpAddress Prefix = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_prefix(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 PrefixLen = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + prefixlen_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLRoutePrefix::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLRoutePrefix) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLIpAddress Prefix = 1; + if (this->_internal_has_prefix()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::prefix(this), target, stream); + } + + // uint32 PrefixLen = 2; + if (this->_internal_prefixlen() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_prefixlen(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLRoutePrefix) + return target; +} + +size_t SLRoutePrefix::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLRoutePrefix) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .service_layer.SLIpAddress Prefix = 1; + if (this->_internal_has_prefix()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *prefix_); + } + + // uint32 PrefixLen = 2; + if (this->_internal_prefixlen() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_prefixlen()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLRoutePrefix::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLRoutePrefix::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLRoutePrefix::GetClassData() const { return &_class_data_; } + +void SLRoutePrefix::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLRoutePrefix::MergeFrom(const SLRoutePrefix& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLRoutePrefix) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_prefix()) { + _internal_mutable_prefix()->::service_layer::SLIpAddress::MergeFrom(from._internal_prefix()); + } + if (from._internal_prefixlen() != 0) { + _internal_set_prefixlen(from._internal_prefixlen()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLRoutePrefix::CopyFrom(const SLRoutePrefix& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLRoutePrefix) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLRoutePrefix::IsInitialized() const { + return true; +} + +void SLRoutePrefix::InternalSwap(SLRoutePrefix* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLRoutePrefix, prefixlen_) + + sizeof(SLRoutePrefix::prefixlen_) + - PROTOBUF_FIELD_OFFSET(SLRoutePrefix, prefix_)>( + reinterpret_cast(&prefix_), + reinterpret_cast(&other->prefix_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLRoutePrefix::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_sl_5froute_5fcommon_2eproto_getter, &descriptor_table_sl_5froute_5fcommon_2eproto_once, file_level_metadata_sl_5froute_5fcommon_2eproto[19]); @@ -6011,9 +6142,6 @@ template<> PROTOBUF_NOINLINE ::service_layer::SLRouteNotifMarker* Arena::CreateM template<> PROTOBUF_NOINLINE ::service_layer::SLVrfNotif* Arena::CreateMaybeMessage< ::service_layer::SLVrfNotif >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLVrfNotif >(arena); } -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGetMatch* Arena::CreateMaybeMessage< ::service_layer::SLRouteGetMatch >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteGetMatch >(arena); -} template<> PROTOBUF_NOINLINE ::service_layer::SLRouteCommon* Arena::CreateMaybeMessage< ::service_layer::SLRouteCommon >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLRouteCommon >(arena); } @@ -6023,6 +6151,9 @@ template<> PROTOBUF_NOINLINE ::service_layer::SLVxLANPath* Arena::CreateMaybeMes template<> PROTOBUF_NOINLINE ::service_layer::SLRoutePath* Arena::CreateMaybeMessage< ::service_layer::SLRoutePath >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLRoutePath >(arena); } +template<> PROTOBUF_NOINLINE ::service_layer::SLRoutePrefix* Arena::CreateMaybeMessage< ::service_layer::SLRoutePrefix >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRoutePrefix >(arena); +} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/grpc/cpp/src/gencpp/sl_route_common.pb.h b/grpc/cpp/src/gencpp/sl_route_common.pb.h index 2b138a2..bf4d5b4 100644 --- a/grpc/cpp/src/gencpp/sl_route_common.pb.h +++ b/grpc/cpp/src/gencpp/sl_route_common.pb.h @@ -60,9 +60,6 @@ namespace service_layer { class SLRouteCommon; struct SLRouteCommonDefaultTypeInternal; extern SLRouteCommonDefaultTypeInternal _SLRouteCommon_default_instance_; -class SLRouteGetMatch; -struct SLRouteGetMatchDefaultTypeInternal; -extern SLRouteGetMatchDefaultTypeInternal _SLRouteGetMatch_default_instance_; class SLRouteGetNotifMsg; struct SLRouteGetNotifMsgDefaultTypeInternal; extern SLRouteGetNotifMsgDefaultTypeInternal _SLRouteGetNotifMsg_default_instance_; @@ -87,6 +84,9 @@ extern SLRouteNotifStatusDefaultTypeInternal _SLRouteNotifStatus_default_instanc class SLRoutePath; struct SLRoutePathDefaultTypeInternal; extern SLRoutePathDefaultTypeInternal _SLRoutePath_default_instance_; +class SLRoutePrefix; +struct SLRoutePrefixDefaultTypeInternal; +extern SLRoutePrefixDefaultTypeInternal _SLRoutePrefix_default_instance_; class SLVRFGetStatsMsgRes; struct SLVRFGetStatsMsgResDefaultTypeInternal; extern SLVRFGetStatsMsgResDefaultTypeInternal _SLVRFGetStatsMsgRes_default_instance_; @@ -120,7 +120,6 @@ extern SLVxLANPathDefaultTypeInternal _SLVxLANPath_default_instance_; } // namespace service_layer PROTOBUF_NAMESPACE_OPEN template<> ::service_layer::SLRouteCommon* Arena::CreateMaybeMessage<::service_layer::SLRouteCommon>(Arena*); -template<> ::service_layer::SLRouteGetMatch* Arena::CreateMaybeMessage<::service_layer::SLRouteGetMatch>(Arena*); template<> ::service_layer::SLRouteGetNotifMsg* Arena::CreateMaybeMessage<::service_layer::SLRouteGetNotifMsg>(Arena*); template<> ::service_layer::SLRouteGlobalStatsGetMsg* Arena::CreateMaybeMessage<::service_layer::SLRouteGlobalStatsGetMsg>(Arena*); template<> ::service_layer::SLRouteGlobalStatsGetMsgRsp* Arena::CreateMaybeMessage<::service_layer::SLRouteGlobalStatsGetMsgRsp>(Arena*); @@ -129,6 +128,7 @@ template<> ::service_layer::SLRouteGlobalsGetMsgRsp* Arena::CreateMaybeMessage<: template<> ::service_layer::SLRouteNotifMarker* Arena::CreateMaybeMessage<::service_layer::SLRouteNotifMarker>(Arena*); template<> ::service_layer::SLRouteNotifStatus* Arena::CreateMaybeMessage<::service_layer::SLRouteNotifStatus>(Arena*); template<> ::service_layer::SLRoutePath* Arena::CreateMaybeMessage<::service_layer::SLRoutePath>(Arena*); +template<> ::service_layer::SLRoutePrefix* Arena::CreateMaybeMessage<::service_layer::SLRoutePrefix>(Arena*); template<> ::service_layer::SLVRFGetStatsMsgRes* Arena::CreateMaybeMessage<::service_layer::SLVRFGetStatsMsgRes>(Arena*); template<> ::service_layer::SLVRFGetStatsMsgRsp* Arena::CreateMaybeMessage<::service_layer::SLVRFGetStatsMsgRsp>(Arena*); template<> ::service_layer::SLVrfNotif* Arena::CreateMaybeMessage<::service_layer::SLVrfNotif>(Arena*); @@ -176,8 +176,8 @@ enum SLRouteFlags : int { SL_ROUTE_FLAG_RESERVED = 0, SL_ROUTE_FLAG_PREFER_OVER_LDP = 1, SL_ROUTE_FLAG_DISABLE_LABEL_MERGE = 2, - SL_ROUTE_FLAG_VIABLE_PATHS_ONLY = 4, - SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH = 8, + SL_ROUTE_FLAG_VIABLE_PATHS_ONLY = 3, + SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH = 4, SLRouteFlags_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), SLRouteFlags_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; @@ -2909,195 +2909,6 @@ class SLVrfNotif final : }; // ------------------------------------------------------------------- -class SLRouteGetMatch final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLRouteGetMatch) */ { - public: - inline SLRouteGetMatch() : SLRouteGetMatch(nullptr) {} - ~SLRouteGetMatch() override; - explicit constexpr SLRouteGetMatch(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SLRouteGetMatch(const SLRouteGetMatch& from); - SLRouteGetMatch(SLRouteGetMatch&& from) noexcept - : SLRouteGetMatch() { - *this = ::std::move(from); - } - - inline SLRouteGetMatch& operator=(const SLRouteGetMatch& from) { - CopyFrom(from); - return *this; - } - inline SLRouteGetMatch& operator=(SLRouteGetMatch&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const SLRouteGetMatch& default_instance() { - return *internal_default_instance(); - } - enum EntryCase { - kPathGroupRegex = 1, - kVxlanVniId = 2, - ENTRY_NOT_SET = 0, - }; - - static inline const SLRouteGetMatch* internal_default_instance() { - return reinterpret_cast( - &_SLRouteGetMatch_default_instance_); - } - static constexpr int kIndexInFileMessages = - 16; - - friend void swap(SLRouteGetMatch& a, SLRouteGetMatch& b) { - a.Swap(&b); - } - inline void Swap(SLRouteGetMatch* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(SLRouteGetMatch* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SLRouteGetMatch* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLRouteGetMatch& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLRouteGetMatch& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SLRouteGetMatch* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLRouteGetMatch"; - } - protected: - explicit SLRouteGetMatch(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kPathGroupRegexFieldNumber = 1, - kVxlanVniIdFieldNumber = 2, - }; - // string PathGroupRegex = 1; - bool has_pathgroupregex() const; - private: - bool _internal_has_pathgroupregex() const; - public: - void clear_pathgroupregex(); - const std::string& pathgroupregex() const; - template - void set_pathgroupregex(ArgT0&& arg0, ArgT... args); - std::string* mutable_pathgroupregex(); - PROTOBUF_NODISCARD std::string* release_pathgroupregex(); - void set_allocated_pathgroupregex(std::string* pathgroupregex); - private: - const std::string& _internal_pathgroupregex() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_pathgroupregex(const std::string& value); - std::string* _internal_mutable_pathgroupregex(); - public: - - // uint32 VxlanVniId = 2; - bool has_vxlanvniid() const; - private: - bool _internal_has_vxlanvniid() const; - public: - void clear_vxlanvniid(); - uint32_t vxlanvniid() const; - void set_vxlanvniid(uint32_t value); - private: - uint32_t _internal_vxlanvniid() const; - void _internal_set_vxlanvniid(uint32_t value); - public: - - void clear_entry(); - EntryCase entry_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLRouteGetMatch) - private: - class _Internal; - void set_has_pathgroupregex(); - void set_has_vxlanvniid(); - - inline bool has_entry() const; - inline void clear_has_entry(); - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - union EntryUnion { - constexpr EntryUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr pathgroupregex_; - uint32_t vxlanvniid_; - } entry_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - - friend struct ::TableStruct_sl_5froute_5fcommon_2eproto; -}; -// ------------------------------------------------------------------- - class SLRouteCommon final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLRouteCommon) */ { public: @@ -3146,7 +2957,7 @@ class SLRouteCommon final : &_SLRouteCommon_default_instance_); } static constexpr int kIndexInFileMessages = - 17; + 16; friend void swap(SLRouteCommon& a, SLRouteCommon& b) { a.Swap(&b); @@ -3220,13 +3031,30 @@ class SLRouteCommon final : // accessors ------------------------------------------------------- enum : int { + kRouteFlagsFieldNumber = 7, kSrcProtoFieldNumber = 4, kSrcProtoTagFieldNumber = 5, kAdminDistanceFieldNumber = 1, kLocalLabelFieldNumber = 2, kTagFieldNumber = 3, - kFlagsFieldNumber = 6, }; + // repeated .service_layer.SLRouteFlags RouteFlags = 7; + int routeflags_size() const; + private: + int _internal_routeflags_size() const; + public: + void clear_routeflags(); + private: + ::service_layer::SLRouteFlags _internal_routeflags(int index) const; + void _internal_add_routeflags(::service_layer::SLRouteFlags value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_routeflags(); + public: + ::service_layer::SLRouteFlags routeflags(int index) const; + void set_routeflags(int index, ::service_layer::SLRouteFlags value); + void add_routeflags(::service_layer::SLRouteFlags value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& routeflags() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_routeflags(); + // string SrcProto = 4; void clear_srcproto(); const std::string& srcproto() const; @@ -3282,15 +3110,6 @@ class SLRouteCommon final : void _internal_set_tag(uint32_t value); public: - // uint32 Flags = 6; - void clear_flags(); - uint32_t flags() const; - void set_flags(uint32_t value); - private: - uint32_t _internal_flags() const; - void _internal_set_flags(uint32_t value); - public: - // @@protoc_insertion_point(class_scope:service_layer.SLRouteCommon) private: class _Internal; @@ -3298,12 +3117,13 @@ class SLRouteCommon final : template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField routeflags_; + mutable std::atomic _routeflags_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcproto_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr srcprototag_; uint32_t admindistance_; uint32_t locallabel_; uint32_t tag_; - uint32_t flags_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5froute_5fcommon_2eproto; }; @@ -3357,7 +3177,7 @@ class SLVxLANPath final : &_SLVxLANPath_default_instance_); } static constexpr int kIndexInFileMessages = - 18; + 17; friend void swap(SLVxLANPath& a, SLVxLANPath& b) { a.Swap(&b); @@ -3570,12 +3390,17 @@ class SLRoutePath final : static const SLRoutePath& default_instance() { return *internal_default_instance(); } + enum EntryCase { + kPathGroupKey = 15, + ENTRY_NOT_SET = 0, + }; + static inline const SLRoutePath* internal_default_instance() { return reinterpret_cast( &_SLRoutePath_default_instance_); } static constexpr int kIndexInFileMessages = - 19; + 18; friend void swap(SLRoutePath& a, SLRoutePath& b) { a.Swap(&b); @@ -3652,6 +3477,7 @@ class SLRoutePath final : kProtectedPathBitmapFieldNumber = 7, kLabelStackFieldNumber = 8, kRemoteAddressFieldNumber = 9, + kPathFlagsFieldNumber = 14, kVrfNameFieldNumber = 4, kVtepRouterMacAddressFieldNumber = 11, kNexthopAddressFieldNumber = 1, @@ -3661,7 +3487,7 @@ class SLRoutePath final : kMetricFieldNumber = 5, kPathIdFieldNumber = 6, kEncapTypeFieldNumber = 10, - kFlagsFieldNumber = 13, + kPathGroupKeyFieldNumber = 15, }; // repeated uint64 ProtectedPathBitmap = 7; int protectedpathbitmap_size() const; @@ -3725,6 +3551,23 @@ class SLRoutePath final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLIpAddress >& remoteaddress() const; + // repeated .service_layer.SLPathFlags PathFlags = 14; + int pathflags_size() const; + private: + int _internal_pathflags_size() const; + public: + void clear_pathflags(); + private: + ::service_layer::SLPathFlags _internal_pathflags(int index) const; + void _internal_add_pathflags(::service_layer::SLPathFlags value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_pathflags(); + public: + ::service_layer::SLPathFlags pathflags(int index) const; + void set_pathflags(int index, ::service_layer::SLPathFlags value); + void add_pathflags(::service_layer::SLPathFlags value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& pathflags() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_pathflags(); + // string VrfName = 4; void clear_vrfname(); const std::string& vrfname() const; @@ -3739,14 +3582,14 @@ class SLRoutePath final : std::string* _internal_mutable_vrfname(); public: - // bytes VtepRouterMacAddress = 11; - void clear_vteproutermacaddress(); - const std::string& vteproutermacaddress() const; + // bytes VtepRouterMacAddress = 11 [deprecated = true]; + PROTOBUF_DEPRECATED void clear_vteproutermacaddress(); + PROTOBUF_DEPRECATED const std::string& vteproutermacaddress() const; template - void set_vteproutermacaddress(ArgT0&& arg0, ArgT... args); - std::string* mutable_vteproutermacaddress(); - PROTOBUF_NODISCARD std::string* release_vteproutermacaddress(); - void set_allocated_vteproutermacaddress(std::string* vteproutermacaddress); + PROTOBUF_DEPRECATED void set_vteproutermacaddress(ArgT0&& arg0, ArgT... args); + PROTOBUF_DEPRECATED std::string* mutable_vteproutermacaddress(); + PROTOBUF_NODISCARD PROTOBUF_DEPRECATED std::string* release_vteproutermacaddress(); + PROTOBUF_DEPRECATED void set_allocated_vteproutermacaddress(std::string* vteproutermacaddress); private: const std::string& _internal_vteproutermacaddress() const; inline PROTOBUF_ALWAYS_INLINE void _internal_set_vteproutermacaddress(const std::string& value); @@ -3834,27 +3677,42 @@ class SLRoutePath final : void _internal_set_pathid(uint32_t value); public: - // .service_layer.SLEncapType EncapType = 10; - void clear_encaptype(); - ::service_layer::SLEncapType encaptype() const; - void set_encaptype(::service_layer::SLEncapType value); + // .service_layer.SLEncapType EncapType = 10 [deprecated = true]; + PROTOBUF_DEPRECATED void clear_encaptype(); + PROTOBUF_DEPRECATED ::service_layer::SLEncapType encaptype() const; + PROTOBUF_DEPRECATED void set_encaptype(::service_layer::SLEncapType value); private: ::service_layer::SLEncapType _internal_encaptype() const; void _internal_set_encaptype(::service_layer::SLEncapType value); public: - // uint32 Flags = 13; - void clear_flags(); - uint32_t flags() const; - void set_flags(uint32_t value); + // .service_layer.SLPathGroupRefKey PathGroupKey = 15; + bool has_pathgroupkey() const; private: - uint32_t _internal_flags() const; - void _internal_set_flags(uint32_t value); + bool _internal_has_pathgroupkey() const; + public: + void clear_pathgroupkey(); + const ::service_layer::SLPathGroupRefKey& pathgroupkey() const; + PROTOBUF_NODISCARD ::service_layer::SLPathGroupRefKey* release_pathgroupkey(); + ::service_layer::SLPathGroupRefKey* mutable_pathgroupkey(); + void set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey); + private: + const ::service_layer::SLPathGroupRefKey& _internal_pathgroupkey() const; + ::service_layer::SLPathGroupRefKey* _internal_mutable_pathgroupkey(); public: + void unsafe_arena_set_allocated_pathgroupkey( + ::service_layer::SLPathGroupRefKey* pathgroupkey); + ::service_layer::SLPathGroupRefKey* unsafe_arena_release_pathgroupkey(); + void clear_entry(); + EntryCase entry_case() const; // @@protoc_insertion_point(class_scope:service_layer.SLRoutePath) private: class _Internal; + void set_has_pathgroupkey(); + + inline bool has_entry() const; + inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; @@ -3864,6 +3722,8 @@ class SLRoutePath final : ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > labelstack_; mutable std::atomic _labelstack_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLIpAddress > remoteaddress_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField pathflags_; + mutable std::atomic _pathflags_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vteproutermacaddress_; ::service_layer::SLIpAddress* nexthopaddress_; @@ -3873,7 +3733,179 @@ class SLRoutePath final : uint32_t metric_; uint32_t pathid_; int encaptype_; - uint32_t flags_; + union EntryUnion { + constexpr EntryUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLPathGroupRefKey* pathgroupkey_; + } entry_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + friend struct ::TableStruct_sl_5froute_5fcommon_2eproto; +}; +// ------------------------------------------------------------------- + +class SLRoutePrefix final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLRoutePrefix) */ { + public: + inline SLRoutePrefix() : SLRoutePrefix(nullptr) {} + ~SLRoutePrefix() override; + explicit constexpr SLRoutePrefix(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLRoutePrefix(const SLRoutePrefix& from); + SLRoutePrefix(SLRoutePrefix&& from) noexcept + : SLRoutePrefix() { + *this = ::std::move(from); + } + + inline SLRoutePrefix& operator=(const SLRoutePrefix& from) { + CopyFrom(from); + return *this; + } + inline SLRoutePrefix& operator=(SLRoutePrefix&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SLRoutePrefix& default_instance() { + return *internal_default_instance(); + } + static inline const SLRoutePrefix* internal_default_instance() { + return reinterpret_cast( + &_SLRoutePrefix_default_instance_); + } + static constexpr int kIndexInFileMessages = + 19; + + friend void swap(SLRoutePrefix& a, SLRoutePrefix& b) { + a.Swap(&b); + } + inline void Swap(SLRoutePrefix* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SLRoutePrefix* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLRoutePrefix* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLRoutePrefix& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLRoutePrefix& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(SLRoutePrefix* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLRoutePrefix"; + } + protected: + explicit SLRoutePrefix(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPrefixFieldNumber = 1, + kPrefixLenFieldNumber = 2, + }; + // .service_layer.SLIpAddress Prefix = 1; + bool has_prefix() const; + private: + bool _internal_has_prefix() const; + public: + void clear_prefix(); + const ::service_layer::SLIpAddress& prefix() const; + PROTOBUF_NODISCARD ::service_layer::SLIpAddress* release_prefix(); + ::service_layer::SLIpAddress* mutable_prefix(); + void set_allocated_prefix(::service_layer::SLIpAddress* prefix); + private: + const ::service_layer::SLIpAddress& _internal_prefix() const; + ::service_layer::SLIpAddress* _internal_mutable_prefix(); + public: + void unsafe_arena_set_allocated_prefix( + ::service_layer::SLIpAddress* prefix); + ::service_layer::SLIpAddress* unsafe_arena_release_prefix(); + + // uint32 PrefixLen = 2; + void clear_prefixlen(); + uint32_t prefixlen() const; + void set_prefixlen(uint32_t value); + private: + uint32_t _internal_prefixlen() const; + void _internal_set_prefixlen(uint32_t value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLRoutePrefix) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::service_layer::SLIpAddress* prefix_; + uint32_t prefixlen_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5froute_5fcommon_2eproto; }; @@ -5542,139 +5574,6 @@ inline void SLVrfNotif::set_status(::service_layer::SLObjectOp value) { // ------------------------------------------------------------------- -// SLRouteGetMatch - -// string PathGroupRegex = 1; -inline bool SLRouteGetMatch::_internal_has_pathgroupregex() const { - return entry_case() == kPathGroupRegex; -} -inline bool SLRouteGetMatch::has_pathgroupregex() const { - return _internal_has_pathgroupregex(); -} -inline void SLRouteGetMatch::set_has_pathgroupregex() { - _oneof_case_[0] = kPathGroupRegex; -} -inline void SLRouteGetMatch::clear_pathgroupregex() { - if (_internal_has_pathgroupregex()) { - entry_.pathgroupregex_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); - clear_has_entry(); - } -} -inline const std::string& SLRouteGetMatch::pathgroupregex() const { - // @@protoc_insertion_point(field_get:service_layer.SLRouteGetMatch.PathGroupRegex) - return _internal_pathgroupregex(); -} -template -inline void SLRouteGetMatch::set_pathgroupregex(ArgT0&& arg0, ArgT... args) { - if (!_internal_has_pathgroupregex()) { - clear_entry(); - set_has_pathgroupregex(); - entry_.pathgroupregex_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - } - entry_.pathgroupregex_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:service_layer.SLRouteGetMatch.PathGroupRegex) -} -inline std::string* SLRouteGetMatch::mutable_pathgroupregex() { - std::string* _s = _internal_mutable_pathgroupregex(); - // @@protoc_insertion_point(field_mutable:service_layer.SLRouteGetMatch.PathGroupRegex) - return _s; -} -inline const std::string& SLRouteGetMatch::_internal_pathgroupregex() const { - if (_internal_has_pathgroupregex()) { - return entry_.pathgroupregex_.Get(); - } - return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); -} -inline void SLRouteGetMatch::_internal_set_pathgroupregex(const std::string& value) { - if (!_internal_has_pathgroupregex()) { - clear_entry(); - set_has_pathgroupregex(); - entry_.pathgroupregex_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - } - entry_.pathgroupregex_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* SLRouteGetMatch::_internal_mutable_pathgroupregex() { - if (!_internal_has_pathgroupregex()) { - clear_entry(); - set_has_pathgroupregex(); - entry_.pathgroupregex_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - } - return entry_.pathgroupregex_.Mutable( - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* SLRouteGetMatch::release_pathgroupregex() { - // @@protoc_insertion_point(field_release:service_layer.SLRouteGetMatch.PathGroupRegex) - if (_internal_has_pathgroupregex()) { - clear_has_entry(); - return entry_.pathgroupregex_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); - } else { - return nullptr; - } -} -inline void SLRouteGetMatch::set_allocated_pathgroupregex(std::string* pathgroupregex) { - if (has_entry()) { - clear_entry(); - } - if (pathgroupregex != nullptr) { - set_has_pathgroupregex(); - entry_.pathgroupregex_.UnsafeSetDefault(pathgroupregex); - ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArenaForAllocation(); - if (arena != nullptr) { - arena->Own(pathgroupregex); - } - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLRouteGetMatch.PathGroupRegex) -} - -// uint32 VxlanVniId = 2; -inline bool SLRouteGetMatch::_internal_has_vxlanvniid() const { - return entry_case() == kVxlanVniId; -} -inline bool SLRouteGetMatch::has_vxlanvniid() const { - return _internal_has_vxlanvniid(); -} -inline void SLRouteGetMatch::set_has_vxlanvniid() { - _oneof_case_[0] = kVxlanVniId; -} -inline void SLRouteGetMatch::clear_vxlanvniid() { - if (_internal_has_vxlanvniid()) { - entry_.vxlanvniid_ = 0u; - clear_has_entry(); - } -} -inline uint32_t SLRouteGetMatch::_internal_vxlanvniid() const { - if (_internal_has_vxlanvniid()) { - return entry_.vxlanvniid_; - } - return 0u; -} -inline void SLRouteGetMatch::_internal_set_vxlanvniid(uint32_t value) { - if (!_internal_has_vxlanvniid()) { - clear_entry(); - set_has_vxlanvniid(); - } - entry_.vxlanvniid_ = value; -} -inline uint32_t SLRouteGetMatch::vxlanvniid() const { - // @@protoc_insertion_point(field_get:service_layer.SLRouteGetMatch.VxlanVniId) - return _internal_vxlanvniid(); -} -inline void SLRouteGetMatch::set_vxlanvniid(uint32_t value) { - _internal_set_vxlanvniid(value); - // @@protoc_insertion_point(field_set:service_layer.SLRouteGetMatch.VxlanVniId) -} - -inline bool SLRouteGetMatch::has_entry() const { - return entry_case() != ENTRY_NOT_SET; -} -inline void SLRouteGetMatch::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; -} -inline SLRouteGetMatch::EntryCase SLRouteGetMatch::entry_case() const { - return SLRouteGetMatch::EntryCase(_oneof_case_[0]); -} -// ------------------------------------------------------------------- - // SLRouteCommon // uint32 AdminDistance = 1; @@ -5839,24 +5738,47 @@ inline void SLRouteCommon::set_allocated_srcprototag(std::string* srcprototag) { // @@protoc_insertion_point(field_set_allocated:service_layer.SLRouteCommon.SrcProtoTag) } -// uint32 Flags = 6; -inline void SLRouteCommon::clear_flags() { - flags_ = 0u; +// repeated .service_layer.SLRouteFlags RouteFlags = 7; +inline int SLRouteCommon::_internal_routeflags_size() const { + return routeflags_.size(); } -inline uint32_t SLRouteCommon::_internal_flags() const { - return flags_; +inline int SLRouteCommon::routeflags_size() const { + return _internal_routeflags_size(); } -inline uint32_t SLRouteCommon::flags() const { - // @@protoc_insertion_point(field_get:service_layer.SLRouteCommon.Flags) - return _internal_flags(); +inline void SLRouteCommon::clear_routeflags() { + routeflags_.Clear(); } -inline void SLRouteCommon::_internal_set_flags(uint32_t value) { - - flags_ = value; +inline ::service_layer::SLRouteFlags SLRouteCommon::_internal_routeflags(int index) const { + return static_cast< ::service_layer::SLRouteFlags >(routeflags_.Get(index)); +} +inline ::service_layer::SLRouteFlags SLRouteCommon::routeflags(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLRouteCommon.RouteFlags) + return _internal_routeflags(index); +} +inline void SLRouteCommon::set_routeflags(int index, ::service_layer::SLRouteFlags value) { + routeflags_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLRouteCommon.RouteFlags) } -inline void SLRouteCommon::set_flags(uint32_t value) { - _internal_set_flags(value); - // @@protoc_insertion_point(field_set:service_layer.SLRouteCommon.Flags) +inline void SLRouteCommon::_internal_add_routeflags(::service_layer::SLRouteFlags value) { + routeflags_.Add(value); +} +inline void SLRouteCommon::add_routeflags(::service_layer::SLRouteFlags value) { + _internal_add_routeflags(value); + // @@protoc_insertion_point(field_add:service_layer.SLRouteCommon.RouteFlags) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& +SLRouteCommon::routeflags() const { + // @@protoc_insertion_point(field_list:service_layer.SLRouteCommon.RouteFlags) + return routeflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLRouteCommon::_internal_mutable_routeflags() { + return &routeflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLRouteCommon::mutable_routeflags() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLRouteCommon.RouteFlags) + return _internal_mutable_routeflags(); } // ------------------------------------------------------------------- @@ -6575,7 +6497,7 @@ SLRoutePath::remoteaddress() const { return remoteaddress_; } -// .service_layer.SLEncapType EncapType = 10; +// .service_layer.SLEncapType EncapType = 10 [deprecated = true]; inline void SLRoutePath::clear_encaptype() { encaptype_ = 0; } @@ -6595,7 +6517,7 @@ inline void SLRoutePath::set_encaptype(::service_layer::SLEncapType value) { // @@protoc_insertion_point(field_set:service_layer.SLRoutePath.EncapType) } -// bytes VtepRouterMacAddress = 11; +// bytes VtepRouterMacAddress = 11 [deprecated = true]; inline void SLRoutePath::clear_vteproutermacaddress() { vteproutermacaddress_.ClearToEmpty(); } @@ -6736,24 +6658,232 @@ inline void SLRoutePath::set_allocated_vxlanpath(::service_layer::SLVxLANPath* v // @@protoc_insertion_point(field_set_allocated:service_layer.SLRoutePath.VxLANPath) } -// uint32 Flags = 13; -inline void SLRoutePath::clear_flags() { - flags_ = 0u; +// repeated .service_layer.SLPathFlags PathFlags = 14; +inline int SLRoutePath::_internal_pathflags_size() const { + return pathflags_.size(); +} +inline int SLRoutePath::pathflags_size() const { + return _internal_pathflags_size(); +} +inline void SLRoutePath::clear_pathflags() { + pathflags_.Clear(); +} +inline ::service_layer::SLPathFlags SLRoutePath::_internal_pathflags(int index) const { + return static_cast< ::service_layer::SLPathFlags >(pathflags_.Get(index)); +} +inline ::service_layer::SLPathFlags SLRoutePath::pathflags(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLRoutePath.PathFlags) + return _internal_pathflags(index); +} +inline void SLRoutePath::set_pathflags(int index, ::service_layer::SLPathFlags value) { + pathflags_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLRoutePath.PathFlags) +} +inline void SLRoutePath::_internal_add_pathflags(::service_layer::SLPathFlags value) { + pathflags_.Add(value); +} +inline void SLRoutePath::add_pathflags(::service_layer::SLPathFlags value) { + _internal_add_pathflags(value); + // @@protoc_insertion_point(field_add:service_layer.SLRoutePath.PathFlags) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& +SLRoutePath::pathflags() const { + // @@protoc_insertion_point(field_list:service_layer.SLRoutePath.PathFlags) + return pathflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLRoutePath::_internal_mutable_pathflags() { + return &pathflags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +SLRoutePath::mutable_pathflags() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLRoutePath.PathFlags) + return _internal_mutable_pathflags(); +} + +// .service_layer.SLPathGroupRefKey PathGroupKey = 15; +inline bool SLRoutePath::_internal_has_pathgroupkey() const { + return entry_case() == kPathGroupKey; +} +inline bool SLRoutePath::has_pathgroupkey() const { + return _internal_has_pathgroupkey(); +} +inline void SLRoutePath::set_has_pathgroupkey() { + _oneof_case_[0] = kPathGroupKey; +} +inline ::service_layer::SLPathGroupRefKey* SLRoutePath::release_pathgroupkey() { + // @@protoc_insertion_point(field_release:service_layer.SLRoutePath.PathGroupKey) + if (_internal_has_pathgroupkey()) { + clear_has_entry(); + ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + entry_.pathgroupkey_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPathGroupRefKey& SLRoutePath::_internal_pathgroupkey() const { + return _internal_has_pathgroupkey() + ? *entry_.pathgroupkey_ + : reinterpret_cast< ::service_layer::SLPathGroupRefKey&>(::service_layer::_SLPathGroupRefKey_default_instance_); +} +inline const ::service_layer::SLPathGroupRefKey& SLRoutePath::pathgroupkey() const { + // @@protoc_insertion_point(field_get:service_layer.SLRoutePath.PathGroupKey) + return _internal_pathgroupkey(); +} +inline ::service_layer::SLPathGroupRefKey* SLRoutePath::unsafe_arena_release_pathgroupkey() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLRoutePath.PathGroupKey) + if (_internal_has_pathgroupkey()) { + clear_has_entry(); + ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; + entry_.pathgroupkey_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLRoutePath::unsafe_arena_set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { + clear_entry(); + if (pathgroupkey) { + set_has_pathgroupkey(); + entry_.pathgroupkey_ = pathgroupkey; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLRoutePath.PathGroupKey) +} +inline ::service_layer::SLPathGroupRefKey* SLRoutePath::_internal_mutable_pathgroupkey() { + if (!_internal_has_pathgroupkey()) { + clear_entry(); + set_has_pathgroupkey(); + entry_.pathgroupkey_ = CreateMaybeMessage< ::service_layer::SLPathGroupRefKey >(GetArenaForAllocation()); + } + return entry_.pathgroupkey_; +} +inline ::service_layer::SLPathGroupRefKey* SLRoutePath::mutable_pathgroupkey() { + ::service_layer::SLPathGroupRefKey* _msg = _internal_mutable_pathgroupkey(); + // @@protoc_insertion_point(field_mutable:service_layer.SLRoutePath.PathGroupKey) + return _msg; +} + +inline bool SLRoutePath::has_entry() const { + return entry_case() != ENTRY_NOT_SET; +} +inline void SLRoutePath::clear_has_entry() { + _oneof_case_[0] = ENTRY_NOT_SET; +} +inline SLRoutePath::EntryCase SLRoutePath::entry_case() const { + return SLRoutePath::EntryCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// SLRoutePrefix + +// .service_layer.SLIpAddress Prefix = 1; +inline bool SLRoutePrefix::_internal_has_prefix() const { + return this != internal_default_instance() && prefix_ != nullptr; +} +inline bool SLRoutePrefix::has_prefix() const { + return _internal_has_prefix(); +} +inline const ::service_layer::SLIpAddress& SLRoutePrefix::_internal_prefix() const { + const ::service_layer::SLIpAddress* p = prefix_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLIpAddress_default_instance_); +} +inline const ::service_layer::SLIpAddress& SLRoutePrefix::prefix() const { + // @@protoc_insertion_point(field_get:service_layer.SLRoutePrefix.Prefix) + return _internal_prefix(); +} +inline void SLRoutePrefix::unsafe_arena_set_allocated_prefix( + ::service_layer::SLIpAddress* prefix) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(prefix_); + } + prefix_ = prefix; + if (prefix) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLRoutePrefix.Prefix) +} +inline ::service_layer::SLIpAddress* SLRoutePrefix::release_prefix() { + + ::service_layer::SLIpAddress* temp = prefix_; + prefix_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service_layer::SLIpAddress* SLRoutePrefix::unsafe_arena_release_prefix() { + // @@protoc_insertion_point(field_release:service_layer.SLRoutePrefix.Prefix) + + ::service_layer::SLIpAddress* temp = prefix_; + prefix_ = nullptr; + return temp; +} +inline ::service_layer::SLIpAddress* SLRoutePrefix::_internal_mutable_prefix() { + + if (prefix_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLIpAddress>(GetArenaForAllocation()); + prefix_ = p; + } + return prefix_; +} +inline ::service_layer::SLIpAddress* SLRoutePrefix::mutable_prefix() { + ::service_layer::SLIpAddress* _msg = _internal_mutable_prefix(); + // @@protoc_insertion_point(field_mutable:service_layer.SLRoutePrefix.Prefix) + return _msg; +} +inline void SLRoutePrefix::set_allocated_prefix(::service_layer::SLIpAddress* prefix) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(prefix_); + } + if (prefix) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(prefix)); + if (message_arena != submessage_arena) { + prefix = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, prefix, submessage_arena); + } + + } else { + + } + prefix_ = prefix; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLRoutePrefix.Prefix) +} + +// uint32 PrefixLen = 2; +inline void SLRoutePrefix::clear_prefixlen() { + prefixlen_ = 0u; } -inline uint32_t SLRoutePath::_internal_flags() const { - return flags_; +inline uint32_t SLRoutePrefix::_internal_prefixlen() const { + return prefixlen_; } -inline uint32_t SLRoutePath::flags() const { - // @@protoc_insertion_point(field_get:service_layer.SLRoutePath.Flags) - return _internal_flags(); +inline uint32_t SLRoutePrefix::prefixlen() const { + // @@protoc_insertion_point(field_get:service_layer.SLRoutePrefix.PrefixLen) + return _internal_prefixlen(); } -inline void SLRoutePath::_internal_set_flags(uint32_t value) { +inline void SLRoutePrefix::_internal_set_prefixlen(uint32_t value) { - flags_ = value; + prefixlen_ = value; } -inline void SLRoutePath::set_flags(uint32_t value) { - _internal_set_flags(value); - // @@protoc_insertion_point(field_set:service_layer.SLRoutePath.Flags) +inline void SLRoutePrefix::set_prefixlen(uint32_t value) { + _internal_set_prefixlen(value); + // @@protoc_insertion_point(field_set:service_layer.SLRoutePrefix.PrefixLen) } #ifdef __GNUC__ diff --git a/grpc/cpp/src/gencpp/sl_route_ipv4.pb.cc b/grpc/cpp/src/gencpp/sl_route_ipv4.pb.cc index f59eee2..776f824 100644 --- a/grpc/cpp/src/gencpp/sl_route_ipv4.pb.cc +++ b/grpc/cpp/src/gencpp/sl_route_ipv4.pb.cc @@ -22,8 +22,7 @@ constexpr SLRoutev4::SLRoutev4( : pathlist_() , routecommon_(nullptr) , prefix_(0u) - , prefixlen_(0u) - , _oneof_case_{}{} + , prefixlen_(0u){} struct SLRoutev4DefaultTypeInternal { constexpr SLRoutev4DefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -147,15 +146,13 @@ const uint32_t TableStruct_sl_5froute_5fipv4_2eproto::offsets[] PROTOBUF_SECTION ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4, _internal_metadata_), ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4, _oneof_case_[0]), + ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4, prefix_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4, prefixlen_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4, routecommon_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4, pathlist_), - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4, entry_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev4Msg, _internal_metadata_), ~0u, // no _extensions_ @@ -232,13 +229,13 @@ const uint32_t TableStruct_sl_5froute_5fipv4_2eproto::offsets[] PROTOBUF_SECTION }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::service_layer::SLRoutev4)}, - { 12, -1, -1, sizeof(::service_layer::SLRoutev4Msg)}, - { 22, -1, -1, sizeof(::service_layer::SLRoutev4Res)}, - { 31, -1, -1, sizeof(::service_layer::SLRoutev4MsgRsp)}, - { 41, -1, -1, sizeof(::service_layer::SLRoutev4GetMsg)}, - { 53, -1, -1, sizeof(::service_layer::SLRoutev4GetMsgRsp)}, - { 64, -1, -1, sizeof(::service_layer::SLRoutev4NotifRoute)}, - { 72, -1, -1, sizeof(::service_layer::SLRoutev4Notif)}, + { 10, -1, -1, sizeof(::service_layer::SLRoutev4Msg)}, + { 20, -1, -1, sizeof(::service_layer::SLRoutev4Res)}, + { 29, -1, -1, sizeof(::service_layer::SLRoutev4MsgRsp)}, + { 39, -1, -1, sizeof(::service_layer::SLRoutev4GetMsg)}, + { 51, -1, -1, sizeof(::service_layer::SLRoutev4GetMsgRsp)}, + { 62, -1, -1, sizeof(::service_layer::SLRoutev4NotifRoute)}, + { 70, -1, -1, sizeof(::service_layer::SLRoutev4Notif)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -255,65 +252,63 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = const char descriptor_table_protodef_sl_5froute_5fipv4_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\023sl_route_ipv4.proto\022\rservice_layer\032\025sl" "_common_types.proto\032\025sl_route_common.pro" - "to\"\322\001\n\tSLRoutev4\022\016\n\006Prefix\030\001 \001(\r\022\021\n\tPref" + "to\"\217\001\n\tSLRoutev4\022\016\n\006Prefix\030\001 \001(\r\022\021\n\tPref" "ixLen\030\002 \001(\r\0221\n\013RouteCommon\030\003 \001(\0132\034.servi" "ce_layer.SLRouteCommon\022,\n\010PathList\030\004 \003(\013" - "2\032.service_layer.SLRoutePath\0228\n\014PathGrou" - "pKey\030\005 \001(\0132 .service_layer.SLPathGroupRe" - "fKeyH\000B\007\n\005entry\"\206\001\n\014SLRoutev4Msg\022\'\n\004Oper" - "\030\001 \001(\0162\031.service_layer.SLObjectOp\022\022\n\nCor" - "relator\030\002 \001(\004\022\017\n\007VrfName\030\003 \001(\t\022(\n\006Routes" - "\030\004 \003(\0132\030.service_layer.SLRoutev4\"b\n\014SLRo" - "utev4Res\022/\n\tErrStatus\030\001 \001(\0132\034.service_la" - "yer.SLErrorStatus\022\016\n\006Prefix\030\002 \001(\r\022\021\n\tPre" - "fixLen\030\003 \001(\r\"\231\001\n\017SLRoutev4MsgRsp\022\022\n\nCorr" - "elator\030\001 \001(\004\022\017\n\007VrfName\030\002 \001(\t\0223\n\rStatusS" - "ummary\030\003 \001(\0132\034.service_layer.SLErrorStat" - "us\022,\n\007Results\030\004 \003(\0132\033.service_layer.SLRo" - "utev4Res\"\200\001\n\017SLRoutev4GetMsg\022\022\n\nCorrelat" - "or\030\001 \001(\004\022\017\n\007VrfName\030\002 \001(\t\022\016\n\006Prefix\030\003 \001(" - "\r\022\021\n\tPrefixLen\030\004 \001(\r\022\024\n\014EntriesCount\030\005 \001" - "(\r\022\017\n\007GetNext\030\006 \001(\010\"\242\001\n\022SLRoutev4GetMsgR" - "sp\022\022\n\nCorrelator\030\001 \001(\004\022\013\n\003Eof\030\002 \001(\010\022\017\n\007V" - "rfName\030\003 \001(\t\022/\n\tErrStatus\030\004 \001(\0132\034.servic" - "e_layer.SLErrorStatus\022)\n\007Entries\030\005 \003(\0132\030" - ".service_layer.SLRoutev4\"Q\n\023SLRoutev4Not" - "ifRoute\022\017\n\007VrfName\030\001 \001(\t\022)\n\007Entries\030\002 \003(" - "\0132\030.service_layer.SLRoutev4\"\311\002\n\016SLRoutev" - "4Notif\022-\n\tEventType\030\001 \001(\0162\032.service_laye" - "r.SLNotifType\0221\n\tErrStatus\030\002 \001(\0132\034.servi" - "ce_layer.SLErrorStatusH\000\0228\n\013NotifStatus\030" - "\003 \001(\0132!.service_layer.SLRouteNotifStatus" - "H\000\0223\n\005Route\030\004 \001(\0132\".service_layer.SLRout" - "ev4NotifRouteH\000\0223\n\006Marker\030\005 \001(\0132!.servic" - "e_layer.SLRouteNotifMarkerH\000\022(\n\003Vrf\030\006 \001(" - "\0132\031.service_layer.SLVrfNotifH\000B\007\n\005Event2" - "\230\007\n\rSLRoutev4Oper\022b\n\023SLRoutev4GlobalsGet" - "\022#.service_layer.SLRouteGlobalsGetMsg\032&." - "service_layer.SLRouteGlobalsGetMsgRsp\022n\n" - "\027SLRoutev4GlobalStatsGet\022\'.service_layer" - ".SLRouteGlobalStatsGetMsg\032*.service_laye" - "r.SLRouteGlobalStatsGetMsgRsp\022N\n\021SLRoute" - "v4VrfRegOp\022\032.service_layer.SLVrfRegMsg\032\035" - ".service_layer.SLVrfRegMsgRsp\022U\n\022SLRoute" - "v4VrfRegGet\022\035.service_layer.SLVrfRegGetM" - "sg\032 .service_layer.SLVrfRegGetMsgRsp\022Y\n\024" - "SLRoutev4VrfGetStats\022\035.service_layer.SLV" - "rfRegGetMsg\032\".service_layer.SLVRFGetStat" - "sMsgRsp\022J\n\013SLRoutev4Op\022\033.service_layer.S" - "LRoutev4Msg\032\036.service_layer.SLRoutev4Msg" - "Rsp\022Q\n\014SLRoutev4Get\022\036.service_layer.SLRo" - "utev4GetMsg\032!.service_layer.SLRoutev4Get" - "MsgRsp\022T\n\021SLRoutev4OpStream\022\033.service_la" - "yer.SLRoutev4Msg\032\036.service_layer.SLRoute" - "v4MsgRsp(\0010\001\022[\n\022SLRoutev4GetStream\022\036.ser" - "vice_layer.SLRoutev4GetMsg\032!.service_lay" - "er.SLRoutev4GetMsgRsp(\0010\001\022_\n\027SLRoutev4Ge" - "tNotifStream\022!.service_layer.SLRouteGetN" - "otifMsg\032\035.service_layer.SLRoutev4Notif(\001" - "0\001BQZOgithub.com/Cisco-service-layer/ser" - "vice-layer-objmodel/grpc/protos;service_" - "layerb\006proto3" + "2\032.service_layer.SLRoutePath\"\206\001\n\014SLRoute" + "v4Msg\022\'\n\004Oper\030\001 \001(\0162\031.service_layer.SLOb" + "jectOp\022\022\n\nCorrelator\030\002 \001(\004\022\017\n\007VrfName\030\003 " + "\001(\t\022(\n\006Routes\030\004 \003(\0132\030.service_layer.SLRo" + "utev4\"b\n\014SLRoutev4Res\022/\n\tErrStatus\030\001 \001(\013" + "2\034.service_layer.SLErrorStatus\022\016\n\006Prefix" + "\030\002 \001(\r\022\021\n\tPrefixLen\030\003 \001(\r\"\231\001\n\017SLRoutev4M" + "sgRsp\022\022\n\nCorrelator\030\001 \001(\004\022\017\n\007VrfName\030\002 \001" + "(\t\0223\n\rStatusSummary\030\003 \001(\0132\034.service_laye" + "r.SLErrorStatus\022,\n\007Results\030\004 \003(\0132\033.servi" + "ce_layer.SLRoutev4Res\"\200\001\n\017SLRoutev4GetMs" + "g\022\022\n\nCorrelator\030\001 \001(\004\022\017\n\007VrfName\030\002 \001(\t\022\016" + "\n\006Prefix\030\003 \001(\r\022\021\n\tPrefixLen\030\004 \001(\r\022\024\n\014Ent" + "riesCount\030\005 \001(\r\022\017\n\007GetNext\030\006 \001(\010\"\242\001\n\022SLR" + "outev4GetMsgRsp\022\022\n\nCorrelator\030\001 \001(\004\022\013\n\003E" + "of\030\002 \001(\010\022\017\n\007VrfName\030\003 \001(\t\022/\n\tErrStatus\030\004" + " \001(\0132\034.service_layer.SLErrorStatus\022)\n\007En" + "tries\030\005 \003(\0132\030.service_layer.SLRoutev4\"Q\n" + "\023SLRoutev4NotifRoute\022\017\n\007VrfName\030\001 \001(\t\022)\n" + "\007Entries\030\002 \003(\0132\030.service_layer.SLRoutev4" + "\"\311\002\n\016SLRoutev4Notif\022-\n\tEventType\030\001 \001(\0162\032" + ".service_layer.SLNotifType\0221\n\tErrStatus\030" + "\002 \001(\0132\034.service_layer.SLErrorStatusH\000\0228\n" + "\013NotifStatus\030\003 \001(\0132!.service_layer.SLRou" + "teNotifStatusH\000\0223\n\005Route\030\004 \001(\0132\".service" + "_layer.SLRoutev4NotifRouteH\000\0223\n\006Marker\030\005" + " \001(\0132!.service_layer.SLRouteNotifMarkerH" + "\000\022(\n\003Vrf\030\006 \001(\0132\031.service_layer.SLVrfNoti" + "fH\000B\007\n\005Event2\230\007\n\rSLRoutev4Oper\022b\n\023SLRout" + "ev4GlobalsGet\022#.service_layer.SLRouteGlo" + "balsGetMsg\032&.service_layer.SLRouteGlobal" + "sGetMsgRsp\022n\n\027SLRoutev4GlobalStatsGet\022\'." + "service_layer.SLRouteGlobalStatsGetMsg\032*" + ".service_layer.SLRouteGlobalStatsGetMsgR" + "sp\022N\n\021SLRoutev4VrfRegOp\022\032.service_layer." + "SLVrfRegMsg\032\035.service_layer.SLVrfRegMsgR" + "sp\022U\n\022SLRoutev4VrfRegGet\022\035.service_layer" + ".SLVrfRegGetMsg\032 .service_layer.SLVrfReg" + "GetMsgRsp\022Y\n\024SLRoutev4VrfGetStats\022\035.serv" + "ice_layer.SLVrfRegGetMsg\032\".service_layer" + ".SLVRFGetStatsMsgRsp\022J\n\013SLRoutev4Op\022\033.se" + "rvice_layer.SLRoutev4Msg\032\036.service_layer" + ".SLRoutev4MsgRsp\022Q\n\014SLRoutev4Get\022\036.servi" + "ce_layer.SLRoutev4GetMsg\032!.service_layer" + ".SLRoutev4GetMsgRsp\022T\n\021SLRoutev4OpStream" + "\022\033.service_layer.SLRoutev4Msg\032\036.service_" + "layer.SLRoutev4MsgRsp(\0010\001\022[\n\022SLRoutev4Ge" + "tStream\022\036.service_layer.SLRoutev4GetMsg\032" + "!.service_layer.SLRoutev4GetMsgRsp(\0010\001\022_" + "\n\027SLRoutev4GetNotifStream\022!.service_laye" + "r.SLRouteGetNotifMsg\032\035.service_layer.SLR" + "outev4Notif(\0010\001BQZOgithub.com/Cisco-serv" + "ice-layer/service-layer-objmodel/grpc/pr" + "otos;service_layerb\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5froute_5fipv4_2eproto_deps[2] = { &::descriptor_table_sl_5fcommon_5ftypes_2eproto, @@ -321,7 +316,7 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5froute_5fipv4_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5froute_5fipv4_2eproto = { - false, false, 2413, descriptor_table_protodef_sl_5froute_5fipv4_2eproto, "sl_route_ipv4.proto", + false, false, 2346, descriptor_table_protodef_sl_5froute_5fipv4_2eproto, "sl_route_ipv4.proto", &descriptor_table_sl_5froute_5fipv4_2eproto_once, descriptor_table_sl_5froute_5fipv4_2eproto_deps, 2, 8, schemas, file_default_instances, TableStruct_sl_5froute_5fipv4_2eproto::offsets, file_level_metadata_sl_5froute_5fipv4_2eproto, file_level_enum_descriptors_sl_5froute_5fipv4_2eproto, file_level_service_descriptors_sl_5froute_5fipv4_2eproto, @@ -339,17 +334,12 @@ namespace service_layer { class SLRoutev4::_Internal { public: static const ::service_layer::SLRouteCommon& routecommon(const SLRoutev4* msg); - static const ::service_layer::SLPathGroupRefKey& pathgroupkey(const SLRoutev4* msg); }; const ::service_layer::SLRouteCommon& SLRoutev4::_Internal::routecommon(const SLRoutev4* msg) { return *msg->routecommon_; } -const ::service_layer::SLPathGroupRefKey& -SLRoutev4::_Internal::pathgroupkey(const SLRoutev4* msg) { - return *msg->entry_.pathgroupkey_; -} void SLRoutev4::clear_routecommon() { if (GetArenaForAllocation() == nullptr && routecommon_ != nullptr) { delete routecommon_; @@ -359,31 +349,6 @@ void SLRoutev4::clear_routecommon() { void SLRoutev4::clear_pathlist() { pathlist_.Clear(); } -void SLRoutev4::set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupkey)); - if (message_arena != submessage_arena) { - pathgroupkey = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pathgroupkey, submessage_arena); - } - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLRoutev4.PathGroupKey) -} -void SLRoutev4::clear_pathgroupkey() { - if (_internal_has_pathgroupkey()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - clear_has_entry(); - } -} SLRoutev4::SLRoutev4(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), @@ -406,16 +371,6 @@ SLRoutev4::SLRoutev4(const SLRoutev4& from) ::memcpy(&prefix_, &from.prefix_, static_cast(reinterpret_cast(&prefixlen_) - reinterpret_cast(&prefix_)) + sizeof(prefixlen_)); - clear_has_entry(); - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } // @@protoc_insertion_point(copy_constructor:service_layer.SLRoutev4) } @@ -424,7 +379,6 @@ ::memset(reinterpret_cast(this) + static_cast( reinterpret_cast(&routecommon_) - reinterpret_cast(this)), 0, static_cast(reinterpret_cast(&prefixlen_) - reinterpret_cast(&routecommon_)) + sizeof(prefixlen_)); -clear_has_entry(); } SLRoutev4::~SLRoutev4() { @@ -437,9 +391,6 @@ SLRoutev4::~SLRoutev4() { inline void SLRoutev4::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); if (this != internal_default_instance()) delete routecommon_; - if (has_entry()) { - clear_entry(); - } } void SLRoutev4::ArenaDtor(void* object) { @@ -452,23 +403,6 @@ void SLRoutev4::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLRoutev4::clear_entry() { -// @@protoc_insertion_point(one_of_clear_start:service_layer.SLRoutev4) - switch (entry_case()) { - case kPathGroupKey: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _oneof_case_[0] = ENTRY_NOT_SET; -} - - void SLRoutev4::Clear() { // @@protoc_insertion_point(message_clear_start:service_layer.SLRoutev4) uint32_t cached_has_bits = 0; @@ -483,7 +417,6 @@ void SLRoutev4::Clear() { ::memset(&prefix_, 0, static_cast( reinterpret_cast(&prefixlen_) - reinterpret_cast(&prefix_)) + sizeof(prefixlen_)); - clear_entry(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -530,14 +463,6 @@ const char* SLRoutev4::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: } else goto handle_unusual; continue; - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - ptr = ctx->ParseMessage(_internal_mutable_pathgroupkey(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; default: goto handle_unusual; } // switch @@ -595,14 +520,6 @@ uint8_t* SLRoutev4::_InternalSerialize( InternalWriteMessage(4, this->_internal_pathlist(i), target, stream); } - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - if (_internal_has_pathgroupkey()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 5, _Internal::pathgroupkey(this), target, stream); - } - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -643,18 +560,6 @@ size_t SLRoutev4::ByteSizeLong() const { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_prefixlen()); } - switch (entry_case()) { - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - case kPathGroupKey: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.pathgroupkey_); - break; - } - case ENTRY_NOT_SET: { - break; - } - } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } @@ -687,15 +592,6 @@ void SLRoutev4::MergeFrom(const SLRoutev4& from) { if (from._internal_prefixlen() != 0) { _internal_set_prefixlen(from._internal_prefixlen()); } - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -720,8 +616,6 @@ void SLRoutev4::InternalSwap(SLRoutev4* other) { - PROTOBUF_FIELD_OFFSET(SLRoutev4, routecommon_)>( reinterpret_cast(&routecommon_), reinterpret_cast(&other->routecommon_)); - swap(entry_, other->entry_); - swap(_oneof_case_[0], other->_oneof_case_[0]); } ::PROTOBUF_NAMESPACE_ID::Metadata SLRoutev4::GetMetadata() const { diff --git a/grpc/cpp/src/gencpp/sl_route_ipv4.pb.h b/grpc/cpp/src/gencpp/sl_route_ipv4.pb.h index dde744f..a5c886e 100644 --- a/grpc/cpp/src/gencpp/sl_route_ipv4.pb.h +++ b/grpc/cpp/src/gencpp/sl_route_ipv4.pb.h @@ -138,11 +138,6 @@ class SLRoutev4 final : static const SLRoutev4& default_instance() { return *internal_default_instance(); } - enum EntryCase { - kPathGroupKey = 5, - ENTRY_NOT_SET = 0, - }; - static inline const SLRoutev4* internal_default_instance() { return reinterpret_cast( &_SLRoutev4_default_instance_); @@ -226,7 +221,6 @@ class SLRoutev4 final : kRouteCommonFieldNumber = 3, kPrefixFieldNumber = 1, kPrefixLenFieldNumber = 2, - kPathGroupKeyFieldNumber = 5, }; // repeated .service_layer.SLRoutePath PathList = 4; int pathlist_size() const; @@ -282,33 +276,9 @@ class SLRoutev4 final : void _internal_set_prefixlen(uint32_t value); public: - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - bool has_pathgroupkey() const; - private: - bool _internal_has_pathgroupkey() const; - public: - void clear_pathgroupkey(); - const ::service_layer::SLPathGroupRefKey& pathgroupkey() const; - PROTOBUF_NODISCARD ::service_layer::SLPathGroupRefKey* release_pathgroupkey(); - ::service_layer::SLPathGroupRefKey* mutable_pathgroupkey(); - void set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey); - private: - const ::service_layer::SLPathGroupRefKey& _internal_pathgroupkey() const; - ::service_layer::SLPathGroupRefKey* _internal_mutable_pathgroupkey(); - public: - void unsafe_arena_set_allocated_pathgroupkey( - ::service_layer::SLPathGroupRefKey* pathgroupkey); - ::service_layer::SLPathGroupRefKey* unsafe_arena_release_pathgroupkey(); - - void clear_entry(); - EntryCase entry_case() const; // @@protoc_insertion_point(class_scope:service_layer.SLRoutev4) private: class _Internal; - void set_has_pathgroupkey(); - - inline bool has_entry() const; - inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; @@ -317,14 +287,7 @@ class SLRoutev4 final : ::service_layer::SLRouteCommon* routecommon_; uint32_t prefix_; uint32_t prefixlen_; - union EntryUnion { - constexpr EntryUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLPathGroupRefKey* pathgroupkey_; - } entry_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_sl_5froute_5fipv4_2eproto; }; // ------------------------------------------------------------------- @@ -1934,81 +1897,6 @@ SLRoutev4::pathlist() const { return pathlist_; } -// .service_layer.SLPathGroupRefKey PathGroupKey = 5; -inline bool SLRoutev4::_internal_has_pathgroupkey() const { - return entry_case() == kPathGroupKey; -} -inline bool SLRoutev4::has_pathgroupkey() const { - return _internal_has_pathgroupkey(); -} -inline void SLRoutev4::set_has_pathgroupkey() { - _oneof_case_[0] = kPathGroupKey; -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev4::release_pathgroupkey() { - // @@protoc_insertion_point(field_release:service_layer.SLRoutev4.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - entry_.pathgroupkey_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::service_layer::SLPathGroupRefKey& SLRoutev4::_internal_pathgroupkey() const { - return _internal_has_pathgroupkey() - ? *entry_.pathgroupkey_ - : reinterpret_cast< ::service_layer::SLPathGroupRefKey&>(::service_layer::_SLPathGroupRefKey_default_instance_); -} -inline const ::service_layer::SLPathGroupRefKey& SLRoutev4::pathgroupkey() const { - // @@protoc_insertion_point(field_get:service_layer.SLRoutev4.PathGroupKey) - return _internal_pathgroupkey(); -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev4::unsafe_arena_release_pathgroupkey() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLRoutev4.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; - entry_.pathgroupkey_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline void SLRoutev4::unsafe_arena_set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - clear_entry(); - if (pathgroupkey) { - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLRoutev4.PathGroupKey) -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev4::_internal_mutable_pathgroupkey() { - if (!_internal_has_pathgroupkey()) { - clear_entry(); - set_has_pathgroupkey(); - entry_.pathgroupkey_ = CreateMaybeMessage< ::service_layer::SLPathGroupRefKey >(GetArenaForAllocation()); - } - return entry_.pathgroupkey_; -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev4::mutable_pathgroupkey() { - ::service_layer::SLPathGroupRefKey* _msg = _internal_mutable_pathgroupkey(); - // @@protoc_insertion_point(field_mutable:service_layer.SLRoutev4.PathGroupKey) - return _msg; -} - -inline bool SLRoutev4::has_entry() const { - return entry_case() != ENTRY_NOT_SET; -} -inline void SLRoutev4::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; -} -inline SLRoutev4::EntryCase SLRoutev4::entry_case() const { - return SLRoutev4::EntryCase(_oneof_case_[0]); -} // ------------------------------------------------------------------- // SLRoutev4Msg diff --git a/grpc/cpp/src/gencpp/sl_route_ipv6.pb.cc b/grpc/cpp/src/gencpp/sl_route_ipv6.pb.cc index 5811fa8..448f6f2 100644 --- a/grpc/cpp/src/gencpp/sl_route_ipv6.pb.cc +++ b/grpc/cpp/src/gencpp/sl_route_ipv6.pb.cc @@ -22,8 +22,7 @@ constexpr SLRoutev6::SLRoutev6( : pathlist_() , prefix_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , routecommon_(nullptr) - , prefixlen_(0u) - , _oneof_case_{}{} + , prefixlen_(0u){} struct SLRoutev6DefaultTypeInternal { constexpr SLRoutev6DefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -147,15 +146,13 @@ const uint32_t TableStruct_sl_5froute_5fipv6_2eproto::offsets[] PROTOBUF_SECTION ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6, _internal_metadata_), ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6, _oneof_case_[0]), + ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6, prefix_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6, prefixlen_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6, routecommon_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6, pathlist_), - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6, entry_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutev6Msg, _internal_metadata_), ~0u, // no _extensions_ @@ -232,13 +229,13 @@ const uint32_t TableStruct_sl_5froute_5fipv6_2eproto::offsets[] PROTOBUF_SECTION }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::service_layer::SLRoutev6)}, - { 12, -1, -1, sizeof(::service_layer::SLRoutev6Msg)}, - { 22, -1, -1, sizeof(::service_layer::SLRoutev6Res)}, - { 31, -1, -1, sizeof(::service_layer::SLRoutev6MsgRsp)}, - { 41, -1, -1, sizeof(::service_layer::SLRoutev6GetMsg)}, - { 53, -1, -1, sizeof(::service_layer::SLRoutev6GetMsgRsp)}, - { 64, -1, -1, sizeof(::service_layer::SLRoutev6NotifRoute)}, - { 72, -1, -1, sizeof(::service_layer::SLRoutev6Notif)}, + { 10, -1, -1, sizeof(::service_layer::SLRoutev6Msg)}, + { 20, -1, -1, sizeof(::service_layer::SLRoutev6Res)}, + { 29, -1, -1, sizeof(::service_layer::SLRoutev6MsgRsp)}, + { 39, -1, -1, sizeof(::service_layer::SLRoutev6GetMsg)}, + { 51, -1, -1, sizeof(::service_layer::SLRoutev6GetMsgRsp)}, + { 62, -1, -1, sizeof(::service_layer::SLRoutev6NotifRoute)}, + { 70, -1, -1, sizeof(::service_layer::SLRoutev6Notif)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -255,65 +252,63 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = const char descriptor_table_protodef_sl_5froute_5fipv6_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\023sl_route_ipv6.proto\022\rservice_layer\032\025sl" "_common_types.proto\032\025sl_route_common.pro" - "to\"\322\001\n\tSLRoutev6\022\016\n\006Prefix\030\001 \001(\014\022\021\n\tPref" + "to\"\217\001\n\tSLRoutev6\022\016\n\006Prefix\030\001 \001(\014\022\021\n\tPref" "ixLen\030\002 \001(\r\0221\n\013RouteCommon\030\003 \001(\0132\034.servi" "ce_layer.SLRouteCommon\022,\n\010PathList\030\004 \003(\013" - "2\032.service_layer.SLRoutePath\0228\n\014PathGrou" - "pKey\030\005 \001(\0132 .service_layer.SLPathGroupRe" - "fKeyH\000B\007\n\005entry\"\206\001\n\014SLRoutev6Msg\022\'\n\004Oper" - "\030\001 \001(\0162\031.service_layer.SLObjectOp\022\022\n\nCor" - "relator\030\002 \001(\004\022\017\n\007VrfName\030\003 \001(\t\022(\n\006Routes" - "\030\004 \003(\0132\030.service_layer.SLRoutev6\"b\n\014SLRo" - "utev6Res\022/\n\tErrStatus\030\001 \001(\0132\034.service_la" - "yer.SLErrorStatus\022\016\n\006Prefix\030\002 \001(\014\022\021\n\tPre" - "fixLen\030\003 \001(\r\"\231\001\n\017SLRoutev6MsgRsp\022\022\n\nCorr" - "elator\030\001 \001(\004\022\017\n\007VrfName\030\002 \001(\t\0223\n\rStatusS" - "ummary\030\003 \001(\0132\034.service_layer.SLErrorStat" - "us\022,\n\007Results\030\004 \003(\0132\033.service_layer.SLRo" - "utev6Res\"\200\001\n\017SLRoutev6GetMsg\022\022\n\nCorrelat" - "or\030\001 \001(\004\022\017\n\007VrfName\030\002 \001(\t\022\016\n\006Prefix\030\003 \001(" - "\014\022\021\n\tPrefixLen\030\004 \001(\r\022\024\n\014EntriesCount\030\005 \001" - "(\r\022\017\n\007GetNext\030\006 \001(\010\"\242\001\n\022SLRoutev6GetMsgR" - "sp\022\022\n\nCorrelator\030\001 \001(\004\022\013\n\003Eof\030\002 \001(\010\022\017\n\007V" - "rfName\030\003 \001(\t\022/\n\tErrStatus\030\004 \001(\0132\034.servic" - "e_layer.SLErrorStatus\022)\n\007Entries\030\005 \003(\0132\030" - ".service_layer.SLRoutev6\"Q\n\023SLRoutev6Not" - "ifRoute\022\017\n\007VrfName\030\001 \001(\t\022)\n\007Entries\030\002 \003(" - "\0132\030.service_layer.SLRoutev6\"\311\002\n\016SLRoutev" - "6Notif\022-\n\tEventType\030\001 \001(\0162\032.service_laye" - "r.SLNotifType\0221\n\tErrStatus\030\002 \001(\0132\034.servi" - "ce_layer.SLErrorStatusH\000\0228\n\013NotifStatus\030" - "\003 \001(\0132!.service_layer.SLRouteNotifStatus" - "H\000\0223\n\005Route\030\004 \001(\0132\".service_layer.SLRout" - "ev6NotifRouteH\000\0223\n\006Marker\030\005 \001(\0132!.servic" - "e_layer.SLRouteNotifMarkerH\000\022(\n\003Vrf\030\006 \001(" - "\0132\031.service_layer.SLVrfNotifH\000B\007\n\005Event2" - "\230\007\n\rSLRoutev6Oper\022b\n\023SLRoutev6GlobalsGet" - "\022#.service_layer.SLRouteGlobalsGetMsg\032&." - "service_layer.SLRouteGlobalsGetMsgRsp\022n\n" - "\027SLRoutev6GlobalStatsGet\022\'.service_layer" - ".SLRouteGlobalStatsGetMsg\032*.service_laye" - "r.SLRouteGlobalStatsGetMsgRsp\022N\n\021SLRoute" - "v6VrfRegOp\022\032.service_layer.SLVrfRegMsg\032\035" - ".service_layer.SLVrfRegMsgRsp\022U\n\022SLRoute" - "v6VrfRegGet\022\035.service_layer.SLVrfRegGetM" - "sg\032 .service_layer.SLVrfRegGetMsgRsp\022Y\n\024" - "SLRoutev6VrfGetStats\022\035.service_layer.SLV" - "rfRegGetMsg\032\".service_layer.SLVRFGetStat" - "sMsgRsp\022J\n\013SLRoutev6Op\022\033.service_layer.S" - "LRoutev6Msg\032\036.service_layer.SLRoutev6Msg" - "Rsp\022Q\n\014SLRoutev6Get\022\036.service_layer.SLRo" - "utev6GetMsg\032!.service_layer.SLRoutev6Get" - "MsgRsp\022T\n\021SLRoutev6OpStream\022\033.service_la" - "yer.SLRoutev6Msg\032\036.service_layer.SLRoute" - "v6MsgRsp(\0010\001\022[\n\022SLRoutev6GetStream\022\036.ser" - "vice_layer.SLRoutev6GetMsg\032!.service_lay" - "er.SLRoutev6GetMsgRsp(\0010\001\022_\n\027SLRoutev6Ge" - "tNotifStream\022!.service_layer.SLRouteGetN" - "otifMsg\032\035.service_layer.SLRoutev6Notif(\001" - "0\001BQZOgithub.com/Cisco-service-layer/ser" - "vice-layer-objmodel/grpc/protos;service_" - "layerb\006proto3" + "2\032.service_layer.SLRoutePath\"\206\001\n\014SLRoute" + "v6Msg\022\'\n\004Oper\030\001 \001(\0162\031.service_layer.SLOb" + "jectOp\022\022\n\nCorrelator\030\002 \001(\004\022\017\n\007VrfName\030\003 " + "\001(\t\022(\n\006Routes\030\004 \003(\0132\030.service_layer.SLRo" + "utev6\"b\n\014SLRoutev6Res\022/\n\tErrStatus\030\001 \001(\013" + "2\034.service_layer.SLErrorStatus\022\016\n\006Prefix" + "\030\002 \001(\014\022\021\n\tPrefixLen\030\003 \001(\r\"\231\001\n\017SLRoutev6M" + "sgRsp\022\022\n\nCorrelator\030\001 \001(\004\022\017\n\007VrfName\030\002 \001" + "(\t\0223\n\rStatusSummary\030\003 \001(\0132\034.service_laye" + "r.SLErrorStatus\022,\n\007Results\030\004 \003(\0132\033.servi" + "ce_layer.SLRoutev6Res\"\200\001\n\017SLRoutev6GetMs" + "g\022\022\n\nCorrelator\030\001 \001(\004\022\017\n\007VrfName\030\002 \001(\t\022\016" + "\n\006Prefix\030\003 \001(\014\022\021\n\tPrefixLen\030\004 \001(\r\022\024\n\014Ent" + "riesCount\030\005 \001(\r\022\017\n\007GetNext\030\006 \001(\010\"\242\001\n\022SLR" + "outev6GetMsgRsp\022\022\n\nCorrelator\030\001 \001(\004\022\013\n\003E" + "of\030\002 \001(\010\022\017\n\007VrfName\030\003 \001(\t\022/\n\tErrStatus\030\004" + " \001(\0132\034.service_layer.SLErrorStatus\022)\n\007En" + "tries\030\005 \003(\0132\030.service_layer.SLRoutev6\"Q\n" + "\023SLRoutev6NotifRoute\022\017\n\007VrfName\030\001 \001(\t\022)\n" + "\007Entries\030\002 \003(\0132\030.service_layer.SLRoutev6" + "\"\311\002\n\016SLRoutev6Notif\022-\n\tEventType\030\001 \001(\0162\032" + ".service_layer.SLNotifType\0221\n\tErrStatus\030" + "\002 \001(\0132\034.service_layer.SLErrorStatusH\000\0228\n" + "\013NotifStatus\030\003 \001(\0132!.service_layer.SLRou" + "teNotifStatusH\000\0223\n\005Route\030\004 \001(\0132\".service" + "_layer.SLRoutev6NotifRouteH\000\0223\n\006Marker\030\005" + " \001(\0132!.service_layer.SLRouteNotifMarkerH" + "\000\022(\n\003Vrf\030\006 \001(\0132\031.service_layer.SLVrfNoti" + "fH\000B\007\n\005Event2\230\007\n\rSLRoutev6Oper\022b\n\023SLRout" + "ev6GlobalsGet\022#.service_layer.SLRouteGlo" + "balsGetMsg\032&.service_layer.SLRouteGlobal" + "sGetMsgRsp\022n\n\027SLRoutev6GlobalStatsGet\022\'." + "service_layer.SLRouteGlobalStatsGetMsg\032*" + ".service_layer.SLRouteGlobalStatsGetMsgR" + "sp\022N\n\021SLRoutev6VrfRegOp\022\032.service_layer." + "SLVrfRegMsg\032\035.service_layer.SLVrfRegMsgR" + "sp\022U\n\022SLRoutev6VrfRegGet\022\035.service_layer" + ".SLVrfRegGetMsg\032 .service_layer.SLVrfReg" + "GetMsgRsp\022Y\n\024SLRoutev6VrfGetStats\022\035.serv" + "ice_layer.SLVrfRegGetMsg\032\".service_layer" + ".SLVRFGetStatsMsgRsp\022J\n\013SLRoutev6Op\022\033.se" + "rvice_layer.SLRoutev6Msg\032\036.service_layer" + ".SLRoutev6MsgRsp\022Q\n\014SLRoutev6Get\022\036.servi" + "ce_layer.SLRoutev6GetMsg\032!.service_layer" + ".SLRoutev6GetMsgRsp\022T\n\021SLRoutev6OpStream" + "\022\033.service_layer.SLRoutev6Msg\032\036.service_" + "layer.SLRoutev6MsgRsp(\0010\001\022[\n\022SLRoutev6Ge" + "tStream\022\036.service_layer.SLRoutev6GetMsg\032" + "!.service_layer.SLRoutev6GetMsgRsp(\0010\001\022_" + "\n\027SLRoutev6GetNotifStream\022!.service_laye" + "r.SLRouteGetNotifMsg\032\035.service_layer.SLR" + "outev6Notif(\0010\001BQZOgithub.com/Cisco-serv" + "ice-layer/service-layer-objmodel/grpc/pr" + "otos;service_layerb\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5froute_5fipv6_2eproto_deps[2] = { &::descriptor_table_sl_5fcommon_5ftypes_2eproto, @@ -321,7 +316,7 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5froute_5fipv6_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5froute_5fipv6_2eproto = { - false, false, 2413, descriptor_table_protodef_sl_5froute_5fipv6_2eproto, "sl_route_ipv6.proto", + false, false, 2346, descriptor_table_protodef_sl_5froute_5fipv6_2eproto, "sl_route_ipv6.proto", &descriptor_table_sl_5froute_5fipv6_2eproto_once, descriptor_table_sl_5froute_5fipv6_2eproto_deps, 2, 8, schemas, file_default_instances, TableStruct_sl_5froute_5fipv6_2eproto::offsets, file_level_metadata_sl_5froute_5fipv6_2eproto, file_level_enum_descriptors_sl_5froute_5fipv6_2eproto, file_level_service_descriptors_sl_5froute_5fipv6_2eproto, @@ -339,17 +334,12 @@ namespace service_layer { class SLRoutev6::_Internal { public: static const ::service_layer::SLRouteCommon& routecommon(const SLRoutev6* msg); - static const ::service_layer::SLPathGroupRefKey& pathgroupkey(const SLRoutev6* msg); }; const ::service_layer::SLRouteCommon& SLRoutev6::_Internal::routecommon(const SLRoutev6* msg) { return *msg->routecommon_; } -const ::service_layer::SLPathGroupRefKey& -SLRoutev6::_Internal::pathgroupkey(const SLRoutev6* msg) { - return *msg->entry_.pathgroupkey_; -} void SLRoutev6::clear_routecommon() { if (GetArenaForAllocation() == nullptr && routecommon_ != nullptr) { delete routecommon_; @@ -359,31 +349,6 @@ void SLRoutev6::clear_routecommon() { void SLRoutev6::clear_pathlist() { pathlist_.Clear(); } -void SLRoutev6::set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (pathgroupkey) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupkey)); - if (message_arena != submessage_arena) { - pathgroupkey = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pathgroupkey, submessage_arena); - } - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLRoutev6.PathGroupKey) -} -void SLRoutev6::clear_pathgroupkey() { - if (_internal_has_pathgroupkey()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - clear_has_entry(); - } -} SLRoutev6::SLRoutev6(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), @@ -412,16 +377,6 @@ SLRoutev6::SLRoutev6(const SLRoutev6& from) routecommon_ = nullptr; } prefixlen_ = from.prefixlen_; - clear_has_entry(); - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } // @@protoc_insertion_point(copy_constructor:service_layer.SLRoutev6) } @@ -434,7 +389,6 @@ ::memset(reinterpret_cast(this) + static_cast( reinterpret_cast(&routecommon_) - reinterpret_cast(this)), 0, static_cast(reinterpret_cast(&prefixlen_) - reinterpret_cast(&routecommon_)) + sizeof(prefixlen_)); -clear_has_entry(); } SLRoutev6::~SLRoutev6() { @@ -448,9 +402,6 @@ inline void SLRoutev6::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete routecommon_; - if (has_entry()) { - clear_entry(); - } } void SLRoutev6::ArenaDtor(void* object) { @@ -463,23 +414,6 @@ void SLRoutev6::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLRoutev6::clear_entry() { -// @@protoc_insertion_point(one_of_clear_start:service_layer.SLRoutev6) - switch (entry_case()) { - case kPathGroupKey: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroupkey_; - } - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _oneof_case_[0] = ENTRY_NOT_SET; -} - - void SLRoutev6::Clear() { // @@protoc_insertion_point(message_clear_start:service_layer.SLRoutev6) uint32_t cached_has_bits = 0; @@ -493,7 +427,6 @@ void SLRoutev6::Clear() { } routecommon_ = nullptr; prefixlen_ = 0u; - clear_entry(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -541,14 +474,6 @@ const char* SLRoutev6::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: } else goto handle_unusual; continue; - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - ptr = ctx->ParseMessage(_internal_mutable_pathgroupkey(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; default: goto handle_unusual; } // switch @@ -606,14 +531,6 @@ uint8_t* SLRoutev6::_InternalSerialize( InternalWriteMessage(4, this->_internal_pathlist(i), target, stream); } - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - if (_internal_has_pathgroupkey()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 5, _Internal::pathgroupkey(this), target, stream); - } - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -656,18 +573,6 @@ size_t SLRoutev6::ByteSizeLong() const { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_prefixlen()); } - switch (entry_case()) { - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - case kPathGroupKey: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.pathgroupkey_); - break; - } - case ENTRY_NOT_SET: { - break; - } - } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } @@ -700,15 +605,6 @@ void SLRoutev6::MergeFrom(const SLRoutev6& from) { if (from._internal_prefixlen() != 0) { _internal_set_prefixlen(from._internal_prefixlen()); } - switch (from.entry_case()) { - case kPathGroupKey: { - _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); - break; - } - case ENTRY_NOT_SET: { - break; - } - } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -740,8 +636,6 @@ void SLRoutev6::InternalSwap(SLRoutev6* other) { - PROTOBUF_FIELD_OFFSET(SLRoutev6, routecommon_)>( reinterpret_cast(&routecommon_), reinterpret_cast(&other->routecommon_)); - swap(entry_, other->entry_); - swap(_oneof_case_[0], other->_oneof_case_[0]); } ::PROTOBUF_NAMESPACE_ID::Metadata SLRoutev6::GetMetadata() const { diff --git a/grpc/cpp/src/gencpp/sl_route_ipv6.pb.h b/grpc/cpp/src/gencpp/sl_route_ipv6.pb.h index 1c8be87..729e015 100644 --- a/grpc/cpp/src/gencpp/sl_route_ipv6.pb.h +++ b/grpc/cpp/src/gencpp/sl_route_ipv6.pb.h @@ -138,11 +138,6 @@ class SLRoutev6 final : static const SLRoutev6& default_instance() { return *internal_default_instance(); } - enum EntryCase { - kPathGroupKey = 5, - ENTRY_NOT_SET = 0, - }; - static inline const SLRoutev6* internal_default_instance() { return reinterpret_cast( &_SLRoutev6_default_instance_); @@ -226,7 +221,6 @@ class SLRoutev6 final : kPrefixFieldNumber = 1, kRouteCommonFieldNumber = 3, kPrefixLenFieldNumber = 2, - kPathGroupKeyFieldNumber = 5, }; // repeated .service_layer.SLRoutePath PathList = 4; int pathlist_size() const; @@ -287,33 +281,9 @@ class SLRoutev6 final : void _internal_set_prefixlen(uint32_t value); public: - // .service_layer.SLPathGroupRefKey PathGroupKey = 5; - bool has_pathgroupkey() const; - private: - bool _internal_has_pathgroupkey() const; - public: - void clear_pathgroupkey(); - const ::service_layer::SLPathGroupRefKey& pathgroupkey() const; - PROTOBUF_NODISCARD ::service_layer::SLPathGroupRefKey* release_pathgroupkey(); - ::service_layer::SLPathGroupRefKey* mutable_pathgroupkey(); - void set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey); - private: - const ::service_layer::SLPathGroupRefKey& _internal_pathgroupkey() const; - ::service_layer::SLPathGroupRefKey* _internal_mutable_pathgroupkey(); - public: - void unsafe_arena_set_allocated_pathgroupkey( - ::service_layer::SLPathGroupRefKey* pathgroupkey); - ::service_layer::SLPathGroupRefKey* unsafe_arena_release_pathgroupkey(); - - void clear_entry(); - EntryCase entry_case() const; // @@protoc_insertion_point(class_scope:service_layer.SLRoutev6) private: class _Internal; - void set_has_pathgroupkey(); - - inline bool has_entry() const; - inline void clear_has_entry(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; @@ -322,14 +292,7 @@ class SLRoutev6 final : ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr prefix_; ::service_layer::SLRouteCommon* routecommon_; uint32_t prefixlen_; - union EntryUnion { - constexpr EntryUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLPathGroupRefKey* pathgroupkey_; - } entry_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_sl_5froute_5fipv6_2eproto; }; // ------------------------------------------------------------------- @@ -1980,81 +1943,6 @@ SLRoutev6::pathlist() const { return pathlist_; } -// .service_layer.SLPathGroupRefKey PathGroupKey = 5; -inline bool SLRoutev6::_internal_has_pathgroupkey() const { - return entry_case() == kPathGroupKey; -} -inline bool SLRoutev6::has_pathgroupkey() const { - return _internal_has_pathgroupkey(); -} -inline void SLRoutev6::set_has_pathgroupkey() { - _oneof_case_[0] = kPathGroupKey; -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev6::release_pathgroupkey() { - // @@protoc_insertion_point(field_release:service_layer.SLRoutev6.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - entry_.pathgroupkey_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::service_layer::SLPathGroupRefKey& SLRoutev6::_internal_pathgroupkey() const { - return _internal_has_pathgroupkey() - ? *entry_.pathgroupkey_ - : reinterpret_cast< ::service_layer::SLPathGroupRefKey&>(::service_layer::_SLPathGroupRefKey_default_instance_); -} -inline const ::service_layer::SLPathGroupRefKey& SLRoutev6::pathgroupkey() const { - // @@protoc_insertion_point(field_get:service_layer.SLRoutev6.PathGroupKey) - return _internal_pathgroupkey(); -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev6::unsafe_arena_release_pathgroupkey() { - // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLRoutev6.PathGroupKey) - if (_internal_has_pathgroupkey()) { - clear_has_entry(); - ::service_layer::SLPathGroupRefKey* temp = entry_.pathgroupkey_; - entry_.pathgroupkey_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline void SLRoutev6::unsafe_arena_set_allocated_pathgroupkey(::service_layer::SLPathGroupRefKey* pathgroupkey) { - clear_entry(); - if (pathgroupkey) { - set_has_pathgroupkey(); - entry_.pathgroupkey_ = pathgroupkey; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLRoutev6.PathGroupKey) -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev6::_internal_mutable_pathgroupkey() { - if (!_internal_has_pathgroupkey()) { - clear_entry(); - set_has_pathgroupkey(); - entry_.pathgroupkey_ = CreateMaybeMessage< ::service_layer::SLPathGroupRefKey >(GetArenaForAllocation()); - } - return entry_.pathgroupkey_; -} -inline ::service_layer::SLPathGroupRefKey* SLRoutev6::mutable_pathgroupkey() { - ::service_layer::SLPathGroupRefKey* _msg = _internal_mutable_pathgroupkey(); - // @@protoc_insertion_point(field_mutable:service_layer.SLRoutev6.PathGroupKey) - return _msg; -} - -inline bool SLRoutev6::has_entry() const { - return entry_case() != ENTRY_NOT_SET; -} -inline void SLRoutev6::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; -} -inline SLRoutev6::EntryCase SLRoutev6::entry_case() const { - return SLRoutev6::EntryCase(_oneof_case_[0]); -} // ------------------------------------------------------------------- // SLRoutev6Msg diff --git a/grpc/dotnet/src/gencs/SlAf.cs b/grpc/dotnet/src/gencs/SlAf.cs index 8fcce28..7aafe10 100644 --- a/grpc/dotnet/src/gencs/SlAf.cs +++ b/grpc/dotnet/src/gencs/SlAf.cs @@ -25,114 +25,123 @@ static SlAfReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( "CgtzbF9hZi5wcm90bxINc2VydmljZV9sYXllchoVc2xfY29tbW9uX3R5cGVz", - "LnByb3RvGhVzbF9yb3V0ZV9jb21tb24ucHJvdG8aE3NsX3JvdXRlX2lwdjQu", - "cHJvdG8aE3NsX3JvdXRlX2lwdjYucHJvdG8iYAoKU0xBRlZyZlJlZxIpCgVU", - "YWJsZRgBIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5cGUSJwoGVnJm", - "UmVnGAIgASgLMhcuc2VydmljZV9sYXllci5TTFZyZlJlZyJkCg1TTEFGVnJm", - "UmVnTXNnEiQKBE9wZXIYASABKA4yFi5zZXJ2aWNlX2xheWVyLlNMUmVnT3AS", - "LQoKVnJmUmVnTXNncxgCIAMoCzIZLnNlcnZpY2VfbGF5ZXIuU0xBRlZyZlJl", - "ZyJ/ChBTTEFGVnJmUmVnTXNnUmVzEi8KCUVyclN0YXR1cxgBIAEoCzIcLnNl", - "cnZpY2VfbGF5ZXIuU0xFcnJvclN0YXR1cxIPCgdWcmZOYW1lGAIgASgJEikK", - "BVRhYmxlGAMgASgOMhouc2VydmljZV9sYXllci5TTFRhYmxlVHlwZSJ5ChBT", - "TEFGVnJmUmVnTXNnUnNwEjMKDVN0YXR1c1N1bW1hcnkYASABKAsyHC5zZXJ2", - "aWNlX2xheWVyLlNMRXJyb3JTdGF0dXMSMAoHUmVzdWx0cxgCIAMoCzIfLnNl", - "cnZpY2VfbGF5ZXIuU0xBRlZyZlJlZ01zZ1JlcyIiChBTTEFGVnJmUmVnR2V0", - "TXNnEg4KBkdldEFsbBgBIAEoCCKtAQoTU0xBRlZyZlJlZ0dldE1zZ1JzcBIv", - "CglFcnJTdGF0dXMYASABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0", - "dXMSEAoIQ2xpZW50SUQYAiABKAQSKQoFVGFibGUYAyABKA4yGi5zZXJ2aWNl", - "X2xheWVyLlNMVGFibGVUeXBlEigKB0VudHJpZXMYBCADKAsyFy5zZXJ2aWNl", - "X2xheWVyLlNMVnJmUmVnIpsCCgtTTFBhdGhHcm91cBIuCgtQYXRoR3JvdXBJ", - "ZBgBIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xPYmplY3RJZBIVCg1BZG1pbkRp", - "c3RhbmNlGAIgASgNEjkKCFBhdGhMaXN0GAMgASgLMiUuc2VydmljZV9sYXll", - "ci5TTFBhdGhHcm91cC5TTFBhdGhMaXN0SAASDQoFRmxhZ3MYBCABKA0aMgoG", - "U0xQYXRoEigKBFBhdGgYASABKAsyGi5zZXJ2aWNlX2xheWVyLlNMUm91dGVQ", - "YXRoGj4KClNMUGF0aExpc3QSMAoFUGF0aHMYASADKAsyIS5zZXJ2aWNlX2xh", - "eWVyLlNMUGF0aEdyb3VwLlNMUGF0aEIHCgVlbnRyeSK4AQoLU0xNcGxzRW50", - "cnkSEgoKTG9jYWxMYWJlbBgBIAEoDRIVCg1BZG1pbkRpc3RhbmNlGAIgASgN", - "EiwKCFBhdGhMaXN0GAMgAygLMhouc2VydmljZV9sYXllci5TTFJvdXRlUGF0", - "aBI4CgxQYXRoR3JvdXBLZXkYBCABKAsyIC5zZXJ2aWNlX2xheWVyLlNMUGF0", - "aEdyb3VwUmVmS2V5SAASDQoFRmxhZ3MYBSABKA1CBwoFZW50cnki1QEKClNM", - "QUZPYmplY3QSLQoJSVB2NFJvdXRlGAEgASgLMhguc2VydmljZV9sYXllci5T", - "TFJvdXRldjRIABItCglJUHY2Um91dGUYAiABKAsyGC5zZXJ2aWNlX2xheWVy", - "LlNMUm91dGV2NkgAEi8KCU1wbHNMYWJlbBgDIAEoCzIaLnNlcnZpY2VfbGF5", - "ZXIuU0xNcGxzRW50cnlIABIvCglQYXRoR3JvdXAYBCABKAsyGi5zZXJ2aWNl", - "X2xheWVyLlNMUGF0aEdyb3VwSABCBwoFZW50cnki3wEKBlNMQUZPcBIrCghB", - "Rk9iamVjdBgBIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xBRk9iamVjdBITCgtP", - "cGVyYXRpb25JRBgCIAEoBBIsCgdBY2tUeXBlGAMgASgOMhsuc2VydmljZV9s", - "YXllci5TTFJzcEFDS1R5cGUSMQoKQWNrUGVybWl0cxgEIAMoDjIdLnNlcnZp", - "Y2VfbGF5ZXIuU0xSc3BBQ0tQZXJtaXQSMgoKQWNrQ2FkZW5jZRgFIAEoDjIe", - "LnNlcnZpY2VfbGF5ZXIuU0xSc3BBY2tDYWRlbmNlIpMBCgpTTEFGR2V0TXNn", - "Eg8KB1ZyZk5hbWUYASABKAkSKQoFVGFibGUYAiABKA4yGi5zZXJ2aWNlX2xh", - "eWVyLlNMVGFibGVUeXBlEhUKDUdldEFsbENsaWVudHMYAyABKAgSMgoKUm91", - "dGVNYXRjaBgEIAMoCzIeLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZUdldE1hdGNo", - "IqwBChBTTEFGRGVwRmliU3RhdHVzEi8KCUVycm9yQ29kZRgBIAEoCzIcLnNl", - "cnZpY2VfbGF5ZXIuU0xFcnJvclN0YXR1cxITCgtPcGVyYXRpb25JRBgCIAEo", - "BBIPCgdWZXJzaW9uGAMgASgEEjgKDFBhdGhHcm91cEtleRgEIAEoCzIgLnNl", - "cnZpY2VfbGF5ZXIuU0xQYXRoR3JvdXBSZWZLZXlIAEIHCgVlbnRyeSJUCg1T", - "TEFGRmliU3RhdHVzEg8KB1ZlcnNpb24YASABKAQSMgoJRGVwUmVzdWx0GAIg", - "ASgLMh8uc2VydmljZV9sYXllci5TTEFGRGVwRmliU3RhdHVzInsKElNMQUZH", - "ZXRNc2dSc3BFbnRyeRIjCgRBRk9wGAEgASgLMhUuc2VydmljZV9sYXllci5T", - "TEFGT3ASLwoJRXJyb3JDb2RlGAIgASgLMhwuc2VydmljZV9sYXllci5TTEVy", - "cm9yU3RhdHVzEg8KB1ZlcnNpb24YAyABKAQilgEKDVNMQUZHZXRNc2dSc3AS", - "LwoJRXJyU3RhdHVzGAEgASgLMhwuc2VydmljZV9sYXllci5TTEVycm9yU3Rh", - "dHVzEg8KB1ZyZk5hbWUYAiABKAkSEAoIQ2xpZW50SUQYAyABKAQSMQoGQUZM", - "aXN0GAQgAygLMiEuc2VydmljZV9sYXllci5TTEFGR2V0TXNnUnNwRW50cnki", - "agoHU0xBRk1zZxInCgRPcGVyGAEgASgOMhkuc2VydmljZV9sYXllci5TTE9i", - "amVjdE9wEg8KB1ZyZk5hbWUYAiABKAkSJQoGT3BMaXN0GAMgAygLMhUuc2Vy", - "dmljZV9sYXllci5TTEFGT3AiqgEKB1NMQUZSZXMSLwoJRXJyU3RhdHVzGAEg", - "ASgLMhwuc2VydmljZV9sYXllci5TTEVycm9yU3RhdHVzEigKCU9wZXJhdGlv", - "bhgCIAEoCzIVLnNlcnZpY2VfbGF5ZXIuU0xBRk9wEhMKC0Vycm9yU3RyaW5n", - "GAMgASgJEi8KCUZJQlN0YXR1cxgEIAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xB", - "RkZpYlN0YXR1cyJGCgpTTEFGTXNnUnNwEg8KB1ZyZk5hbWUYASABKAkSJwoH", - "UmVzdWx0cxgCIAMoCzIWLnNlcnZpY2VfbGF5ZXIuU0xBRlJlcyJkChBTTEFG", - "UmVkaXN0UmVnTXNnEhAKCFNyY1Byb3RvGAEgASgJEhMKC1NyY1Byb3RvVGFn", - "GAIgASgJEikKBVRhYmxlGAMgASgOMhouc2VydmljZV9sYXllci5TTFRhYmxl", - "VHlwZSLwAQoRU0xBRk5leHRIb3BSZWdLZXkSQAoHTmV4dEhvcBgBIAEoCzIt", - "LnNlcnZpY2VfbGF5ZXIuU0xBRk5leHRIb3BSZWdLZXkuU0xOZXh0SG9wS2V5", - "SAAaigEKDFNMTmV4dEhvcEtleRIrCgdOZXh0SG9wGAEgASgLMhouc2Vydmlj", - "ZV9sYXllci5TTElwQWRkcmVzcxISCgpOZXh0SG9wTGVuGAIgASgNEhIKCkV4", - "YWN0TWF0Y2gYAyABKAgSFAoMQWxsb3dEZWZhdWx0GAQgASgIEg8KB1JlY3Vy", - "c2UYBSABKAhCDAoKbmV4dGhvcGtleSJJChFTTEFGTmV4dEhvcFJlZ01zZxI0", - "CgpOZXh0SG9wS2V5GAEgASgLMiAuc2VydmljZV9sYXllci5TTEFGTmV4dEhv", - "cFJlZ0tleSKfAQoPU0xBRk5vdGlmUmVnUmVxEjQKCVJlZGlzdFJlcRgBIAEo", - "CzIfLnNlcnZpY2VfbGF5ZXIuU0xBRlJlZGlzdFJlZ01zZ0gAEjYKCk5leHRI", - "b3BSZXEYAiABKAsyIC5zZXJ2aWNlX2xheWVyLlNMQUZOZXh0SG9wUmVnTXNn", - "SAASEwoLT3BlcmF0aW9uSUQYAyABKARCCQoHcmVxdWVzdCJ5CgxTTEFGTm90", - "aWZSZXESJgoET3BlchgBIAEoDjIYLnNlcnZpY2VfbGF5ZXIuU0xOb3RpZk9w", - "Eg8KB1ZyZk5hbWUYAiABKAkSMAoITm90aWZSZXEYAyADKAsyHi5zZXJ2aWNl", - "X2xheWVyLlNMQUZOb3RpZlJlZ1JlcSJzCgxTTEFGTm90aWZSc3ASMAoITm90", - "aWZSZXEYASABKAsyHi5zZXJ2aWNlX2xheWVyLlNMQUZOb3RpZlJlZ1JlcRIx", - "CgtOb3RpZlN0YXR1cxgCIAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xFcnJvclN0", - "YXR1cyKJAgoJU0xOZXh0SG9wEjQKCk5leHRIb3BLZXkYASABKAsyIC5zZXJ2", - "aWNlX2xheWVyLlNMQUZOZXh0SG9wUmVnS2V5EjIKDlJlc29sdmluZ1JvdXRl", - "GAIgASgLMhouc2VydmljZV9sYXllci5TTElwQWRkcmVzcxIZChFSZXNvbHZp", - "bmdSb3V0ZUxlbhgDIAEoDRIQCghTcmNQcm90bxgEIAEoCRITCgtTcmNQcm90", - "b1RhZxgFIAEoCRIVCg1BZG1pbkRpc3RhbmNlGAYgASgNEg4KBk1ldHJpYxgH", - "IAEoDRIpCgVQYXRocxgIIAMoCzIaLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZVBh", - "dGgi4wIKCVNMQUZOb3RpZhIyCgtOb3RpZlN0YXR1cxgBIAEoCzIbLnNlcnZp", - "Y2VfbGF5ZXIuU0xBRk5vdGlmUnNwSAASPgoLU3RhcnRNYXJrZXIYAiABKAsy", - "Jy5zZXJ2aWNlX2xheWVyLlNMQUZOb3RpZi5TTFJlZGlzdE1hcmtlckgAEjwK", - "CUVuZE1hcmtlchgDIAEoCzInLnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmLlNM", - "UmVkaXN0TWFya2VySAASMQoMUmVkaXN0T2JqZWN0GAQgASgLMhkuc2Vydmlj", - "ZV9sYXllci5TTEFGT2JqZWN0SAASKwoHTmV4dEhvcBgFIAEoCzIYLnNlcnZp", - "Y2VfbGF5ZXIuU0xOZXh0SG9wSAAaOwoOU0xSZWRpc3RNYXJrZXISKQoFVGFi", - "bGUYASABKA4yGi5zZXJ2aWNlX2xheWVyLlNMVGFibGVUeXBlQgcKBUV2ZW50", - "IksKDFNMQUZOb3RpZk1zZxIPCgdWcmZOYW1lGAEgASgJEioKCEFGTm90aWZz", - "GAMgAygLMhguc2VydmljZV9sYXllci5TTEFGTm90aWYyyAMKBFNMQUYSTQoM", - "U0xBRlZyZlJlZ09wEhwuc2VydmljZV9sYXllci5TTEFGVnJmUmVnTXNnGh8u", - "c2VydmljZV9sYXllci5TTEFGVnJmUmVnTXNnUnNwElYKDVNMQUZWcmZSZWdH", - "ZXQSHy5zZXJ2aWNlX2xheWVyLlNMQUZWcmZSZWdHZXRNc2caIi5zZXJ2aWNl", - "X2xheWVyLlNMQUZWcmZSZWdHZXRNc2dSc3AwARI7CgZTTEFGT3ASFi5zZXJ2", - "aWNlX2xheWVyLlNMQUZNc2caGS5zZXJ2aWNlX2xheWVyLlNMQUZNc2dSc3AS", - "RQoMU0xBRk9wU3RyZWFtEhYuc2VydmljZV9sYXllci5TTEFGTXNnGhkuc2Vy", - "dmljZV9sYXllci5TTEFGTXNnUnNwKAEwARJECgdTTEFGR2V0Ehkuc2Vydmlj", - "ZV9sYXllci5TTEFGR2V0TXNnGhwuc2VydmljZV9sYXllci5TTEFGR2V0TXNn", - "UnNwMAESTwoPU0xBRk5vdGlmU3RyZWFtEhsuc2VydmljZV9sYXllci5TTEFG", - "Tm90aWZSZXEaGy5zZXJ2aWNlX2xheWVyLlNMQUZOb3RpZk1zZygBMAFCUVpP", - "Z2l0aHViLmNvbS9DaXNjby1zZXJ2aWNlLWxheWVyL3NlcnZpY2UtbGF5ZXIt", - "b2JqbW9kZWwvZ3JwYy9wcm90b3M7c2VydmljZV9sYXllcmIGcHJvdG8z")); + "LnByb3RvGhVzbF9yb3V0ZV9jb21tb24ucHJvdG8iYAoKU0xBRlZyZlJlZxIp", + "CgVUYWJsZRgBIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5cGUSJwoG", + "VnJmUmVnGAIgASgLMhcuc2VydmljZV9sYXllci5TTFZyZlJlZyJkCg1TTEFG", + "VnJmUmVnTXNnEiQKBE9wZXIYASABKA4yFi5zZXJ2aWNlX2xheWVyLlNMUmVn", + "T3ASLQoKVnJmUmVnTXNncxgCIAMoCzIZLnNlcnZpY2VfbGF5ZXIuU0xBRlZy", + "ZlJlZyJ/ChBTTEFGVnJmUmVnTXNnUmVzEi8KCUVyclN0YXR1cxgBIAEoCzIc", + "LnNlcnZpY2VfbGF5ZXIuU0xFcnJvclN0YXR1cxIPCgdWcmZOYW1lGAIgASgJ", + "EikKBVRhYmxlGAMgASgOMhouc2VydmljZV9sYXllci5TTFRhYmxlVHlwZSJ5", + "ChBTTEFGVnJmUmVnTXNnUnNwEjMKDVN0YXR1c1N1bW1hcnkYASABKAsyHC5z", + "ZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0dXMSMAoHUmVzdWx0cxgCIAMoCzIf", + "LnNlcnZpY2VfbGF5ZXIuU0xBRlZyZlJlZ01zZ1JlcyIiChBTTEFGVnJmUmVn", + "R2V0TXNnEg4KBkdldEFsbBgBIAEoCCKtAQoTU0xBRlZyZlJlZ0dldE1zZ1Jz", + "cBIvCglFcnJTdGF0dXMYASABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JT", + "dGF0dXMSEAoIQ2xpZW50SUQYAiABKAQSKQoFVGFibGUYAyABKA4yGi5zZXJ2", + "aWNlX2xheWVyLlNMVGFibGVUeXBlEigKB0VudHJpZXMYBCADKAsyFy5zZXJ2", + "aWNlX2xheWVyLlNMVnJmUmVnIroCCgtTTFBhdGhHcm91cBIuCgtQYXRoR3Jv", + "dXBJZBgBIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xPYmplY3RJZBIVCg1BZG1p", + "bkRpc3RhbmNlGAIgASgNEjkKCFBhdGhMaXN0GAMgASgLMiUuc2VydmljZV9s", + "YXllci5TTFBhdGhHcm91cC5TTFBhdGhMaXN0SAASLAoHUGdGbGFncxgEIAMo", + "DjIbLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZUZsYWdzGjIKBlNMUGF0aBIoCgRQ", + "YXRoGAEgASgLMhouc2VydmljZV9sYXllci5TTFJvdXRlUGF0aBo+CgpTTFBh", + "dGhMaXN0EjAKBVBhdGhzGAEgAygLMiEuc2VydmljZV9sYXllci5TTFBhdGhH", + "cm91cC5TTFBhdGhCBwoFZW50cnkiHwoOU0xNcGxzRW50cnlLZXkSDQoFTGFi", + "ZWwYASABKA0isgEKC1NMTXBsc0VudHJ5Ei4KB01wbHNLZXkYASABKAsyHS5z", + "ZXJ2aWNlX2xheWVyLlNMTXBsc0VudHJ5S2V5EhUKDUFkbWluRGlzdGFuY2UY", + "AiABKA0SLAoIUGF0aExpc3QYAyADKAsyGi5zZXJ2aWNlX2xheWVyLlNMUm91", + "dGVQYXRoEi4KCU1wbHNGbGFncxgEIAMoDjIbLnNlcnZpY2VfbGF5ZXIuU0xS", + "b3V0ZUZsYWdzIqMBCgtTTEFGSVBSb3V0ZRIzCg1JUFJvdXRlUHJlZml4GAEg", + "ASgLMhwuc2VydmljZV9sYXllci5TTFJvdXRlUHJlZml4EjEKC1JvdXRlQ29t", + "bW9uGAIgASgLMhwuc2VydmljZV9sYXllci5TTFJvdXRlQ29tbW9uEiwKCFBh", + "dGhMaXN0GAMgAygLMhouc2VydmljZV9sYXllci5TTFJvdXRlUGF0aCKmAQoK", + "U0xBRk9iamVjdBItCgdJUFJvdXRlGAEgASgLMhouc2VydmljZV9sYXllci5T", + "TEFGSVBSb3V0ZUgAEi8KCU1wbHNMYWJlbBgCIAEoCzIaLnNlcnZpY2VfbGF5", + "ZXIuU0xNcGxzRW50cnlIABIvCglQYXRoR3JvdXAYAyABKAsyGi5zZXJ2aWNl", + "X2xheWVyLlNMUGF0aEdyb3VwSABCBwoFZW50cnki4gEKCVNMQUZPcE1zZxIr", + "CghBRk9iamVjdBgBIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xBRk9iamVjdBIT", + "CgtPcGVyYXRpb25JRBgCIAEoBBIsCgdBY2tUeXBlGAMgASgOMhsuc2Vydmlj", + "ZV9sYXllci5TTFJzcEFDS1R5cGUSMQoKQWNrUGVybWl0cxgEIAMoDjIdLnNl", + "cnZpY2VfbGF5ZXIuU0xSc3BBQ0tQZXJtaXQSMgoKQWNrQ2FkZW5jZRgFIAEo", + "DjIeLnNlcnZpY2VfbGF5ZXIuU0xSc3BBY2tDYWRlbmNlIigKEFNMQUZDbGll", + "bnRJRExpc3QSFAoMQ2xpZW50SURMaXN0GAEgAygEIjwKD1NMVGFibGVUeXBl", + "TGlzdBIpCgVUYWJsZRgBIAMoDjIaLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5", + "cGUiswEKDVNMQUZPYmplY3RLZXkSNQoNSVBSb3V0ZVByZWZpeBgBIAEoCzIc", + "LnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZVByZWZpeEgAEjIKCU1wbHNMYWJlbBgC", + "IAEoCzIdLnNlcnZpY2VfbGF5ZXIuU0xNcGxzRW50cnlLZXlIABIwCgtQYXRo", + "R3JvdXBJZBgDIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xPYmplY3RJZEgAQgUK", + "A2tleSJ0CgxTTEFGR2V0TWF0Y2gSKwoDS2V5GAEgASgLMhwuc2VydmljZV9s", + "YXllci5TTEFGT2JqZWN0S2V5SAASGAoOUGF0aEdyb3VwUmVnZXgYAiABKAlI", + "ABIUCgpWeGxhblZuaUlkGAMgASgNSABCBwoFZW50cnkiPgoQU0xBRkdldE1h", + "dGNoTGlzdBIqCgVNYXRjaBgBIAMoCzIbLnNlcnZpY2VfbGF5ZXIuU0xBRkdl", + "dE1hdGNoIu8BCgpTTEFGR2V0TXNnEg8KB1ZyZk5hbWUYASABKAkSNwoMQ2xp", + "ZW50SURMaXN0GAIgASgLMh8uc2VydmljZV9sYXllci5TTEFGQ2xpZW50SURM", + "aXN0SAASFAoKQWxsQ2xpZW50cxgDIAEoCEgAEjMKCVRhYmxlTGlzdBgEIAEo", + "CzIeLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5cGVMaXN0SAESOQoOUm91dGVN", + "YXRjaExpc3QYBSABKAsyHy5zZXJ2aWNlX2xheWVyLlNMQUZHZXRNYXRjaExp", + "c3RIAUIICgZjbGllbnRCBwoFbWF0Y2gicAoSU0xBRkdldE1zZ1JzcEVudHJ5", + "EikKB0FGT3BNc2cYASABKAsyGC5zZXJ2aWNlX2xheWVyLlNMQUZPcE1zZxIv", + "CglGSUJTdGF0dXMYAiABKA4yHC5zZXJ2aWNlX2xheWVyLlNMQUZGaWJTdGF0", + "dXMilgEKDVNMQUZHZXRNc2dSc3ASLwoJRXJyU3RhdHVzGAEgASgLMhwuc2Vy", + "dmljZV9sYXllci5TTEVycm9yU3RhdHVzEg8KB1ZyZk5hbWUYAiABKAkSEAoI", + "Q2xpZW50SUQYAyABKAQSMQoGQUZMaXN0GAQgAygLMiEuc2VydmljZV9sYXll", + "ci5TTEFGR2V0TXNnUnNwRW50cnkibQoHU0xBRk1zZxInCgRPcGVyGAEgASgO", + "Mhkuc2VydmljZV9sYXllci5TTE9iamVjdE9wEg8KB1ZyZk5hbWUYAiABKAkS", + "KAoGT3BMaXN0GAMgAygLMhguc2VydmljZV9sYXllci5TTEFGT3BNc2civQEK", + "B1NMQUZSZXMSLAoGU3RhdHVzGAEgASgLMhwuc2VydmljZV9sYXllci5TTEVy", + "cm9yU3RhdHVzEikKA0tleRgCIAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xBRk9i", + "amVjdEtleRITCgtPcGVyYXRpb25JRBgDIAEoBBIvCglGSUJTdGF0dXMYBCAB", + "KA4yHC5zZXJ2aWNlX2xheWVyLlNMQUZGaWJTdGF0dXMSEwoLRXJyb3JTdHJp", + "bmcYBSABKAkiRgoKU0xBRk1zZ1JzcBIPCgdWcmZOYW1lGAEgASgJEicKB1Jl", + "c3VsdHMYAiADKAsyFi5zZXJ2aWNlX2xheWVyLlNMQUZSZXMiZAoQU0xBRlJl", + "ZGlzdFJlZ01zZxIQCghTcmNQcm90bxgBIAEoCRITCgtTcmNQcm90b1RhZxgC", + "IAEoCRIpCgVUYWJsZRgDIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5", + "cGUi3wEKEVNMQUZOZXh0SG9wUmVnS2V5EkAKB05leHRIb3AYASABKAsyLS5z", + "ZXJ2aWNlX2xheWVyLlNMQUZOZXh0SG9wUmVnS2V5LlNMTmV4dEhvcEtleUgA", + "GnoKDFNMTmV4dEhvcEtleRIvCglOZXh0SG9wSVAYASABKAsyHC5zZXJ2aWNl", + "X2xheWVyLlNMUm91dGVQcmVmaXgSEgoKRXhhY3RNYXRjaBgCIAEoCBIUCgxB", + "bGxvd0RlZmF1bHQYAyABKAgSDwoHUmVjdXJzZRgEIAEoCEIMCgpuZXh0aG9w", + "a2V5IkkKEVNMQUZOZXh0SG9wUmVnTXNnEjQKCk5leHRIb3BLZXkYASABKAsy", + "IC5zZXJ2aWNlX2xheWVyLlNMQUZOZXh0SG9wUmVnS2V5Ip8BCg9TTEFGTm90", + "aWZSZWdSZXESNAoJUmVkaXN0UmVxGAEgASgLMh8uc2VydmljZV9sYXllci5T", + "TEFGUmVkaXN0UmVnTXNnSAASNgoKTmV4dEhvcFJlcRgCIAEoCzIgLnNlcnZp", + "Y2VfbGF5ZXIuU0xBRk5leHRIb3BSZWdNc2dIABITCgtPcGVyYXRpb25JRBgD", + "IAEoBEIJCgdyZXF1ZXN0InkKDFNMQUZOb3RpZlJlcRImCgRPcGVyGAEgASgO", + "Mhguc2VydmljZV9sYXllci5TTE5vdGlmT3ASDwoHVnJmTmFtZRgCIAEoCRIw", + "CghOb3RpZlJlcRgDIAMoCzIeLnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmUmVn", + "UmVxInMKDFNMQUZOb3RpZlJzcBIwCghOb3RpZlJlcRgBIAEoCzIeLnNlcnZp", + "Y2VfbGF5ZXIuU0xBRk5vdGlmUmVnUmVxEjEKC05vdGlmU3RhdHVzGAIgASgL", + "Mhwuc2VydmljZV9sYXllci5TTEVycm9yU3RhdHVzIvEBCglTTE5leHRIb3AS", + "NAoKTmV4dEhvcEtleRgBIAEoCzIgLnNlcnZpY2VfbGF5ZXIuU0xBRk5leHRI", + "b3BSZWdLZXkSNQoPUmVzb2x2aW5nUHJlZml4GAIgASgLMhwuc2VydmljZV9s", + "YXllci5TTFJvdXRlUHJlZml4EhAKCFNyY1Byb3RvGAMgASgJEhMKC1NyY1By", + "b3RvVGFnGAQgASgJEhUKDUFkbWluRGlzdGFuY2UYBSABKA0SDgoGTWV0cmlj", + "GAYgASgNEikKBVBhdGhzGAcgAygLMhouc2VydmljZV9sYXllci5TTFJvdXRl", + "UGF0aCLjAgoJU0xBRk5vdGlmEjIKC05vdGlmU3RhdHVzGAEgASgLMhsuc2Vy", + "dmljZV9sYXllci5TTEFGTm90aWZSc3BIABI+CgtTdGFydE1hcmtlchgCIAEo", + "CzInLnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmLlNMUmVkaXN0TWFya2VySAAS", + "PAoJRW5kTWFya2VyGAMgASgLMicuc2VydmljZV9sYXllci5TTEFGTm90aWYu", + "U0xSZWRpc3RNYXJrZXJIABIxCgxSZWRpc3RPYmplY3QYBCABKAsyGS5zZXJ2", + "aWNlX2xheWVyLlNMQUZPYmplY3RIABIrCgdOZXh0SG9wGAUgASgLMhguc2Vy", + "dmljZV9sYXllci5TTE5leHRIb3BIABo7Cg5TTFJlZGlzdE1hcmtlchIpCgVU", + "YWJsZRgBIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5cGVCBwoFRXZl", + "bnQiSwoMU0xBRk5vdGlmTXNnEg8KB1ZyZk5hbWUYASABKAkSKgoIQUZOb3Rp", + "ZnMYAyADKAsyGC5zZXJ2aWNlX2xheWVyLlNMQUZOb3RpZjLIAwoEU0xBRhJN", + "CgxTTEFGVnJmUmVnT3ASHC5zZXJ2aWNlX2xheWVyLlNMQUZWcmZSZWdNc2ca", + "Hy5zZXJ2aWNlX2xheWVyLlNMQUZWcmZSZWdNc2dSc3ASVgoNU0xBRlZyZlJl", + "Z0dldBIfLnNlcnZpY2VfbGF5ZXIuU0xBRlZyZlJlZ0dldE1zZxoiLnNlcnZp", + "Y2VfbGF5ZXIuU0xBRlZyZlJlZ0dldE1zZ1JzcDABEjsKBlNMQUZPcBIWLnNl", + "cnZpY2VfbGF5ZXIuU0xBRk1zZxoZLnNlcnZpY2VfbGF5ZXIuU0xBRk1zZ1Jz", + "cBJFCgxTTEFGT3BTdHJlYW0SFi5zZXJ2aWNlX2xheWVyLlNMQUZNc2caGS5z", + "ZXJ2aWNlX2xheWVyLlNMQUZNc2dSc3AoATABEkQKB1NMQUZHZXQSGS5zZXJ2", + "aWNlX2xheWVyLlNMQUZHZXRNc2caHC5zZXJ2aWNlX2xheWVyLlNMQUZHZXRN", + "c2dSc3AwARJPCg9TTEFGTm90aWZTdHJlYW0SGy5zZXJ2aWNlX2xheWVyLlNM", + "QUZOb3RpZlJlcRobLnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmTXNnKAEwAUJR", + "Wk9naXRodWIuY29tL0Npc2NvLXNlcnZpY2UtbGF5ZXIvc2VydmljZS1sYXll", + "ci1vYmptb2RlbC9ncnBjL3Byb3RvcztzZXJ2aWNlX2xheWVyYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, global::ServiceLayer.SlRouteCommonReflection.Descriptor, global::ServiceLayer.SlRouteIpv4Reflection.Descriptor, global::ServiceLayer.SlRouteIpv6Reflection.Descriptor, }, + new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, global::ServiceLayer.SlRouteCommonReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFVrfReg), global::ServiceLayer.SLAFVrfReg.Parser, new[]{ "Table", "VrfReg" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFVrfRegMsg), global::ServiceLayer.SLAFVrfRegMsg.Parser, new[]{ "Oper", "VrfRegMsgs" }, null, null, null, null), @@ -140,26 +149,31 @@ static SlAfReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFVrfRegMsgRsp), global::ServiceLayer.SLAFVrfRegMsgRsp.Parser, new[]{ "StatusSummary", "Results" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFVrfRegGetMsg), global::ServiceLayer.SLAFVrfRegGetMsg.Parser, new[]{ "GetAll" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFVrfRegGetMsgRsp), global::ServiceLayer.SLAFVrfRegGetMsgRsp.Parser, new[]{ "ErrStatus", "ClientID", "Table", "Entries" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPathGroup), global::ServiceLayer.SLPathGroup.Parser, new[]{ "PathGroupId", "AdminDistance", "PathList", "Flags" }, new[]{ "Entry" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPathGroup.Types.SLPath), global::ServiceLayer.SLPathGroup.Types.SLPath.Parser, new[]{ "Path" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPathGroup), global::ServiceLayer.SLPathGroup.Parser, new[]{ "PathGroupId", "AdminDistance", "PathList", "PgFlags" }, new[]{ "Entry" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPathGroup.Types.SLPath), global::ServiceLayer.SLPathGroup.Types.SLPath.Parser, new[]{ "Path" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPathGroup.Types.SLPathList), global::ServiceLayer.SLPathGroup.Types.SLPathList.Parser, new[]{ "Paths" }, null, null, null, null)}), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLMplsEntry), global::ServiceLayer.SLMplsEntry.Parser, new[]{ "LocalLabel", "AdminDistance", "PathList", "PathGroupKey", "Flags" }, new[]{ "Entry" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFObject), global::ServiceLayer.SLAFObject.Parser, new[]{ "IPv4Route", "IPv6Route", "MplsLabel", "PathGroup" }, new[]{ "Entry" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFOp), global::ServiceLayer.SLAFOp.Parser, new[]{ "AFObject", "OperationID", "AckType", "AckPermits", "AckCadence" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFGetMsg), global::ServiceLayer.SLAFGetMsg.Parser, new[]{ "VrfName", "Table", "GetAllClients", "RouteMatch" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFDepFibStatus), global::ServiceLayer.SLAFDepFibStatus.Parser, new[]{ "ErrorCode", "OperationID", "Version", "PathGroupKey" }, new[]{ "Entry" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFFibStatus), global::ServiceLayer.SLAFFibStatus.Parser, new[]{ "Version", "DepResult" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFGetMsgRspEntry), global::ServiceLayer.SLAFGetMsgRspEntry.Parser, new[]{ "AFOp", "ErrorCode", "Version" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLMplsEntryKey), global::ServiceLayer.SLMplsEntryKey.Parser, new[]{ "Label" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLMplsEntry), global::ServiceLayer.SLMplsEntry.Parser, new[]{ "MplsKey", "AdminDistance", "PathList", "MplsFlags" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFIPRoute), global::ServiceLayer.SLAFIPRoute.Parser, new[]{ "IPRoutePrefix", "RouteCommon", "PathList" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFObject), global::ServiceLayer.SLAFObject.Parser, new[]{ "IPRoute", "MplsLabel", "PathGroup" }, new[]{ "Entry" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFOpMsg), global::ServiceLayer.SLAFOpMsg.Parser, new[]{ "AFObject", "OperationID", "AckType", "AckPermits", "AckCadence" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFClientIDList), global::ServiceLayer.SLAFClientIDList.Parser, new[]{ "ClientIDList" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLTableTypeList), global::ServiceLayer.SLTableTypeList.Parser, new[]{ "Table" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFObjectKey), global::ServiceLayer.SLAFObjectKey.Parser, new[]{ "IPRoutePrefix", "MplsLabel", "PathGroupId" }, new[]{ "Key" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFGetMatch), global::ServiceLayer.SLAFGetMatch.Parser, new[]{ "Key", "PathGroupRegex", "VxlanVniId" }, new[]{ "Entry" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFGetMatchList), global::ServiceLayer.SLAFGetMatchList.Parser, new[]{ "Match" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFGetMsg), global::ServiceLayer.SLAFGetMsg.Parser, new[]{ "VrfName", "ClientIDList", "AllClients", "TableList", "RouteMatchList" }, new[]{ "Client", "Match" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFGetMsgRspEntry), global::ServiceLayer.SLAFGetMsgRspEntry.Parser, new[]{ "AFOpMsg", "FIBStatus" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFGetMsgRsp), global::ServiceLayer.SLAFGetMsgRsp.Parser, new[]{ "ErrStatus", "VrfName", "ClientID", "AFList" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFMsg), global::ServiceLayer.SLAFMsg.Parser, new[]{ "Oper", "VrfName", "OpList" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFRes), global::ServiceLayer.SLAFRes.Parser, new[]{ "ErrStatus", "Operation", "ErrorString", "FIBStatus" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFRes), global::ServiceLayer.SLAFRes.Parser, new[]{ "Status", "Key", "OperationID", "FIBStatus", "ErrorString" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFMsgRsp), global::ServiceLayer.SLAFMsgRsp.Parser, new[]{ "VrfName", "Results" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFRedistRegMsg), global::ServiceLayer.SLAFRedistRegMsg.Parser, new[]{ "SrcProto", "SrcProtoTag", "Table" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNextHopRegKey), global::ServiceLayer.SLAFNextHopRegKey.Parser, new[]{ "NextHop" }, new[]{ "Nexthopkey" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNextHopRegKey.Types.SLNextHopKey), global::ServiceLayer.SLAFNextHopRegKey.Types.SLNextHopKey.Parser, new[]{ "NextHop", "NextHopLen", "ExactMatch", "AllowDefault", "Recurse" }, null, null, null, null)}), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNextHopRegKey), global::ServiceLayer.SLAFNextHopRegKey.Parser, new[]{ "NextHop" }, new[]{ "Nexthopkey" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNextHopRegKey.Types.SLNextHopKey), global::ServiceLayer.SLAFNextHopRegKey.Types.SLNextHopKey.Parser, new[]{ "NextHopIP", "ExactMatch", "AllowDefault", "Recurse" }, null, null, null, null)}), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNextHopRegMsg), global::ServiceLayer.SLAFNextHopRegMsg.Parser, new[]{ "NextHopKey" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNotifRegReq), global::ServiceLayer.SLAFNotifRegReq.Parser, new[]{ "RedistReq", "NextHopReq", "OperationID" }, new[]{ "Request" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNotifReq), global::ServiceLayer.SLAFNotifReq.Parser, new[]{ "Oper", "VrfName", "NotifReq" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNotifRsp), global::ServiceLayer.SLAFNotifRsp.Parser, new[]{ "NotifReq", "NotifStatus" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLNextHop), global::ServiceLayer.SLNextHop.Parser, new[]{ "NextHopKey", "ResolvingRoute", "ResolvingRouteLen", "SrcProto", "SrcProtoTag", "AdminDistance", "Metric", "Paths" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLNextHop), global::ServiceLayer.SLNextHop.Parser, new[]{ "NextHopKey", "ResolvingPrefix", "SrcProto", "SrcProtoTag", "AdminDistance", "Metric", "Paths" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNotif), global::ServiceLayer.SLAFNotif.Parser, new[]{ "NotifStatus", "StartMarker", "EndMarker", "RedistObject", "NextHop" }, new[]{ "Event" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNotif.Types.SLRedistMarker), global::ServiceLayer.SLAFNotif.Types.SLRedistMarker.Parser, new[]{ "Table" }, null, null, null, null)}), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFNotifMsg), global::ServiceLayer.SLAFNotifMsg.Parser, new[]{ "VrfName", "AFNotifs" }, null, null, null, null) })); @@ -235,7 +249,7 @@ public SLAFVrfReg Clone() { public const int VrfRegFieldNumber = 2; private global::ServiceLayer.SLVrfReg vrfReg_; /// - /// VRF registration attibutes + /// VRF registration attributes /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1215,7 +1229,8 @@ public SLAFVrfRegGetMsg Clone() { private bool getAll_; /// /// If true, returns VRF registrations for all clients. - /// If false, returns VRF registrations for this client as identified by the gRPC metadata. + /// If false, returns VRF registrations for this client as identified by + /// the gRPC metadata. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1713,7 +1728,7 @@ public SLPathGroup() { public SLPathGroup(SLPathGroup other) : this() { pathGroupId_ = other.pathGroupId_ != null ? other.pathGroupId_.Clone() : null; adminDistance_ = other.adminDistance_; - flags_ = other.flags_; + pgFlags_ = other.pgFlags_.Clone(); switch (other.EntryCase) { case EntryOneofCase.PathList: PathList = other.PathList.Clone(); @@ -1779,16 +1794,17 @@ public uint AdminDistance { } } - /// Field number for the "Flags" field. - public const int FlagsFieldNumber = 4; - private uint flags_; + /// Field number for the "PgFlags" field. + public const int PgFlagsFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_pgFlags_codec + = pb::FieldCodec.ForEnum(34, x => (int) x, x => (global::ServiceLayer.SLRouteFlags) x); + private readonly pbc::RepeatedField pgFlags_ = new pbc::RepeatedField(); /// /// Flags to control programming of the PathGroup to Routing - /// Information Base. Each flag is indicated as a bit field. - /// See SLRouteFlags for flag enumerations. + /// Information Base. See SLRouteFlags for flag enumerations. /// Supported values are: /// - /// SL_ROUTE_FLAG_VIABLE_PATHS_ONLY. + /// SL_ROUTE_FLAG_VIABLE_PATHS_ONLY. /// - If the flag is not set, all paths in the PathList are installed in /// the PathGroup's load balance group, even if paths are unviable. /// The Network element does not automatically update the PathGroup's @@ -1806,7 +1822,7 @@ public uint AdminDistance { /// based on their administrative distance. PathGroup's viability /// is not considered as a criterion to determine the routes' and /// MPLS entries' activeness. The network element does not automatically - /// promote or demote the routes and MPLS entries as viability of the + /// promote or demote the routes and MPLS entries as viability of the /// PathGroup changes. /// /// - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also @@ -1815,17 +1831,15 @@ public uint AdminDistance { /// on their administrative distance AND viability of the PathGroup. /// At least one path in the PathGroup must be viable for the /// PathGroup to be viable. The network element automatically promotes or - /// demotes the routes and MPLS entries as viability of the PathGroup changes. + /// demotes the routes and MPLS entries as viability of the PathGroup + /// changes. /// /// Others - Reserved. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Flags { - get { return flags_; } - set { - flags_ = value; - } + public pbc::RepeatedField PgFlags { + get { return pgFlags_; } } private object entry_; @@ -1866,7 +1880,7 @@ public bool Equals(SLPathGroup other) { if (!object.Equals(PathGroupId, other.PathGroupId)) return false; if (AdminDistance != other.AdminDistance) return false; if (!object.Equals(PathList, other.PathList)) return false; - if (Flags != other.Flags) return false; + if(!pgFlags_.Equals(other.pgFlags_)) return false; if (EntryCase != other.EntryCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1878,7 +1892,7 @@ public override int GetHashCode() { if (pathGroupId_ != null) hash ^= PathGroupId.GetHashCode(); if (AdminDistance != 0) hash ^= AdminDistance.GetHashCode(); if (entryCase_ == EntryOneofCase.PathList) hash ^= PathList.GetHashCode(); - if (Flags != 0) hash ^= Flags.GetHashCode(); + hash ^= pgFlags_.GetHashCode(); hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -1910,10 +1924,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(26); output.WriteMessage(PathList); } - if (Flags != 0) { - output.WriteRawTag(32); - output.WriteUInt32(Flags); - } + pgFlags_.WriteTo(output, _repeated_pgFlags_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1936,10 +1947,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(26); output.WriteMessage(PathList); } - if (Flags != 0) { - output.WriteRawTag(32); - output.WriteUInt32(Flags); - } + pgFlags_.WriteTo(ref output, _repeated_pgFlags_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1959,9 +1967,7 @@ public int CalculateSize() { if (entryCase_ == EntryOneofCase.PathList) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathList); } - if (Flags != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flags); - } + size += pgFlags_.CalculateSize(_repeated_pgFlags_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1983,9 +1989,7 @@ public void MergeFrom(SLPathGroup other) { if (other.AdminDistance != 0) { AdminDistance = other.AdminDistance; } - if (other.Flags != 0) { - Flags = other.Flags; - } + pgFlags_.Add(other.pgFlags_); switch (other.EntryCase) { case EntryOneofCase.PathList: if (PathList == null) { @@ -2030,8 +2034,9 @@ public void MergeFrom(pb::CodedInputStream input) { PathList = subBuilder; break; } + case 34: case 32: { - Flags = input.ReadUInt32(); + pgFlags_.AddEntriesFrom(input, _repeated_pgFlags_codec); break; } } @@ -2069,8 +2074,9 @@ public void MergeFrom(pb::CodedInputStream input) { PathList = subBuilder; break; } + case 34: case 32: { - Flags = input.ReadUInt32(); + pgFlags_.AddEntriesFrom(ref input, _repeated_pgFlags_codec); break; } } @@ -2470,6 +2476,201 @@ public void MergeFrom(pb::CodedInputStream input) { } + /// + /// Key for a MPLS label entry + /// + public sealed partial class SLMplsEntryKey : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLMplsEntryKey()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[7]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLMplsEntryKey() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLMplsEntryKey(SLMplsEntryKey other) : this() { + label_ = other.label_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLMplsEntryKey Clone() { + return new SLMplsEntryKey(this); + } + + /// Field number for the "Label" field. + public const int LabelFieldNumber = 1; + private uint label_; + /// + /// Local Label + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Label { + get { return label_; } + set { + label_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLMplsEntryKey); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLMplsEntryKey other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Label != other.Label) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (Label != 0) hash ^= Label.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (Label != 0) { + output.WriteRawTag(8); + output.WriteUInt32(Label); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (Label != 0) { + output.WriteRawTag(8); + output.WriteUInt32(Label); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (Label != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Label); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLMplsEntryKey other) { + if (other == null) { + return; + } + if (other.Label != 0) { + Label = other.Label; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Label = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Label = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + /// /// MPLS entry. /// This message defines an entry in the MPLS forwarding table. @@ -2488,7 +2689,7 @@ public sealed partial class SLMplsEntry : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[7]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2508,16 +2709,10 @@ public SLMplsEntry() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SLMplsEntry(SLMplsEntry other) : this() { - localLabel_ = other.localLabel_; + mplsKey_ = other.mplsKey_ != null ? other.mplsKey_.Clone() : null; adminDistance_ = other.adminDistance_; pathList_ = other.pathList_.Clone(); - flags_ = other.flags_; - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - PathGroupKey = other.PathGroupKey.Clone(); - break; - } - + mplsFlags_ = other.mplsFlags_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2527,18 +2722,18 @@ public SLMplsEntry Clone() { return new SLMplsEntry(this); } - /// Field number for the "LocalLabel" field. - public const int LocalLabelFieldNumber = 1; - private uint localLabel_; + /// Field number for the "MplsKey" field. + public const int MplsKeyFieldNumber = 1; + private global::ServiceLayer.SLMplsEntryKey mplsKey_; /// - /// Local Label + /// MPLS Key /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint LocalLabel { - get { return localLabel_; } + public global::ServiceLayer.SLMplsEntryKey MplsKey { + get { return mplsKey_; } set { - localLabel_ = value; + mplsKey_ = value; } } @@ -2550,7 +2745,8 @@ public uint LocalLabel { /// are [0-255]. RIB uses this field to break the tie when multiple /// sources install the same incoming MPLS label. Lower distance is /// preferred over higher distance. The per MPLS label object admin distance - /// overrides the default admin distance set at VRF registration. see SLVrfReg. + /// overrides the default admin distance set at VRF registration. + /// see SLVrfReg. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2576,28 +2772,14 @@ public uint AdminDistance { get { return pathList_; } } - /// Field number for the "PathGroupKey" field. - public const int PathGroupKeyFieldNumber = 4; - /// - /// Path group reference key - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLPathGroupRefKey PathGroupKey { - get { return entryCase_ == EntryOneofCase.PathGroupKey ? (global::ServiceLayer.SLPathGroupRefKey) entry_ : null; } - set { - entry_ = value; - entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.PathGroupKey; - } - } - - /// Field number for the "Flags" field. - public const int FlagsFieldNumber = 5; - private uint flags_; + /// Field number for the "MplsFlags" field. + public const int MplsFlagsFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_mplsFlags_codec + = pb::FieldCodec.ForEnum(34, x => (int) x, x => (global::ServiceLayer.SLRouteFlags) x); + private readonly pbc::RepeatedField mplsFlags_ = new pbc::RepeatedField(); /// /// Flags to control programming of the MPLS Entry to Routing - /// Information Base. Each flag is indicated as a bit field. - /// See SLRouteFlags for flag enumerations. + /// Information Base. See SLRouteFlags for flag enumerations. /// Supported values are: /// /// SL_ROUTE_FLAG_VIABLE_PATHS_ONLY - This flag on the MPLS Entry @@ -2614,8 +2796,8 @@ public uint AdminDistance { /// The Network element also automatically updates the MPLS Entry's /// load balance group when path viability changes. /// - /// - If the MPLS Entry refers to the PathGroup, then a programming error is - /// returned and the corresponding setting on the PathGroup dictates + /// - If the MPLS Entry refers to the PathGroup, then a programming error is + /// returned and the corresponding setting on the PathGroup dictates /// path programming. /// /// SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH - This flag is supported only for @@ -2636,39 +2818,16 @@ public uint AdminDistance { /// are no longer viable. /// /// - If the MPLS Entry refers to the PathGroup, - /// then a programming error is returned and the corresponding setting on - /// PathGroup dictates whether this route should be considered in best + /// then a programming error is returned and the corresponding setting on + /// PathGroup dictates whether this route should be considered in best /// route calculations. /// /// Others - Reserved. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Flags { - get { return flags_; } - set { - flags_ = value; - } - } - - private object entry_; - /// Enum of possible cases for the "entry" oneof. - public enum EntryOneofCase { - None = 0, - PathGroupKey = 4, - } - private EntryOneofCase entryCase_ = EntryOneofCase.None; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public EntryOneofCase EntryCase { - get { return entryCase_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearEntry() { - entryCase_ = EntryOneofCase.None; - entry_ = null; + public pbc::RepeatedField MplsFlags { + get { return mplsFlags_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2686,12 +2845,10 @@ public bool Equals(SLMplsEntry other) { if (ReferenceEquals(other, this)) { return true; } - if (LocalLabel != other.LocalLabel) return false; + if (!object.Equals(MplsKey, other.MplsKey)) return false; if (AdminDistance != other.AdminDistance) return false; if(!pathList_.Equals(other.pathList_)) return false; - if (!object.Equals(PathGroupKey, other.PathGroupKey)) return false; - if (Flags != other.Flags) return false; - if (EntryCase != other.EntryCase) return false; + if(!mplsFlags_.Equals(other.mplsFlags_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2699,12 +2856,10 @@ public bool Equals(SLMplsEntry other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (LocalLabel != 0) hash ^= LocalLabel.GetHashCode(); + if (mplsKey_ != null) hash ^= MplsKey.GetHashCode(); if (AdminDistance != 0) hash ^= AdminDistance.GetHashCode(); hash ^= pathList_.GetHashCode(); - if (entryCase_ == EntryOneofCase.PathGroupKey) hash ^= PathGroupKey.GetHashCode(); - if (Flags != 0) hash ^= Flags.GetHashCode(); - hash ^= (int) entryCase_; + hash ^= mplsFlags_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2723,23 +2878,16 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (LocalLabel != 0) { - output.WriteRawTag(8); - output.WriteUInt32(LocalLabel); + if (mplsKey_ != null) { + output.WriteRawTag(10); + output.WriteMessage(MplsKey); } if (AdminDistance != 0) { output.WriteRawTag(16); output.WriteUInt32(AdminDistance); } pathList_.WriteTo(output, _repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(34); - output.WriteMessage(PathGroupKey); - } - if (Flags != 0) { - output.WriteRawTag(40); - output.WriteUInt32(Flags); - } + mplsFlags_.WriteTo(output, _repeated_mplsFlags_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -2750,23 +2898,16 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (LocalLabel != 0) { - output.WriteRawTag(8); - output.WriteUInt32(LocalLabel); + if (mplsKey_ != null) { + output.WriteRawTag(10); + output.WriteMessage(MplsKey); } if (AdminDistance != 0) { output.WriteRawTag(16); output.WriteUInt32(AdminDistance); } pathList_.WriteTo(ref output, _repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(34); - output.WriteMessage(PathGroupKey); - } - if (Flags != 0) { - output.WriteRawTag(40); - output.WriteUInt32(Flags); - } + mplsFlags_.WriteTo(ref output, _repeated_mplsFlags_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2777,19 +2918,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (LocalLabel != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(LocalLabel); + if (mplsKey_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(MplsKey); } if (AdminDistance != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(AdminDistance); } size += pathList_.CalculateSize(_repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupKey); - } - if (Flags != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flags); - } + size += mplsFlags_.CalculateSize(_repeated_mplsFlags_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2802,25 +2938,17 @@ public void MergeFrom(SLMplsEntry other) { if (other == null) { return; } - if (other.LocalLabel != 0) { - LocalLabel = other.LocalLabel; + if (other.mplsKey_ != null) { + if (mplsKey_ == null) { + MplsKey = new global::ServiceLayer.SLMplsEntryKey(); + } + MplsKey.MergeFrom(other.MplsKey); } if (other.AdminDistance != 0) { AdminDistance = other.AdminDistance; } pathList_.Add(other.pathList_); - if (other.Flags != 0) { - Flags = other.Flags; - } - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - if (PathGroupKey == null) { - PathGroupKey = new global::ServiceLayer.SLPathGroupRefKey(); - } - PathGroupKey.MergeFrom(other.PathGroupKey); - break; - } - + mplsFlags_.Add(other.mplsFlags_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2836,8 +2964,11 @@ public void MergeFrom(pb::CodedInputStream input) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 8: { - LocalLabel = input.ReadUInt32(); + case 10: { + if (mplsKey_ == null) { + MplsKey = new global::ServiceLayer.SLMplsEntryKey(); + } + input.ReadMessage(MplsKey); break; } case 16: { @@ -2848,17 +2979,9 @@ public void MergeFrom(pb::CodedInputStream input) { pathList_.AddEntriesFrom(input, _repeated_pathList_codec); break; } - case 34: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; - break; - } - case 40: { - Flags = input.ReadUInt32(); + case 34: + case 32: { + mplsFlags_.AddEntriesFrom(input, _repeated_mplsFlags_codec); break; } } @@ -2876,8 +2999,11 @@ public void MergeFrom(pb::CodedInputStream input) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 8: { - LocalLabel = input.ReadUInt32(); + case 10: { + if (mplsKey_ == null) { + MplsKey = new global::ServiceLayer.SLMplsEntryKey(); + } + input.ReadMessage(MplsKey); break; } case 16: { @@ -2888,18 +3014,293 @@ public void MergeFrom(pb::CodedInputStream input) { pathList_.AddEntriesFrom(ref input, _repeated_pathList_codec); break; } - case 34: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; + case 34: + case 32: { + mplsFlags_.AddEntriesFrom(ref input, _repeated_mplsFlags_codec); break; } - case 40: { - Flags = input.ReadUInt32(); - break; + } + } + } + #endif + + } + + /// + /// SL IPv4 or IPv6 Unicast Route Object + /// + public sealed partial class SLAFIPRoute : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFIPRoute()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[9]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFIPRoute() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFIPRoute(SLAFIPRoute other) : this() { + iPRoutePrefix_ = other.iPRoutePrefix_ != null ? other.iPRoutePrefix_.Clone() : null; + routeCommon_ = other.routeCommon_ != null ? other.routeCommon_.Clone() : null; + pathList_ = other.pathList_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFIPRoute Clone() { + return new SLAFIPRoute(this); + } + + /// Field number for the "IPRoutePrefix" field. + public const int IPRoutePrefixFieldNumber = 1; + private global::ServiceLayer.SLRoutePrefix iPRoutePrefix_; + /// + /// IP Route Prefix + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLRoutePrefix IPRoutePrefix { + get { return iPRoutePrefix_; } + set { + iPRoutePrefix_ = value; + } + } + + /// Field number for the "RouteCommon" field. + public const int RouteCommonFieldNumber = 2; + private global::ServiceLayer.SLRouteCommon routeCommon_; + /// + /// Common route attributes + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLRouteCommon RouteCommon { + get { return routeCommon_; } + set { + routeCommon_ = value; + } + } + + /// Field number for the "PathList" field. + public const int PathListFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_pathList_codec + = pb::FieldCodec.ForMessage(26, global::ServiceLayer.SLRoutePath.Parser); + private readonly pbc::RepeatedField pathList_ = new pbc::RepeatedField(); + /// + /// List of route paths for this route. + /// Specifying more than one path is allowed for ECMP/UCMP cases. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField PathList { + get { return pathList_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLAFIPRoute); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLAFIPRoute other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(IPRoutePrefix, other.IPRoutePrefix)) return false; + if (!object.Equals(RouteCommon, other.RouteCommon)) return false; + if(!pathList_.Equals(other.pathList_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (iPRoutePrefix_ != null) hash ^= IPRoutePrefix.GetHashCode(); + if (routeCommon_ != null) hash ^= RouteCommon.GetHashCode(); + hash ^= pathList_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (iPRoutePrefix_ != null) { + output.WriteRawTag(10); + output.WriteMessage(IPRoutePrefix); + } + if (routeCommon_ != null) { + output.WriteRawTag(18); + output.WriteMessage(RouteCommon); + } + pathList_.WriteTo(output, _repeated_pathList_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (iPRoutePrefix_ != null) { + output.WriteRawTag(10); + output.WriteMessage(IPRoutePrefix); + } + if (routeCommon_ != null) { + output.WriteRawTag(18); + output.WriteMessage(RouteCommon); + } + pathList_.WriteTo(ref output, _repeated_pathList_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (iPRoutePrefix_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(IPRoutePrefix); + } + if (routeCommon_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteCommon); + } + size += pathList_.CalculateSize(_repeated_pathList_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLAFIPRoute other) { + if (other == null) { + return; + } + if (other.iPRoutePrefix_ != null) { + if (iPRoutePrefix_ == null) { + IPRoutePrefix = new global::ServiceLayer.SLRoutePrefix(); + } + IPRoutePrefix.MergeFrom(other.IPRoutePrefix); + } + if (other.routeCommon_ != null) { + if (routeCommon_ == null) { + RouteCommon = new global::ServiceLayer.SLRouteCommon(); + } + RouteCommon.MergeFrom(other.RouteCommon); + } + pathList_.Add(other.pathList_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (iPRoutePrefix_ == null) { + IPRoutePrefix = new global::ServiceLayer.SLRoutePrefix(); + } + input.ReadMessage(IPRoutePrefix); + break; + } + case 18: { + if (routeCommon_ == null) { + RouteCommon = new global::ServiceLayer.SLRouteCommon(); + } + input.ReadMessage(RouteCommon); + break; + } + case 26: { + pathList_.AddEntriesFrom(input, _repeated_pathList_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (iPRoutePrefix_ == null) { + IPRoutePrefix = new global::ServiceLayer.SLRoutePrefix(); + } + input.ReadMessage(IPRoutePrefix); + break; + } + case 18: { + if (routeCommon_ == null) { + RouteCommon = new global::ServiceLayer.SLRouteCommon(); + } + input.ReadMessage(RouteCommon); + break; + } + case 26: { + pathList_.AddEntriesFrom(ref input, _repeated_pathList_codec); + break; } } } @@ -2925,7 +3326,7 @@ public sealed partial class SLAFObject : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[8]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[10]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2946,11 +3347,8 @@ public SLAFObject() { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SLAFObject(SLAFObject other) : this() { switch (other.EntryCase) { - case EntryOneofCase.IPv4Route: - IPv4Route = other.IPv4Route.Clone(); - break; - case EntryOneofCase.IPv6Route: - IPv6Route = other.IPv6Route.Clone(); + case EntryOneofCase.IPRoute: + IPRoute = other.IPRoute.Clone(); break; case EntryOneofCase.MplsLabel: MplsLabel = other.MplsLabel.Clone(); @@ -2969,32 +3367,26 @@ public SLAFObject Clone() { return new SLAFObject(this); } - /// Field number for the "IPv4Route" field. - public const int IPv4RouteFieldNumber = 1; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLRoutev4 IPv4Route { - get { return entryCase_ == EntryOneofCase.IPv4Route ? (global::ServiceLayer.SLRoutev4) entry_ : null; } - set { - entry_ = value; - entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.IPv4Route; - } - } - - /// Field number for the "IPv6Route" field. - public const int IPv6RouteFieldNumber = 2; + /// Field number for the "IPRoute" field. + public const int IPRouteFieldNumber = 1; + /// + /// IPv4 or IPv6 Unicast Route Object + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLRoutev6 IPv6Route { - get { return entryCase_ == EntryOneofCase.IPv6Route ? (global::ServiceLayer.SLRoutev6) entry_ : null; } + public global::ServiceLayer.SLAFIPRoute IPRoute { + get { return entryCase_ == EntryOneofCase.IPRoute ? (global::ServiceLayer.SLAFIPRoute) entry_ : null; } set { entry_ = value; - entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.IPv6Route; + entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.IPRoute; } } /// Field number for the "MplsLabel" field. - public const int MplsLabelFieldNumber = 3; + public const int MplsLabelFieldNumber = 2; + /// + /// MPLS Label Object + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::ServiceLayer.SLMplsEntry MplsLabel { @@ -3006,7 +3398,10 @@ public SLAFObject Clone() { } /// Field number for the "PathGroup" field. - public const int PathGroupFieldNumber = 4; + public const int PathGroupFieldNumber = 3; + /// + /// Path Group Object + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::ServiceLayer.SLPathGroup PathGroup { @@ -3021,10 +3416,9 @@ public SLAFObject Clone() { /// Enum of possible cases for the "entry" oneof. public enum EntryOneofCase { None = 0, - IPv4Route = 1, - IPv6Route = 2, - MplsLabel = 3, - PathGroup = 4, + IPRoute = 1, + MplsLabel = 2, + PathGroup = 3, } private EntryOneofCase entryCase_ = EntryOneofCase.None; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3055,8 +3449,7 @@ public bool Equals(SLAFObject other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(IPv4Route, other.IPv4Route)) return false; - if (!object.Equals(IPv6Route, other.IPv6Route)) return false; + if (!object.Equals(IPRoute, other.IPRoute)) return false; if (!object.Equals(MplsLabel, other.MplsLabel)) return false; if (!object.Equals(PathGroup, other.PathGroup)) return false; if (EntryCase != other.EntryCase) return false; @@ -3067,8 +3460,7 @@ public bool Equals(SLAFObject other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (entryCase_ == EntryOneofCase.IPv4Route) hash ^= IPv4Route.GetHashCode(); - if (entryCase_ == EntryOneofCase.IPv6Route) hash ^= IPv6Route.GetHashCode(); + if (entryCase_ == EntryOneofCase.IPRoute) hash ^= IPRoute.GetHashCode(); if (entryCase_ == EntryOneofCase.MplsLabel) hash ^= MplsLabel.GetHashCode(); if (entryCase_ == EntryOneofCase.PathGroup) hash ^= PathGroup.GetHashCode(); hash ^= (int) entryCase_; @@ -3090,20 +3482,16 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (entryCase_ == EntryOneofCase.IPv4Route) { + if (entryCase_ == EntryOneofCase.IPRoute) { output.WriteRawTag(10); - output.WriteMessage(IPv4Route); - } - if (entryCase_ == EntryOneofCase.IPv6Route) { - output.WriteRawTag(18); - output.WriteMessage(IPv6Route); + output.WriteMessage(IPRoute); } if (entryCase_ == EntryOneofCase.MplsLabel) { - output.WriteRawTag(26); + output.WriteRawTag(18); output.WriteMessage(MplsLabel); } if (entryCase_ == EntryOneofCase.PathGroup) { - output.WriteRawTag(34); + output.WriteRawTag(26); output.WriteMessage(PathGroup); } if (_unknownFields != null) { @@ -3116,20 +3504,16 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (entryCase_ == EntryOneofCase.IPv4Route) { + if (entryCase_ == EntryOneofCase.IPRoute) { output.WriteRawTag(10); - output.WriteMessage(IPv4Route); - } - if (entryCase_ == EntryOneofCase.IPv6Route) { - output.WriteRawTag(18); - output.WriteMessage(IPv6Route); + output.WriteMessage(IPRoute); } if (entryCase_ == EntryOneofCase.MplsLabel) { - output.WriteRawTag(26); + output.WriteRawTag(18); output.WriteMessage(MplsLabel); } if (entryCase_ == EntryOneofCase.PathGroup) { - output.WriteRawTag(34); + output.WriteRawTag(26); output.WriteMessage(PathGroup); } if (_unknownFields != null) { @@ -3142,11 +3526,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (entryCase_ == EntryOneofCase.IPv4Route) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(IPv4Route); - } - if (entryCase_ == EntryOneofCase.IPv6Route) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(IPv6Route); + if (entryCase_ == EntryOneofCase.IPRoute) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(IPRoute); } if (entryCase_ == EntryOneofCase.MplsLabel) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(MplsLabel); @@ -3167,17 +3548,11 @@ public void MergeFrom(SLAFObject other) { return; } switch (other.EntryCase) { - case EntryOneofCase.IPv4Route: - if (IPv4Route == null) { - IPv4Route = new global::ServiceLayer.SLRoutev4(); - } - IPv4Route.MergeFrom(other.IPv4Route); - break; - case EntryOneofCase.IPv6Route: - if (IPv6Route == null) { - IPv6Route = new global::ServiceLayer.SLRoutev6(); + case EntryOneofCase.IPRoute: + if (IPRoute == null) { + IPRoute = new global::ServiceLayer.SLAFIPRoute(); } - IPv6Route.MergeFrom(other.IPv6Route); + IPRoute.MergeFrom(other.IPRoute); break; case EntryOneofCase.MplsLabel: if (MplsLabel == null) { @@ -3209,24 +3584,15 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - global::ServiceLayer.SLRoutev4 subBuilder = new global::ServiceLayer.SLRoutev4(); - if (entryCase_ == EntryOneofCase.IPv4Route) { - subBuilder.MergeFrom(IPv4Route); + global::ServiceLayer.SLAFIPRoute subBuilder = new global::ServiceLayer.SLAFIPRoute(); + if (entryCase_ == EntryOneofCase.IPRoute) { + subBuilder.MergeFrom(IPRoute); } input.ReadMessage(subBuilder); - IPv4Route = subBuilder; + IPRoute = subBuilder; break; } case 18: { - global::ServiceLayer.SLRoutev6 subBuilder = new global::ServiceLayer.SLRoutev6(); - if (entryCase_ == EntryOneofCase.IPv6Route) { - subBuilder.MergeFrom(IPv6Route); - } - input.ReadMessage(subBuilder); - IPv6Route = subBuilder; - break; - } - case 26: { global::ServiceLayer.SLMplsEntry subBuilder = new global::ServiceLayer.SLMplsEntry(); if (entryCase_ == EntryOneofCase.MplsLabel) { subBuilder.MergeFrom(MplsLabel); @@ -3235,7 +3601,7 @@ public void MergeFrom(pb::CodedInputStream input) { MplsLabel = subBuilder; break; } - case 34: { + case 26: { global::ServiceLayer.SLPathGroup subBuilder = new global::ServiceLayer.SLPathGroup(); if (entryCase_ == EntryOneofCase.PathGroup) { subBuilder.MergeFrom(PathGroup); @@ -3260,24 +3626,15 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - global::ServiceLayer.SLRoutev4 subBuilder = new global::ServiceLayer.SLRoutev4(); - if (entryCase_ == EntryOneofCase.IPv4Route) { - subBuilder.MergeFrom(IPv4Route); + global::ServiceLayer.SLAFIPRoute subBuilder = new global::ServiceLayer.SLAFIPRoute(); + if (entryCase_ == EntryOneofCase.IPRoute) { + subBuilder.MergeFrom(IPRoute); } input.ReadMessage(subBuilder); - IPv4Route = subBuilder; + IPRoute = subBuilder; break; } case 18: { - global::ServiceLayer.SLRoutev6 subBuilder = new global::ServiceLayer.SLRoutev6(); - if (entryCase_ == EntryOneofCase.IPv6Route) { - subBuilder.MergeFrom(IPv6Route); - } - input.ReadMessage(subBuilder); - IPv6Route = subBuilder; - break; - } - case 26: { global::ServiceLayer.SLMplsEntry subBuilder = new global::ServiceLayer.SLMplsEntry(); if (entryCase_ == EntryOneofCase.MplsLabel) { subBuilder.MergeFrom(MplsLabel); @@ -3286,7 +3643,7 @@ public void MergeFrom(pb::CodedInputStream input) { MplsLabel = subBuilder; break; } - case 34: { + case 26: { global::ServiceLayer.SLPathGroup subBuilder = new global::ServiceLayer.SLPathGroup(); if (entryCase_ == EntryOneofCase.PathGroup) { subBuilder.MergeFrom(PathGroup); @@ -3305,21 +3662,21 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Operation on a forwarding table object /// - public sealed partial class SLAFOp : pb::IMessage + public sealed partial class SLAFOpMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFOp()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFOpMsg()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[9]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[11]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3330,7 +3687,7 @@ public sealed partial class SLAFOp : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFOp() { + public SLAFOpMsg() { OnConstruction(); } @@ -3338,7 +3695,7 @@ public SLAFOp() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFOp(SLAFOp other) : this() { + public SLAFOpMsg(SLAFOpMsg other) : this() { aFObject_ = other.aFObject_ != null ? other.aFObject_.Clone() : null; operationID_ = other.operationID_; ackType_ = other.ackType_; @@ -3349,13 +3706,16 @@ public SLAFOp(SLAFOp other) : this() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFOp Clone() { - return new SLAFOp(this); + public SLAFOpMsg Clone() { + return new SLAFOpMsg(this); } /// Field number for the "AFObject" field. public const int AFObjectFieldNumber = 1; private global::ServiceLayer.SLAFObject aFObject_; + /// + /// Object + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::ServiceLayer.SLAFObject AFObject { @@ -3371,8 +3731,10 @@ public SLAFOp Clone() { /// /// Unique operationID sent by the client to corelate the responses. /// The responses from network element can be out of order, and client can - /// use operation ID to correlate the response for the operation on the object. - /// Operation Id should be monotonically increasing for the life of the client. + /// use operation ID to correlate the response for the operation on the + /// object. + /// Operation Id should be monotonically increasing for the life of the + /// client. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -3436,12 +3798,12 @@ public ulong OperationID { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as SLAFOp); + return Equals(other as SLAFOpMsg); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLAFOp other) { + public bool Equals(SLAFOpMsg other) { if (ReferenceEquals(other, null)) { return false; } @@ -3485,20 +3847,738 @@ public void WriteTo(pb::CodedOutputStream output) { #else if (aFObject_ != null) { output.WriteRawTag(10); - output.WriteMessage(AFObject); - } - if (OperationID != 0UL) { - output.WriteRawTag(16); - output.WriteUInt64(OperationID); + output.WriteMessage(AFObject); + } + if (OperationID != 0UL) { + output.WriteRawTag(16); + output.WriteUInt64(OperationID); + } + if (AckType != global::ServiceLayer.SLRspACKType.RibAck) { + output.WriteRawTag(24); + output.WriteEnum((int) AckType); + } + ackPermits_.WriteTo(output, _repeated_ackPermits_codec); + if (AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { + output.WriteRawTag(40); + output.WriteEnum((int) AckCadence); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (aFObject_ != null) { + output.WriteRawTag(10); + output.WriteMessage(AFObject); + } + if (OperationID != 0UL) { + output.WriteRawTag(16); + output.WriteUInt64(OperationID); + } + if (AckType != global::ServiceLayer.SLRspACKType.RibAck) { + output.WriteRawTag(24); + output.WriteEnum((int) AckType); + } + ackPermits_.WriteTo(ref output, _repeated_ackPermits_codec); + if (AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { + output.WriteRawTag(40); + output.WriteEnum((int) AckCadence); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (aFObject_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(AFObject); + } + if (OperationID != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OperationID); + } + if (AckType != global::ServiceLayer.SLRspACKType.RibAck) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AckType); + } + size += ackPermits_.CalculateSize(_repeated_ackPermits_codec); + if (AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AckCadence); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLAFOpMsg other) { + if (other == null) { + return; + } + if (other.aFObject_ != null) { + if (aFObject_ == null) { + AFObject = new global::ServiceLayer.SLAFObject(); + } + AFObject.MergeFrom(other.AFObject); + } + if (other.OperationID != 0UL) { + OperationID = other.OperationID; + } + if (other.AckType != global::ServiceLayer.SLRspACKType.RibAck) { + AckType = other.AckType; + } + ackPermits_.Add(other.ackPermits_); + if (other.AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { + AckCadence = other.AckCadence; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (aFObject_ == null) { + AFObject = new global::ServiceLayer.SLAFObject(); + } + input.ReadMessage(AFObject); + break; + } + case 16: { + OperationID = input.ReadUInt64(); + break; + } + case 24: { + AckType = (global::ServiceLayer.SLRspACKType) input.ReadEnum(); + break; + } + case 34: + case 32: { + ackPermits_.AddEntriesFrom(input, _repeated_ackPermits_codec); + break; + } + case 40: { + AckCadence = (global::ServiceLayer.SLRspAckCadence) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (aFObject_ == null) { + AFObject = new global::ServiceLayer.SLAFObject(); + } + input.ReadMessage(AFObject); + break; + } + case 16: { + OperationID = input.ReadUInt64(); + break; + } + case 24: { + AckType = (global::ServiceLayer.SLRspACKType) input.ReadEnum(); + break; + } + case 34: + case 32: { + ackPermits_.AddEntriesFrom(ref input, _repeated_ackPermits_codec); + break; + } + case 40: { + AckCadence = (global::ServiceLayer.SLRspAckCadence) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + /// + /// List of Client IDs for which entries will be returned + /// + public sealed partial class SLAFClientIDList : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFClientIDList()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[12]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFClientIDList() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFClientIDList(SLAFClientIDList other) : this() { + clientIDList_ = other.clientIDList_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFClientIDList Clone() { + return new SLAFClientIDList(this); + } + + /// Field number for the "ClientIDList" field. + public const int ClientIDListFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_clientIDList_codec + = pb::FieldCodec.ForUInt64(10); + private readonly pbc::RepeatedField clientIDList_ = new pbc::RepeatedField(); + /// + /// List of Client IDs + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField ClientIDList { + get { return clientIDList_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLAFClientIDList); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLAFClientIDList other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!clientIDList_.Equals(other.clientIDList_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= clientIDList_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + clientIDList_.WriteTo(output, _repeated_clientIDList_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + clientIDList_.WriteTo(ref output, _repeated_clientIDList_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += clientIDList_.CalculateSize(_repeated_clientIDList_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLAFClientIDList other) { + if (other == null) { + return; + } + clientIDList_.Add(other.clientIDList_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: + case 8: { + clientIDList_.AddEntriesFrom(input, _repeated_clientIDList_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: + case 8: { + clientIDList_.AddEntriesFrom(ref input, _repeated_clientIDList_codec); + break; + } + } + } + } + #endif + + } + + /// + /// List of table types from whom objects for selected VRFs will be returned. + /// Table type SL_TABLE_TYPE_RESERVED should not be used + /// + public sealed partial class SLTableTypeList : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLTableTypeList()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[13]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLTableTypeList() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLTableTypeList(SLTableTypeList other) : this() { + table_ = other.table_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLTableTypeList Clone() { + return new SLTableTypeList(this); + } + + /// Field number for the "Table" field. + public const int TableFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_table_codec + = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::ServiceLayer.SLTableType) x); + private readonly pbc::RepeatedField table_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Table { + get { return table_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLTableTypeList); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLTableTypeList other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!table_.Equals(other.table_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= table_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + table_.WriteTo(output, _repeated_table_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + table_.WriteTo(ref output, _repeated_table_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += table_.CalculateSize(_repeated_table_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLTableTypeList other) { + if (other == null) { + return; + } + table_.Add(other.table_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: + case 8: { + table_.AddEntriesFrom(input, _repeated_table_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: + case 8: { + table_.AddEntriesFrom(ref input, _repeated_table_codec); + break; + } + } + } + } + #endif + + } + + /// + /// Key for a AF object + /// + public sealed partial class SLAFObjectKey : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFObjectKey()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFObjectKey() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFObjectKey(SLAFObjectKey other) : this() { + switch (other.KeyCase) { + case KeyOneofCase.IPRoutePrefix: + IPRoutePrefix = other.IPRoutePrefix.Clone(); + break; + case KeyOneofCase.MplsLabel: + MplsLabel = other.MplsLabel.Clone(); + break; + case KeyOneofCase.PathGroupId: + PathGroupId = other.PathGroupId.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLAFObjectKey Clone() { + return new SLAFObjectKey(this); + } + + /// Field number for the "IPRoutePrefix" field. + public const int IPRoutePrefixFieldNumber = 1; + /// + /// IP Route Prefix Key + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLRoutePrefix IPRoutePrefix { + get { return keyCase_ == KeyOneofCase.IPRoutePrefix ? (global::ServiceLayer.SLRoutePrefix) key_ : null; } + set { + key_ = value; + keyCase_ = value == null ? KeyOneofCase.None : KeyOneofCase.IPRoutePrefix; + } + } + + /// Field number for the "MplsLabel" field. + public const int MplsLabelFieldNumber = 2; + /// + /// MPLS Label Object Key + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLMplsEntryKey MplsLabel { + get { return keyCase_ == KeyOneofCase.MplsLabel ? (global::ServiceLayer.SLMplsEntryKey) key_ : null; } + set { + key_ = value; + keyCase_ = value == null ? KeyOneofCase.None : KeyOneofCase.MplsLabel; + } + } + + /// Field number for the "PathGroupId" field. + public const int PathGroupIdFieldNumber = 3; + /// + /// Path Group Object Key + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLObjectId PathGroupId { + get { return keyCase_ == KeyOneofCase.PathGroupId ? (global::ServiceLayer.SLObjectId) key_ : null; } + set { + key_ = value; + keyCase_ = value == null ? KeyOneofCase.None : KeyOneofCase.PathGroupId; + } + } + + private object key_; + /// Enum of possible cases for the "key" oneof. + public enum KeyOneofCase { + None = 0, + IPRoutePrefix = 1, + MplsLabel = 2, + PathGroupId = 3, + } + private KeyOneofCase keyCase_ = KeyOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public KeyOneofCase KeyCase { + get { return keyCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKey() { + keyCase_ = KeyOneofCase.None; + key_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLAFObjectKey); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLAFObjectKey other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(IPRoutePrefix, other.IPRoutePrefix)) return false; + if (!object.Equals(MplsLabel, other.MplsLabel)) return false; + if (!object.Equals(PathGroupId, other.PathGroupId)) return false; + if (KeyCase != other.KeyCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (keyCase_ == KeyOneofCase.IPRoutePrefix) hash ^= IPRoutePrefix.GetHashCode(); + if (keyCase_ == KeyOneofCase.MplsLabel) hash ^= MplsLabel.GetHashCode(); + if (keyCase_ == KeyOneofCase.PathGroupId) hash ^= PathGroupId.GetHashCode(); + hash ^= (int) keyCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (keyCase_ == KeyOneofCase.IPRoutePrefix) { + output.WriteRawTag(10); + output.WriteMessage(IPRoutePrefix); } - if (AckType != global::ServiceLayer.SLRspACKType.RibAck) { - output.WriteRawTag(24); - output.WriteEnum((int) AckType); + if (keyCase_ == KeyOneofCase.MplsLabel) { + output.WriteRawTag(18); + output.WriteMessage(MplsLabel); } - ackPermits_.WriteTo(output, _repeated_ackPermits_codec); - if (AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { - output.WriteRawTag(40); - output.WriteEnum((int) AckCadence); + if (keyCase_ == KeyOneofCase.PathGroupId) { + output.WriteRawTag(26); + output.WriteMessage(PathGroupId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3510,22 +4590,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (aFObject_ != null) { + if (keyCase_ == KeyOneofCase.IPRoutePrefix) { output.WriteRawTag(10); - output.WriteMessage(AFObject); - } - if (OperationID != 0UL) { - output.WriteRawTag(16); - output.WriteUInt64(OperationID); + output.WriteMessage(IPRoutePrefix); } - if (AckType != global::ServiceLayer.SLRspACKType.RibAck) { - output.WriteRawTag(24); - output.WriteEnum((int) AckType); + if (keyCase_ == KeyOneofCase.MplsLabel) { + output.WriteRawTag(18); + output.WriteMessage(MplsLabel); } - ackPermits_.WriteTo(ref output, _repeated_ackPermits_codec); - if (AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { - output.WriteRawTag(40); - output.WriteEnum((int) AckCadence); + if (keyCase_ == KeyOneofCase.PathGroupId) { + output.WriteRawTag(26); + output.WriteMessage(PathGroupId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3537,18 +4612,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (aFObject_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AFObject); - } - if (OperationID != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OperationID); + if (keyCase_ == KeyOneofCase.IPRoutePrefix) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(IPRoutePrefix); } - if (AckType != global::ServiceLayer.SLRspACKType.RibAck) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AckType); + if (keyCase_ == KeyOneofCase.MplsLabel) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(MplsLabel); } - size += ackPermits_.CalculateSize(_repeated_ackPermits_codec); - if (AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AckCadence); + if (keyCase_ == KeyOneofCase.PathGroupId) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3558,26 +4629,31 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLAFOp other) { + public void MergeFrom(SLAFObjectKey other) { if (other == null) { return; } - if (other.aFObject_ != null) { - if (aFObject_ == null) { - AFObject = new global::ServiceLayer.SLAFObject(); - } - AFObject.MergeFrom(other.AFObject); - } - if (other.OperationID != 0UL) { - OperationID = other.OperationID; - } - if (other.AckType != global::ServiceLayer.SLRspACKType.RibAck) { - AckType = other.AckType; - } - ackPermits_.Add(other.ackPermits_); - if (other.AckCadence != global::ServiceLayer.SLRspAckCadence.SlRspContinuous) { - AckCadence = other.AckCadence; + switch (other.KeyCase) { + case KeyOneofCase.IPRoutePrefix: + if (IPRoutePrefix == null) { + IPRoutePrefix = new global::ServiceLayer.SLRoutePrefix(); + } + IPRoutePrefix.MergeFrom(other.IPRoutePrefix); + break; + case KeyOneofCase.MplsLabel: + if (MplsLabel == null) { + MplsLabel = new global::ServiceLayer.SLMplsEntryKey(); + } + MplsLabel.MergeFrom(other.MplsLabel); + break; + case KeyOneofCase.PathGroupId: + if (PathGroupId == null) { + PathGroupId = new global::ServiceLayer.SLObjectId(); + } + PathGroupId.MergeFrom(other.PathGroupId); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3594,27 +4670,30 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (aFObject_ == null) { - AFObject = new global::ServiceLayer.SLAFObject(); + global::ServiceLayer.SLRoutePrefix subBuilder = new global::ServiceLayer.SLRoutePrefix(); + if (keyCase_ == KeyOneofCase.IPRoutePrefix) { + subBuilder.MergeFrom(IPRoutePrefix); } - input.ReadMessage(AFObject); - break; - } - case 16: { - OperationID = input.ReadUInt64(); - break; - } - case 24: { - AckType = (global::ServiceLayer.SLRspACKType) input.ReadEnum(); + input.ReadMessage(subBuilder); + IPRoutePrefix = subBuilder; break; } - case 34: - case 32: { - ackPermits_.AddEntriesFrom(input, _repeated_ackPermits_codec); + case 18: { + global::ServiceLayer.SLMplsEntryKey subBuilder = new global::ServiceLayer.SLMplsEntryKey(); + if (keyCase_ == KeyOneofCase.MplsLabel) { + subBuilder.MergeFrom(MplsLabel); + } + input.ReadMessage(subBuilder); + MplsLabel = subBuilder; break; } - case 40: { - AckCadence = (global::ServiceLayer.SLRspAckCadence) input.ReadEnum(); + case 26: { + global::ServiceLayer.SLObjectId subBuilder = new global::ServiceLayer.SLObjectId(); + if (keyCase_ == KeyOneofCase.PathGroupId) { + subBuilder.MergeFrom(PathGroupId); + } + input.ReadMessage(subBuilder); + PathGroupId = subBuilder; break; } } @@ -3633,27 +4712,30 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (aFObject_ == null) { - AFObject = new global::ServiceLayer.SLAFObject(); + global::ServiceLayer.SLRoutePrefix subBuilder = new global::ServiceLayer.SLRoutePrefix(); + if (keyCase_ == KeyOneofCase.IPRoutePrefix) { + subBuilder.MergeFrom(IPRoutePrefix); } - input.ReadMessage(AFObject); - break; - } - case 16: { - OperationID = input.ReadUInt64(); - break; - } - case 24: { - AckType = (global::ServiceLayer.SLRspACKType) input.ReadEnum(); + input.ReadMessage(subBuilder); + IPRoutePrefix = subBuilder; break; } - case 34: - case 32: { - ackPermits_.AddEntriesFrom(ref input, _repeated_ackPermits_codec); + case 18: { + global::ServiceLayer.SLMplsEntryKey subBuilder = new global::ServiceLayer.SLMplsEntryKey(); + if (keyCase_ == KeyOneofCase.MplsLabel) { + subBuilder.MergeFrom(MplsLabel); + } + input.ReadMessage(subBuilder); + MplsLabel = subBuilder; break; } - case 40: { - AckCadence = (global::ServiceLayer.SLRspAckCadence) input.ReadEnum(); + case 26: { + global::ServiceLayer.SLObjectId subBuilder = new global::ServiceLayer.SLObjectId(); + if (keyCase_ == KeyOneofCase.PathGroupId) { + subBuilder.MergeFrom(PathGroupId); + } + input.ReadMessage(subBuilder); + PathGroupId = subBuilder; break; } } @@ -3664,26 +4746,26 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// Used to retrieve objects in a VRF table. - /// Only objects produced by this client (as indicated in the RPC's metadata) - /// are returned unless the GetAllClients is set to true. In that case, all - /// the objects produced by all the clients is returned. + /// Get objects whose attributes match one of below entries. + /// Specify a regular expression for PathGroup name + /// or a numerical value for Vxlan VNI + /// or a specific IPv4, IPv6, MPLS or PG route key. /// - public sealed partial class SLAFGetMsg : pb::IMessage + public sealed partial class SLAFGetMatch : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFGetMsg()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFGetMatch()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[10]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[15]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3694,7 +4776,7 @@ public sealed partial class SLAFGetMsg : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFGetMsg() { + public SLAFGetMatch() { OnConstruction(); } @@ -3702,101 +4784,114 @@ public SLAFGetMsg() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFGetMsg(SLAFGetMsg other) : this() { - vrfName_ = other.vrfName_; - table_ = other.table_; - getAllClients_ = other.getAllClients_; - routeMatch_ = other.routeMatch_.Clone(); + public SLAFGetMatch(SLAFGetMatch other) : this() { + switch (other.EntryCase) { + case EntryOneofCase.Key: + Key = other.Key.Clone(); + break; + case EntryOneofCase.PathGroupRegex: + PathGroupRegex = other.PathGroupRegex; + break; + case EntryOneofCase.VxlanVniId: + VxlanVniId = other.VxlanVniId; + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFGetMsg Clone() { - return new SLAFGetMsg(this); + public SLAFGetMatch Clone() { + return new SLAFGetMatch(this); } - /// Field number for the "VrfName" field. - public const int VrfNameFieldNumber = 1; - private string vrfName_ = ""; + /// Field number for the "Key" field. + public const int KeyFieldNumber = 1; /// - /// VRF name. If VRF name is not specified or is nil, get objects from - /// all VRFs. + /// Return objects matching the specified object key (exact match) /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string VrfName { - get { return vrfName_; } + public global::ServiceLayer.SLAFObjectKey Key { + get { return entryCase_ == EntryOneofCase.Key ? (global::ServiceLayer.SLAFObjectKey) entry_ : null; } set { - vrfName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + entry_ = value; + entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.Key; } } - /// Field number for the "Table" field. - public const int TableFieldNumber = 2; - private global::ServiceLayer.SLTableType table_ = global::ServiceLayer.SLTableType.Reserved; + /// Field number for the "PathGroupRegex" field. + public const int PathGroupRegexFieldNumber = 2; /// - /// If Table is set to SL_TABLE_TYPE_RESERVED, or is unset, objects from - /// all tables for selected VRFs are returned + /// Path Group Name Regex /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLTableType Table { - get { return table_; } + public string PathGroupRegex { + get { return entryCase_ == EntryOneofCase.PathGroupRegex ? (string) entry_ : ""; } set { - table_ = value; + entry_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + entryCase_ = EntryOneofCase.PathGroupRegex; } } - /// Field number for the "GetAllClients" field. - public const int GetAllClientsFieldNumber = 3; - private bool getAllClients_; + /// Field number for the "VxlanVniId" field. + public const int VxlanVniIdFieldNumber = 3; /// - /// Get objects programmed by all clients, ignoring any RPC ClientID - /// metadata + /// Return VxLAN encap IP routes matching VNI ID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool GetAllClients { - get { return getAllClients_; } + public uint VxlanVniId { + get { return entryCase_ == EntryOneofCase.VxlanVniId ? (uint) entry_ : 0; } set { - getAllClients_ = value; + entry_ = value; + entryCase_ = EntryOneofCase.VxlanVniId; } } - /// Field number for the "RouteMatch" field. - public const int RouteMatchFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_routeMatch_codec - = pb::FieldCodec.ForMessage(34, global::ServiceLayer.SLRouteGetMatch.Parser); - private readonly pbc::RepeatedField routeMatch_ = new pbc::RepeatedField(); - /// - /// Get objects that match the value - /// + private object entry_; + /// Enum of possible cases for the "entry" oneof. + public enum EntryOneofCase { + None = 0, + Key = 1, + PathGroupRegex = 2, + VxlanVniId = 3, + } + private EntryOneofCase entryCase_ = EntryOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EntryOneofCase EntryCase { + get { return entryCase_; } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField RouteMatch { - get { return routeMatch_; } + public void ClearEntry() { + entryCase_ = EntryOneofCase.None; + entry_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as SLAFGetMsg); + return Equals(other as SLAFGetMatch); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLAFGetMsg other) { + public bool Equals(SLAFGetMatch other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (VrfName != other.VrfName) return false; - if (Table != other.Table) return false; - if (GetAllClients != other.GetAllClients) return false; - if(!routeMatch_.Equals(other.routeMatch_)) return false; + if (!object.Equals(Key, other.Key)) return false; + if (PathGroupRegex != other.PathGroupRegex) return false; + if (VxlanVniId != other.VxlanVniId) return false; + if (EntryCase != other.EntryCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3804,10 +4899,10 @@ public bool Equals(SLAFGetMsg other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (VrfName.Length != 0) hash ^= VrfName.GetHashCode(); - if (Table != global::ServiceLayer.SLTableType.Reserved) hash ^= Table.GetHashCode(); - if (GetAllClients != false) hash ^= GetAllClients.GetHashCode(); - hash ^= routeMatch_.GetHashCode(); + if (entryCase_ == EntryOneofCase.Key) hash ^= Key.GetHashCode(); + if (entryCase_ == EntryOneofCase.PathGroupRegex) hash ^= PathGroupRegex.GetHashCode(); + if (entryCase_ == EntryOneofCase.VxlanVniId) hash ^= VxlanVniId.GetHashCode(); + hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3826,19 +4921,18 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (VrfName.Length != 0) { + if (entryCase_ == EntryOneofCase.Key) { output.WriteRawTag(10); - output.WriteString(VrfName); + output.WriteMessage(Key); } - if (Table != global::ServiceLayer.SLTableType.Reserved) { - output.WriteRawTag(16); - output.WriteEnum((int) Table); + if (entryCase_ == EntryOneofCase.PathGroupRegex) { + output.WriteRawTag(18); + output.WriteString(PathGroupRegex); } - if (GetAllClients != false) { + if (entryCase_ == EntryOneofCase.VxlanVniId) { output.WriteRawTag(24); - output.WriteBool(GetAllClients); + output.WriteUInt32(VxlanVniId); } - routeMatch_.WriteTo(output, _repeated_routeMatch_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3849,19 +4943,18 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (VrfName.Length != 0) { + if (entryCase_ == EntryOneofCase.Key) { output.WriteRawTag(10); - output.WriteString(VrfName); + output.WriteMessage(Key); } - if (Table != global::ServiceLayer.SLTableType.Reserved) { - output.WriteRawTag(16); - output.WriteEnum((int) Table); + if (entryCase_ == EntryOneofCase.PathGroupRegex) { + output.WriteRawTag(18); + output.WriteString(PathGroupRegex); } - if (GetAllClients != false) { + if (entryCase_ == EntryOneofCase.VxlanVniId) { output.WriteRawTag(24); - output.WriteBool(GetAllClients); + output.WriteUInt32(VxlanVniId); } - routeMatch_.WriteTo(ref output, _repeated_routeMatch_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3872,16 +4965,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (VrfName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(VrfName); + if (entryCase_ == EntryOneofCase.Key) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Key); } - if (Table != global::ServiceLayer.SLTableType.Reserved) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Table); + if (entryCase_ == EntryOneofCase.PathGroupRegex) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PathGroupRegex); } - if (GetAllClients != false) { - size += 1 + 1; + if (entryCase_ == EntryOneofCase.VxlanVniId) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(VxlanVniId); } - size += routeMatch_.CalculateSize(_repeated_routeMatch_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3890,20 +4982,25 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLAFGetMsg other) { + public void MergeFrom(SLAFGetMatch other) { if (other == null) { return; } - if (other.VrfName.Length != 0) { - VrfName = other.VrfName; - } - if (other.Table != global::ServiceLayer.SLTableType.Reserved) { - Table = other.Table; - } - if (other.GetAllClients != false) { - GetAllClients = other.GetAllClients; + switch (other.EntryCase) { + case EntryOneofCase.Key: + if (Key == null) { + Key = new global::ServiceLayer.SLAFObjectKey(); + } + Key.MergeFrom(other.Key); + break; + case EntryOneofCase.PathGroupRegex: + PathGroupRegex = other.PathGroupRegex; + break; + case EntryOneofCase.VxlanVniId: + VxlanVniId = other.VxlanVniId; + break; } - routeMatch_.Add(other.routeMatch_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3920,19 +5017,20 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - VrfName = input.ReadString(); + global::ServiceLayer.SLAFObjectKey subBuilder = new global::ServiceLayer.SLAFObjectKey(); + if (entryCase_ == EntryOneofCase.Key) { + subBuilder.MergeFrom(Key); + } + input.ReadMessage(subBuilder); + Key = subBuilder; break; } - case 16: { - Table = (global::ServiceLayer.SLTableType) input.ReadEnum(); + case 18: { + PathGroupRegex = input.ReadString(); break; } case 24: { - GetAllClients = input.ReadBool(); - break; - } - case 34: { - routeMatch_.AddEntriesFrom(input, _repeated_routeMatch_codec); + VxlanVniId = input.ReadUInt32(); break; } } @@ -3951,19 +5049,20 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - VrfName = input.ReadString(); + global::ServiceLayer.SLAFObjectKey subBuilder = new global::ServiceLayer.SLAFObjectKey(); + if (entryCase_ == EntryOneofCase.Key) { + subBuilder.MergeFrom(Key); + } + input.ReadMessage(subBuilder); + Key = subBuilder; break; } - case 16: { - Table = (global::ServiceLayer.SLTableType) input.ReadEnum(); + case 18: { + PathGroupRegex = input.ReadString(); break; } case 24: { - GetAllClients = input.ReadBool(); - break; - } - case 34: { - routeMatch_.AddEntriesFrom(ref input, _repeated_routeMatch_codec); + VxlanVniId = input.ReadUInt32(); break; } } @@ -3974,161 +5073,83 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// FIB programming result of the dependent operation + /// List of match criteria to return objects that match either of the criteria + /// specified. /// - public sealed partial class SLAFDepFibStatus : pb::IMessage + public sealed partial class SLAFGetMatchList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFDepFibStatus()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[11]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFDepFibStatus() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFDepFibStatus(SLAFDepFibStatus other) : this() { - errorCode_ = other.errorCode_ != null ? other.errorCode_.Clone() : null; - operationID_ = other.operationID_; - version_ = other.version_; - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - PathGroupKey = other.PathGroupKey.Clone(); - break; - } - - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFGetMatchList()); + private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFDepFibStatus Clone() { - return new SLAFDepFibStatus(this); - } + public static pb::MessageParser Parser { get { return _parser; } } - /// Field number for the "ErrorCode" field. - public const int ErrorCodeFieldNumber = 1; - private global::ServiceLayer.SLErrorStatus errorCode_; - /// - /// Error code associated with hardware programming - /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLErrorStatus ErrorCode { - get { return errorCode_; } - set { - errorCode_ = value; - } + public static pbr::MessageDescriptor Descriptor { + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[16]; } } - /// Field number for the "OperationID" field. - public const int OperationIDFieldNumber = 2; - private ulong operationID_; - /// - /// Operation ID of the dependent object - /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong OperationID { - get { return operationID_; } - set { - operationID_ = value; - } + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } } - /// Field number for the "Version" field. - public const int VersionFieldNumber = 3; - private ulong version_; - /// - /// Version of the dependent object. A valid version is - /// a non-zero positive number. - /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong Version { - get { return version_; } - set { - version_ = value; - } + public SLAFGetMatchList() { + OnConstruction(); } - /// Field number for the "PathGroupKey" field. - public const int PathGroupKeyFieldNumber = 4; - /// - /// Path group reference key - /// + partial void OnConstruction(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLPathGroupRefKey PathGroupKey { - get { return entryCase_ == EntryOneofCase.PathGroupKey ? (global::ServiceLayer.SLPathGroupRefKey) entry_ : null; } - set { - entry_ = value; - entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.PathGroupKey; - } + public SLAFGetMatchList(SLAFGetMatchList other) : this() { + match_ = other.match_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } - private object entry_; - /// Enum of possible cases for the "entry" oneof. - public enum EntryOneofCase { - None = 0, - PathGroupKey = 4, - } - private EntryOneofCase entryCase_ = EntryOneofCase.None; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public EntryOneofCase EntryCase { - get { return entryCase_; } + public SLAFGetMatchList Clone() { + return new SLAFGetMatchList(this); } + /// Field number for the "Match" field. + public const int MatchFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_match_codec + = pb::FieldCodec.ForMessage(10, global::ServiceLayer.SLAFGetMatch.Parser); + private readonly pbc::RepeatedField match_ = new pbc::RepeatedField(); + /// + /// Match criteria to check objects to return + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearEntry() { - entryCase_ = EntryOneofCase.None; - entry_ = null; + public pbc::RepeatedField Match { + get { return match_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as SLAFDepFibStatus); + return Equals(other as SLAFGetMatchList); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLAFDepFibStatus other) { + public bool Equals(SLAFGetMatchList other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(ErrorCode, other.ErrorCode)) return false; - if (OperationID != other.OperationID) return false; - if (Version != other.Version) return false; - if (!object.Equals(PathGroupKey, other.PathGroupKey)) return false; - if (EntryCase != other.EntryCase) return false; + if(!match_.Equals(other.match_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4136,11 +5157,7 @@ public bool Equals(SLAFDepFibStatus other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (errorCode_ != null) hash ^= ErrorCode.GetHashCode(); - if (OperationID != 0UL) hash ^= OperationID.GetHashCode(); - if (Version != 0UL) hash ^= Version.GetHashCode(); - if (entryCase_ == EntryOneofCase.PathGroupKey) hash ^= PathGroupKey.GetHashCode(); - hash ^= (int) entryCase_; + hash ^= match_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4159,22 +5176,7 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (errorCode_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ErrorCode); - } - if (OperationID != 0UL) { - output.WriteRawTag(16); - output.WriteUInt64(OperationID); - } - if (Version != 0UL) { - output.WriteRawTag(24); - output.WriteUInt64(Version); - } - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(34); - output.WriteMessage(PathGroupKey); - } + match_.WriteTo(output, _repeated_match_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -4185,22 +5187,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (errorCode_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ErrorCode); - } - if (OperationID != 0UL) { - output.WriteRawTag(16); - output.WriteUInt64(OperationID); - } - if (Version != 0UL) { - output.WriteRawTag(24); - output.WriteUInt64(Version); - } - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(34); - output.WriteMessage(PathGroupKey); - } + match_.WriteTo(ref output, _repeated_match_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -4211,18 +5198,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (errorCode_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ErrorCode); - } - if (OperationID != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OperationID); - } - if (Version != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Version); - } - if (entryCase_ == EntryOneofCase.PathGroupKey) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupKey); - } + size += match_.CalculateSize(_repeated_match_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -4231,31 +5207,11 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLAFDepFibStatus other) { + public void MergeFrom(SLAFGetMatchList other) { if (other == null) { return; } - if (other.errorCode_ != null) { - if (errorCode_ == null) { - ErrorCode = new global::ServiceLayer.SLErrorStatus(); - } - ErrorCode.MergeFrom(other.ErrorCode); - } - if (other.OperationID != 0UL) { - OperationID = other.OperationID; - } - if (other.Version != 0UL) { - Version = other.Version; - } - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - if (PathGroupKey == null) { - PathGroupKey = new global::ServiceLayer.SLPathGroupRefKey(); - } - PathGroupKey.MergeFrom(other.PathGroupKey); - break; - } - + match_.Add(other.match_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4272,27 +5228,7 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (errorCode_ == null) { - ErrorCode = new global::ServiceLayer.SLErrorStatus(); - } - input.ReadMessage(ErrorCode); - break; - } - case 16: { - OperationID = input.ReadUInt64(); - break; - } - case 24: { - Version = input.ReadUInt64(); - break; - } - case 34: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; + match_.AddEntriesFrom(input, _repeated_match_codec); break; } } @@ -4311,27 +5247,7 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (errorCode_ == null) { - ErrorCode = new global::ServiceLayer.SLErrorStatus(); - } - input.ReadMessage(ErrorCode); - break; - } - case 16: { - OperationID = input.ReadUInt64(); - break; - } - case 24: { - Version = input.ReadUInt64(); - break; - } - case 34: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; + match_.AddEntriesFrom(ref input, _repeated_match_codec); break; } } @@ -4342,23 +5258,24 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// FIB programming result of an object + /// Used to retrieve objects in a VRF table. This RPC + /// can only be used to get objects programmed by this service. /// - public sealed partial class SLAFFibStatus : pb::IMessage + public sealed partial class SLAFGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFFibStatus()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLAFGetMsg()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[12]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[17]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4369,7 +5286,7 @@ public sealed partial class SLAFFibStatus : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFFibStatus() { + public SLAFGetMsg() { OnConstruction(); } @@ -4377,70 +5294,179 @@ public SLAFFibStatus() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFFibStatus(SLAFFibStatus other) : this() { - version_ = other.version_; - depResult_ = other.depResult_ != null ? other.depResult_.Clone() : null; + public SLAFGetMsg(SLAFGetMsg other) : this() { + vrfName_ = other.vrfName_; + switch (other.ClientCase) { + case ClientOneofCase.ClientIDList: + ClientIDList = other.ClientIDList.Clone(); + break; + case ClientOneofCase.AllClients: + AllClients = other.AllClients; + break; + } + + switch (other.MatchCase) { + case MatchOneofCase.TableList: + TableList = other.TableList.Clone(); + break; + case MatchOneofCase.RouteMatchList: + RouteMatchList = other.RouteMatchList.Clone(); + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLAFFibStatus Clone() { - return new SLAFFibStatus(this); + public SLAFGetMsg Clone() { + return new SLAFGetMsg(this); + } + + /// Field number for the "VrfName" field. + public const int VrfNameFieldNumber = 1; + private string vrfName_ = ""; + /// + /// VRF name. If VRF name is specified, the specified VRF + /// is a candidate for object search. + /// If VRF name is not specified or is nil, + /// all VRFs are candidates for object search. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string VrfName { + get { return vrfName_; } + set { + vrfName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "ClientIDList" field. + public const int ClientIDListFieldNumber = 2; + /// + /// Search objects programmed by clients in the Client ID List + /// Maximum number of entries allowed in the list is 32. All client ids + /// specified after the maximum are discarded. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLAFClientIDList ClientIDList { + get { return clientCase_ == ClientOneofCase.ClientIDList ? (global::ServiceLayer.SLAFClientIDList) client_ : null; } + set { + client_ = value; + clientCase_ = value == null ? ClientOneofCase.None : ClientOneofCase.ClientIDList; + } + } + + /// Field number for the "AllClients" field. + public const int AllClientsFieldNumber = 3; + /// + /// Search objects programmed by all clients + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool AllClients { + get { return clientCase_ == ClientOneofCase.AllClients ? (bool) client_ : false; } + set { + client_ = value; + clientCase_ = ClientOneofCase.AllClients; + } } - /// Field number for the "Version" field. - public const int VersionFieldNumber = 1; - private ulong version_; + /// Field number for the "TableList" field. + public const int TableListFieldNumber = 4; /// - /// Version generated by the device for this operation. A valid version is - /// a non-zero positive number + /// Return only objects of specified table types. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong Version { - get { return version_; } + public global::ServiceLayer.SLTableTypeList TableList { + get { return matchCase_ == MatchOneofCase.TableList ? (global::ServiceLayer.SLTableTypeList) match_ : null; } set { - version_ = value; + match_ = value; + matchCase_ = value == null ? MatchOneofCase.None : MatchOneofCase.TableList; } } - /// Field number for the "DepResult" field. - public const int DepResultFieldNumber = 2; - private global::ServiceLayer.SLAFDepFibStatus depResult_; + /// Field number for the "RouteMatchList" field. + public const int RouteMatchListFieldNumber = 5; /// - /// DepResult is the result of any object that this operation's object depends on. - /// For example: if this operation is about programming an IPv4 or IPv6 - /// route that is pointing to a Path Group, then the DepResult that will carry - /// the FIB result of the operation that programmed that Path Group. - /// Note, DepResult is returned on ADD and UPDATE operations only. + /// Return objects that match the specified match criteria. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLAFDepFibStatus DepResult { - get { return depResult_; } + public global::ServiceLayer.SLAFGetMatchList RouteMatchList { + get { return matchCase_ == MatchOneofCase.RouteMatchList ? (global::ServiceLayer.SLAFGetMatchList) match_ : null; } set { - depResult_ = value; + match_ = value; + matchCase_ = value == null ? MatchOneofCase.None : MatchOneofCase.RouteMatchList; } } + private object client_; + /// Enum of possible cases for the "client" oneof. + public enum ClientOneofCase { + None = 0, + ClientIDList = 2, + AllClients = 3, + } + private ClientOneofCase clientCase_ = ClientOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ClientOneofCase ClientCase { + get { return clientCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearClient() { + clientCase_ = ClientOneofCase.None; + client_ = null; + } + + private object match_; + /// Enum of possible cases for the "match" oneof. + public enum MatchOneofCase { + None = 0, + TableList = 4, + RouteMatchList = 5, + } + private MatchOneofCase matchCase_ = MatchOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MatchOneofCase MatchCase { + get { return matchCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMatch() { + matchCase_ = MatchOneofCase.None; + match_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as SLAFFibStatus); + return Equals(other as SLAFGetMsg); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLAFFibStatus other) { + public bool Equals(SLAFGetMsg other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Version != other.Version) return false; - if (!object.Equals(DepResult, other.DepResult)) return false; + if (VrfName != other.VrfName) return false; + if (!object.Equals(ClientIDList, other.ClientIDList)) return false; + if (AllClients != other.AllClients) return false; + if (!object.Equals(TableList, other.TableList)) return false; + if (!object.Equals(RouteMatchList, other.RouteMatchList)) return false; + if (ClientCase != other.ClientCase) return false; + if (MatchCase != other.MatchCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4448,8 +5474,13 @@ public bool Equals(SLAFFibStatus other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Version != 0UL) hash ^= Version.GetHashCode(); - if (depResult_ != null) hash ^= DepResult.GetHashCode(); + if (VrfName.Length != 0) hash ^= VrfName.GetHashCode(); + if (clientCase_ == ClientOneofCase.ClientIDList) hash ^= ClientIDList.GetHashCode(); + if (clientCase_ == ClientOneofCase.AllClients) hash ^= AllClients.GetHashCode(); + if (matchCase_ == MatchOneofCase.TableList) hash ^= TableList.GetHashCode(); + if (matchCase_ == MatchOneofCase.RouteMatchList) hash ^= RouteMatchList.GetHashCode(); + hash ^= (int) clientCase_; + hash ^= (int) matchCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4468,13 +5499,25 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Version != 0UL) { - output.WriteRawTag(8); - output.WriteUInt64(Version); + if (VrfName.Length != 0) { + output.WriteRawTag(10); + output.WriteString(VrfName); } - if (depResult_ != null) { + if (clientCase_ == ClientOneofCase.ClientIDList) { output.WriteRawTag(18); - output.WriteMessage(DepResult); + output.WriteMessage(ClientIDList); + } + if (clientCase_ == ClientOneofCase.AllClients) { + output.WriteRawTag(24); + output.WriteBool(AllClients); + } + if (matchCase_ == MatchOneofCase.TableList) { + output.WriteRawTag(34); + output.WriteMessage(TableList); + } + if (matchCase_ == MatchOneofCase.RouteMatchList) { + output.WriteRawTag(42); + output.WriteMessage(RouteMatchList); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -4486,13 +5529,25 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Version != 0UL) { - output.WriteRawTag(8); - output.WriteUInt64(Version); + if (VrfName.Length != 0) { + output.WriteRawTag(10); + output.WriteString(VrfName); } - if (depResult_ != null) { + if (clientCase_ == ClientOneofCase.ClientIDList) { output.WriteRawTag(18); - output.WriteMessage(DepResult); + output.WriteMessage(ClientIDList); + } + if (clientCase_ == ClientOneofCase.AllClients) { + output.WriteRawTag(24); + output.WriteBool(AllClients); + } + if (matchCase_ == MatchOneofCase.TableList) { + output.WriteRawTag(34); + output.WriteMessage(TableList); + } + if (matchCase_ == MatchOneofCase.RouteMatchList) { + output.WriteRawTag(42); + output.WriteMessage(RouteMatchList); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -4504,11 +5559,20 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Version != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Version); + if (VrfName.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(VrfName); } - if (depResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(DepResult); + if (clientCase_ == ClientOneofCase.ClientIDList) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ClientIDList); + } + if (clientCase_ == ClientOneofCase.AllClients) { + size += 1 + 1; + } + if (matchCase_ == MatchOneofCase.TableList) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TableList); + } + if (matchCase_ == MatchOneofCase.RouteMatchList) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteMatchList); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -4518,19 +5582,40 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLAFFibStatus other) { + public void MergeFrom(SLAFGetMsg other) { if (other == null) { return; } - if (other.Version != 0UL) { - Version = other.Version; + if (other.VrfName.Length != 0) { + VrfName = other.VrfName; } - if (other.depResult_ != null) { - if (depResult_ == null) { - DepResult = new global::ServiceLayer.SLAFDepFibStatus(); - } - DepResult.MergeFrom(other.DepResult); + switch (other.ClientCase) { + case ClientOneofCase.ClientIDList: + if (ClientIDList == null) { + ClientIDList = new global::ServiceLayer.SLAFClientIDList(); + } + ClientIDList.MergeFrom(other.ClientIDList); + break; + case ClientOneofCase.AllClients: + AllClients = other.AllClients; + break; + } + + switch (other.MatchCase) { + case MatchOneofCase.TableList: + if (TableList == null) { + TableList = new global::ServiceLayer.SLTableTypeList(); + } + TableList.MergeFrom(other.TableList); + break; + case MatchOneofCase.RouteMatchList: + if (RouteMatchList == null) { + RouteMatchList = new global::ServiceLayer.SLAFGetMatchList(); + } + RouteMatchList.MergeFrom(other.RouteMatchList); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4546,15 +5631,39 @@ public void MergeFrom(pb::CodedInputStream input) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 8: { - Version = input.ReadUInt64(); + case 10: { + VrfName = input.ReadString(); break; } case 18: { - if (depResult_ == null) { - DepResult = new global::ServiceLayer.SLAFDepFibStatus(); + global::ServiceLayer.SLAFClientIDList subBuilder = new global::ServiceLayer.SLAFClientIDList(); + if (clientCase_ == ClientOneofCase.ClientIDList) { + subBuilder.MergeFrom(ClientIDList); + } + input.ReadMessage(subBuilder); + ClientIDList = subBuilder; + break; + } + case 24: { + AllClients = input.ReadBool(); + break; + } + case 34: { + global::ServiceLayer.SLTableTypeList subBuilder = new global::ServiceLayer.SLTableTypeList(); + if (matchCase_ == MatchOneofCase.TableList) { + subBuilder.MergeFrom(TableList); + } + input.ReadMessage(subBuilder); + TableList = subBuilder; + break; + } + case 42: { + global::ServiceLayer.SLAFGetMatchList subBuilder = new global::ServiceLayer.SLAFGetMatchList(); + if (matchCase_ == MatchOneofCase.RouteMatchList) { + subBuilder.MergeFrom(RouteMatchList); } - input.ReadMessage(DepResult); + input.ReadMessage(subBuilder); + RouteMatchList = subBuilder; break; } } @@ -4572,15 +5681,39 @@ public void MergeFrom(pb::CodedInputStream input) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 8: { - Version = input.ReadUInt64(); + case 10: { + VrfName = input.ReadString(); + break; + } + case 18: { + global::ServiceLayer.SLAFClientIDList subBuilder = new global::ServiceLayer.SLAFClientIDList(); + if (clientCase_ == ClientOneofCase.ClientIDList) { + subBuilder.MergeFrom(ClientIDList); + } + input.ReadMessage(subBuilder); + ClientIDList = subBuilder; + break; + } + case 24: { + AllClients = input.ReadBool(); + break; + } + case 34: { + global::ServiceLayer.SLTableTypeList subBuilder = new global::ServiceLayer.SLTableTypeList(); + if (matchCase_ == MatchOneofCase.TableList) { + subBuilder.MergeFrom(TableList); + } + input.ReadMessage(subBuilder); + TableList = subBuilder; break; } - case 18: { - if (depResult_ == null) { - DepResult = new global::ServiceLayer.SLAFDepFibStatus(); + case 42: { + global::ServiceLayer.SLAFGetMatchList subBuilder = new global::ServiceLayer.SLAFGetMatchList(); + if (matchCase_ == MatchOneofCase.RouteMatchList) { + subBuilder.MergeFrom(RouteMatchList); } - input.ReadMessage(DepResult); + input.ReadMessage(subBuilder); + RouteMatchList = subBuilder; break; } } @@ -4607,7 +5740,7 @@ public sealed partial class SLAFGetMsgRspEntry : pb::IMessageField number for the "AFOp" field. - public const int AFOpFieldNumber = 1; - private global::ServiceLayer.SLAFOp aFOp_; + /// Field number for the "AFOpMsg" field. + public const int AFOpMsgFieldNumber = 1; + private global::ServiceLayer.SLAFOpMsg aFOpMsg_; /// /// Object /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLAFOp AFOp { - get { return aFOp_; } - set { - aFOp_ = value; - } - } - - /// Field number for the "ErrorCode" field. - public const int ErrorCodeFieldNumber = 2; - private global::ServiceLayer.SLErrorStatus errorCode_; - /// - /// If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - /// or RIB_FIB_INUSE_ACK then ErrorCode indicates result of hardware programming of the - /// operation - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLErrorStatus ErrorCode { - get { return errorCode_; } + public global::ServiceLayer.SLAFOpMsg AFOpMsg { + get { return aFOpMsg_; } set { - errorCode_ = value; + aFOpMsg_ = value; } } - /// Field number for the "Version" field. - public const int VersionFieldNumber = 3; - private ulong version_; + /// Field number for the "FIBStatus" field. + public const int FIBStatusFieldNumber = 2; + private global::ServiceLayer.SLAFFibStatus fIBStatus_ = global::ServiceLayer.SLAFFibStatus.SlFibUnknown; /// /// If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - /// or RIB_FIB_INUSE_ACK then Version is the last version number assigned by the device. + /// or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware + /// programming of the operation. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong Version { - get { return version_; } + public global::ServiceLayer.SLAFFibStatus FIBStatus { + get { return fIBStatus_; } set { - version_ = value; + fIBStatus_ = value; } } @@ -4702,9 +5818,8 @@ public bool Equals(SLAFGetMsgRspEntry other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AFOp, other.AFOp)) return false; - if (!object.Equals(ErrorCode, other.ErrorCode)) return false; - if (Version != other.Version) return false; + if (!object.Equals(AFOpMsg, other.AFOpMsg)) return false; + if (FIBStatus != other.FIBStatus) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4712,9 +5827,8 @@ public bool Equals(SLAFGetMsgRspEntry other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (aFOp_ != null) hash ^= AFOp.GetHashCode(); - if (errorCode_ != null) hash ^= ErrorCode.GetHashCode(); - if (Version != 0UL) hash ^= Version.GetHashCode(); + if (aFOpMsg_ != null) hash ^= AFOpMsg.GetHashCode(); + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) hash ^= FIBStatus.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4733,17 +5847,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (aFOp_ != null) { + if (aFOpMsg_ != null) { output.WriteRawTag(10); - output.WriteMessage(AFOp); - } - if (errorCode_ != null) { - output.WriteRawTag(18); - output.WriteMessage(ErrorCode); + output.WriteMessage(AFOpMsg); } - if (Version != 0UL) { - output.WriteRawTag(24); - output.WriteUInt64(Version); + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + output.WriteRawTag(16); + output.WriteEnum((int) FIBStatus); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -4755,17 +5865,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (aFOp_ != null) { + if (aFOpMsg_ != null) { output.WriteRawTag(10); - output.WriteMessage(AFOp); - } - if (errorCode_ != null) { - output.WriteRawTag(18); - output.WriteMessage(ErrorCode); + output.WriteMessage(AFOpMsg); } - if (Version != 0UL) { - output.WriteRawTag(24); - output.WriteUInt64(Version); + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + output.WriteRawTag(16); + output.WriteEnum((int) FIBStatus); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -4777,14 +5883,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (aFOp_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AFOp); - } - if (errorCode_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ErrorCode); + if (aFOpMsg_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(AFOpMsg); } - if (Version != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Version); + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) FIBStatus); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -4798,20 +5901,14 @@ public void MergeFrom(SLAFGetMsgRspEntry other) { if (other == null) { return; } - if (other.aFOp_ != null) { - if (aFOp_ == null) { - AFOp = new global::ServiceLayer.SLAFOp(); - } - AFOp.MergeFrom(other.AFOp); - } - if (other.errorCode_ != null) { - if (errorCode_ == null) { - ErrorCode = new global::ServiceLayer.SLErrorStatus(); + if (other.aFOpMsg_ != null) { + if (aFOpMsg_ == null) { + AFOpMsg = new global::ServiceLayer.SLAFOpMsg(); } - ErrorCode.MergeFrom(other.ErrorCode); + AFOpMsg.MergeFrom(other.AFOpMsg); } - if (other.Version != 0UL) { - Version = other.Version; + if (other.FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + FIBStatus = other.FIBStatus; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4829,21 +5926,14 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (aFOp_ == null) { - AFOp = new global::ServiceLayer.SLAFOp(); + if (aFOpMsg_ == null) { + AFOpMsg = new global::ServiceLayer.SLAFOpMsg(); } - input.ReadMessage(AFOp); + input.ReadMessage(AFOpMsg); break; } - case 18: { - if (errorCode_ == null) { - ErrorCode = new global::ServiceLayer.SLErrorStatus(); - } - input.ReadMessage(ErrorCode); - break; - } - case 24: { - Version = input.ReadUInt64(); + case 16: { + FIBStatus = (global::ServiceLayer.SLAFFibStatus) input.ReadEnum(); break; } } @@ -4862,21 +5952,14 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (aFOp_ == null) { - AFOp = new global::ServiceLayer.SLAFOp(); - } - input.ReadMessage(AFOp); - break; - } - case 18: { - if (errorCode_ == null) { - ErrorCode = new global::ServiceLayer.SLErrorStatus(); + if (aFOpMsg_ == null) { + AFOpMsg = new global::ServiceLayer.SLAFOpMsg(); } - input.ReadMessage(ErrorCode); + input.ReadMessage(AFOpMsg); break; } - case 24: { - Version = input.ReadUInt64(); + case 16: { + FIBStatus = (global::ServiceLayer.SLAFFibStatus) input.ReadEnum(); break; } } @@ -4904,7 +5987,7 @@ public sealed partial class SLAFGetMsgRsp : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[14]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[19]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5230,7 +6313,7 @@ public sealed partial class SLAFMsg : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[15]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[20]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5294,15 +6377,15 @@ public string VrfName { /// Field number for the "OpList" field. public const int OpListFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_opList_codec - = pb::FieldCodec.ForMessage(26, global::ServiceLayer.SLAFOp.Parser); - private readonly pbc::RepeatedField opList_ = new pbc::RepeatedField(); + private static readonly pb::FieldCodec _repeated_opList_codec + = pb::FieldCodec.ForMessage(26, global::ServiceLayer.SLAFOpMsg.Parser); + private readonly pbc::RepeatedField opList_ = new pbc::RepeatedField(); /// /// List of operations /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField OpList { + public pbc::RepeatedField OpList { get { return opList_; } } @@ -5494,7 +6577,7 @@ public sealed partial class SLAFRes : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[16]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[21]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5514,10 +6597,11 @@ public SLAFRes() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SLAFRes(SLAFRes other) : this() { - errStatus_ = other.errStatus_ != null ? other.errStatus_.Clone() : null; - operation_ = other.operation_ != null ? other.operation_.Clone() : null; + status_ = other.status_ != null ? other.status_.Clone() : null; + key_ = other.key_ != null ? other.key_.Clone() : null; + operationID_ = other.operationID_; + fIBStatus_ = other.fIBStatus_; errorString_ = other.errorString_; - fIBStatus_ = other.fIBStatus_ != null ? other.fIBStatus_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -5527,59 +6611,65 @@ public SLAFRes Clone() { return new SLAFRes(this); } - /// Field number for the "ErrStatus" field. - public const int ErrStatusFieldNumber = 1; - private global::ServiceLayer.SLErrorStatus errStatus_; + /// Field number for the "Status" field. + public const int StatusFieldNumber = 1; + private global::ServiceLayer.SLErrorStatus status_; /// - /// Error code + /// Status of Operation. + /// Status == SL_SUCCESS implies that the object is programmed in RIB. + /// Any other value implies some failure. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLErrorStatus ErrStatus { - get { return errStatus_; } + public global::ServiceLayer.SLErrorStatus Status { + get { return status_; } set { - errStatus_ = value; + status_ = value; } } - /// Field number for the "Operation" field. - public const int OperationFieldNumber = 2; - private global::ServiceLayer.SLAFOp operation_; + /// Field number for the "Key" field. + public const int KeyFieldNumber = 2; + private global::ServiceLayer.SLAFObjectKey key_; /// - /// The operation, expected to carry only the part that is considered - /// the key to uniquely identify the object that is programmed + /// Object key /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLAFOp Operation { - get { return operation_; } + public global::ServiceLayer.SLAFObjectKey Key { + get { return key_; } set { - operation_ = value; + key_ = value; } } - /// Field number for the "ErrorString" field. - public const int ErrorStringFieldNumber = 3; - private string errorString_ = ""; + /// Field number for the "OperationID" field. + public const int OperationIDFieldNumber = 3; + private ulong operationID_; /// - /// Descriptive string describing error if any, on the hardware programming + /// Unique operationID sent by the client to corelate the responses. + /// The responses from network element can be out of order, and client can + /// use operation ID to correlate the response for the operation on the + /// object. + /// Operation Id should be monotonically increasing for the lifetime of the + /// client. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ErrorString { - get { return errorString_; } + public ulong OperationID { + get { return operationID_; } set { - errorString_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + operationID_ = value; } } /// Field number for the "FIBStatus" field. public const int FIBStatusFieldNumber = 4; - private global::ServiceLayer.SLAFFibStatus fIBStatus_; + private global::ServiceLayer.SLAFFibStatus fIBStatus_ = global::ServiceLayer.SLAFFibStatus.SlFibUnknown; /// /// If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - /// or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware programming of the - /// operation + /// or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware + /// programming of the operation. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -5590,6 +6680,22 @@ public string ErrorString { } } + /// Field number for the "ErrorString" field. + public const int ErrorStringFieldNumber = 5; + private string errorString_ = ""; + /// + /// In case Status or FIBStatus indicates failure, the ErrorString MAY + /// provide more descriptive context about the failure. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ErrorString { + get { return errorString_; } + set { + errorString_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -5605,10 +6711,11 @@ public bool Equals(SLAFRes other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(ErrStatus, other.ErrStatus)) return false; - if (!object.Equals(Operation, other.Operation)) return false; + if (!object.Equals(Status, other.Status)) return false; + if (!object.Equals(Key, other.Key)) return false; + if (OperationID != other.OperationID) return false; + if (FIBStatus != other.FIBStatus) return false; if (ErrorString != other.ErrorString) return false; - if (!object.Equals(FIBStatus, other.FIBStatus)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5616,10 +6723,11 @@ public bool Equals(SLAFRes other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (errStatus_ != null) hash ^= ErrStatus.GetHashCode(); - if (operation_ != null) hash ^= Operation.GetHashCode(); + if (status_ != null) hash ^= Status.GetHashCode(); + if (key_ != null) hash ^= Key.GetHashCode(); + if (OperationID != 0UL) hash ^= OperationID.GetHashCode(); + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) hash ^= FIBStatus.GetHashCode(); if (ErrorString.Length != 0) hash ^= ErrorString.GetHashCode(); - if (fIBStatus_ != null) hash ^= FIBStatus.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5638,22 +6746,26 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (errStatus_ != null) { + if (status_ != null) { output.WriteRawTag(10); - output.WriteMessage(ErrStatus); + output.WriteMessage(Status); } - if (operation_ != null) { + if (key_ != null) { output.WriteRawTag(18); - output.WriteMessage(Operation); + output.WriteMessage(Key); + } + if (OperationID != 0UL) { + output.WriteRawTag(24); + output.WriteUInt64(OperationID); + } + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + output.WriteRawTag(32); + output.WriteEnum((int) FIBStatus); } if (ErrorString.Length != 0) { - output.WriteRawTag(26); + output.WriteRawTag(42); output.WriteString(ErrorString); } - if (fIBStatus_ != null) { - output.WriteRawTag(34); - output.WriteMessage(FIBStatus); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -5664,22 +6776,26 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (errStatus_ != null) { + if (status_ != null) { output.WriteRawTag(10); - output.WriteMessage(ErrStatus); + output.WriteMessage(Status); } - if (operation_ != null) { + if (key_ != null) { output.WriteRawTag(18); - output.WriteMessage(Operation); + output.WriteMessage(Key); + } + if (OperationID != 0UL) { + output.WriteRawTag(24); + output.WriteUInt64(OperationID); + } + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + output.WriteRawTag(32); + output.WriteEnum((int) FIBStatus); } if (ErrorString.Length != 0) { - output.WriteRawTag(26); + output.WriteRawTag(42); output.WriteString(ErrorString); } - if (fIBStatus_ != null) { - output.WriteRawTag(34); - output.WriteMessage(FIBStatus); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -5690,18 +6806,21 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (errStatus_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ErrStatus); + if (status_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Status); + } + if (key_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Key); + } + if (OperationID != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OperationID); } - if (operation_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Operation); + if (FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) FIBStatus); } if (ErrorString.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorString); } - if (fIBStatus_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(FIBStatus); - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -5714,27 +6833,27 @@ public void MergeFrom(SLAFRes other) { if (other == null) { return; } - if (other.errStatus_ != null) { - if (errStatus_ == null) { - ErrStatus = new global::ServiceLayer.SLErrorStatus(); + if (other.status_ != null) { + if (status_ == null) { + Status = new global::ServiceLayer.SLErrorStatus(); } - ErrStatus.MergeFrom(other.ErrStatus); + Status.MergeFrom(other.Status); } - if (other.operation_ != null) { - if (operation_ == null) { - Operation = new global::ServiceLayer.SLAFOp(); + if (other.key_ != null) { + if (key_ == null) { + Key = new global::ServiceLayer.SLAFObjectKey(); } - Operation.MergeFrom(other.Operation); + Key.MergeFrom(other.Key); + } + if (other.OperationID != 0UL) { + OperationID = other.OperationID; + } + if (other.FIBStatus != global::ServiceLayer.SLAFFibStatus.SlFibUnknown) { + FIBStatus = other.FIBStatus; } if (other.ErrorString.Length != 0) { ErrorString = other.ErrorString; } - if (other.fIBStatus_ != null) { - if (fIBStatus_ == null) { - FIBStatus = new global::ServiceLayer.SLAFFibStatus(); - } - FIBStatus.MergeFrom(other.FIBStatus); - } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -5751,28 +6870,29 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (errStatus_ == null) { - ErrStatus = new global::ServiceLayer.SLErrorStatus(); + if (status_ == null) { + Status = new global::ServiceLayer.SLErrorStatus(); } - input.ReadMessage(ErrStatus); + input.ReadMessage(Status); break; } case 18: { - if (operation_ == null) { - Operation = new global::ServiceLayer.SLAFOp(); + if (key_ == null) { + Key = new global::ServiceLayer.SLAFObjectKey(); } - input.ReadMessage(Operation); + input.ReadMessage(Key); break; } - case 26: { - ErrorString = input.ReadString(); + case 24: { + OperationID = input.ReadUInt64(); break; } - case 34: { - if (fIBStatus_ == null) { - FIBStatus = new global::ServiceLayer.SLAFFibStatus(); - } - input.ReadMessage(FIBStatus); + case 32: { + FIBStatus = (global::ServiceLayer.SLAFFibStatus) input.ReadEnum(); + break; + } + case 42: { + ErrorString = input.ReadString(); break; } } @@ -5791,28 +6911,29 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (errStatus_ == null) { - ErrStatus = new global::ServiceLayer.SLErrorStatus(); + if (status_ == null) { + Status = new global::ServiceLayer.SLErrorStatus(); } - input.ReadMessage(ErrStatus); + input.ReadMessage(Status); break; } case 18: { - if (operation_ == null) { - Operation = new global::ServiceLayer.SLAFOp(); + if (key_ == null) { + Key = new global::ServiceLayer.SLAFObjectKey(); } - input.ReadMessage(Operation); + input.ReadMessage(Key); break; } - case 26: { - ErrorString = input.ReadString(); + case 24: { + OperationID = input.ReadUInt64(); break; } - case 34: { - if (fIBStatus_ == null) { - FIBStatus = new global::ServiceLayer.SLAFFibStatus(); - } - input.ReadMessage(FIBStatus); + case 32: { + FIBStatus = (global::ServiceLayer.SLAFFibStatus) input.ReadEnum(); + break; + } + case 42: { + ErrorString = input.ReadString(); break; } } @@ -5839,7 +6960,7 @@ public sealed partial class SLAFMsgRsp : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[17]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[22]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6064,7 +7185,7 @@ public sealed partial class SLAFRedistRegMsg : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[18]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[23]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6346,7 +7467,7 @@ public sealed partial class SLAFNextHopRegKey : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[19]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[24]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6604,8 +7725,7 @@ public SLNextHopKey() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SLNextHopKey(SLNextHopKey other) : this() { - nextHop_ = other.nextHop_ != null ? other.nextHop_.Clone() : null; - nextHopLen_ = other.nextHopLen_; + nextHopIP_ = other.nextHopIP_ != null ? other.nextHopIP_.Clone() : null; exactMatch_ = other.exactMatch_; allowDefault_ = other.allowDefault_; recurse_ = other.recurse_; @@ -6618,38 +7738,23 @@ public SLNextHopKey Clone() { return new SLNextHopKey(this); } - /// Field number for the "NextHop" field. - public const int NextHopFieldNumber = 1; - private global::ServiceLayer.SLIpAddress nextHop_; + /// Field number for the "NextHopIP" field. + public const int NextHopIPFieldNumber = 1; + private global::ServiceLayer.SLRoutePrefix nextHopIP_; /// /// Next Hop IP to resolve /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLIpAddress NextHop { - get { return nextHop_; } - set { - nextHop_ = value; - } - } - - /// Field number for the "NextHopLen" field. - public const int NextHopLenFieldNumber = 2; - private uint nextHopLen_; - /// - /// Length of Next Hop IP address to use for resolution - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint NextHopLen { - get { return nextHopLen_; } + public global::ServiceLayer.SLRoutePrefix NextHopIP { + get { return nextHopIP_; } set { - nextHopLen_ = value; + nextHopIP_ = value; } } /// Field number for the "ExactMatch" field. - public const int ExactMatchFieldNumber = 3; + public const int ExactMatchFieldNumber = 2; private bool exactMatch_; /// /// Chose exact vs. best match @@ -6664,7 +7769,7 @@ public bool ExactMatch { } /// Field number for the "AllowDefault" field. - public const int AllowDefaultFieldNumber = 4; + public const int AllowDefaultFieldNumber = 3; private bool allowDefault_; /// /// Allow default route to be returned @@ -6679,7 +7784,7 @@ public bool AllowDefault { } /// Field number for the "Recurse" field. - public const int RecurseFieldNumber = 5; + public const int RecurseFieldNumber = 4; private bool recurse_; /// /// If this flag is not set or set to False, only the immediate @@ -6712,8 +7817,7 @@ public bool Equals(SLNextHopKey other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(NextHop, other.NextHop)) return false; - if (NextHopLen != other.NextHopLen) return false; + if (!object.Equals(NextHopIP, other.NextHopIP)) return false; if (ExactMatch != other.ExactMatch) return false; if (AllowDefault != other.AllowDefault) return false; if (Recurse != other.Recurse) return false; @@ -6724,8 +7828,7 @@ public bool Equals(SLNextHopKey other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (nextHop_ != null) hash ^= NextHop.GetHashCode(); - if (NextHopLen != 0) hash ^= NextHopLen.GetHashCode(); + if (nextHopIP_ != null) hash ^= NextHopIP.GetHashCode(); if (ExactMatch != false) hash ^= ExactMatch.GetHashCode(); if (AllowDefault != false) hash ^= AllowDefault.GetHashCode(); if (Recurse != false) hash ^= Recurse.GetHashCode(); @@ -6747,24 +7850,20 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (nextHop_ != null) { + if (nextHopIP_ != null) { output.WriteRawTag(10); - output.WriteMessage(NextHop); - } - if (NextHopLen != 0) { - output.WriteRawTag(16); - output.WriteUInt32(NextHopLen); + output.WriteMessage(NextHopIP); } if (ExactMatch != false) { - output.WriteRawTag(24); + output.WriteRawTag(16); output.WriteBool(ExactMatch); } if (AllowDefault != false) { - output.WriteRawTag(32); + output.WriteRawTag(24); output.WriteBool(AllowDefault); } if (Recurse != false) { - output.WriteRawTag(40); + output.WriteRawTag(32); output.WriteBool(Recurse); } if (_unknownFields != null) { @@ -6777,24 +7876,20 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (nextHop_ != null) { + if (nextHopIP_ != null) { output.WriteRawTag(10); - output.WriteMessage(NextHop); - } - if (NextHopLen != 0) { - output.WriteRawTag(16); - output.WriteUInt32(NextHopLen); + output.WriteMessage(NextHopIP); } if (ExactMatch != false) { - output.WriteRawTag(24); + output.WriteRawTag(16); output.WriteBool(ExactMatch); } if (AllowDefault != false) { - output.WriteRawTag(32); + output.WriteRawTag(24); output.WriteBool(AllowDefault); } if (Recurse != false) { - output.WriteRawTag(40); + output.WriteRawTag(32); output.WriteBool(Recurse); } if (_unknownFields != null) { @@ -6807,11 +7902,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (nextHop_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(NextHop); - } - if (NextHopLen != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NextHopLen); + if (nextHopIP_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(NextHopIP); } if (ExactMatch != false) { size += 1 + 1; @@ -6834,14 +7926,11 @@ public void MergeFrom(SLNextHopKey other) { if (other == null) { return; } - if (other.nextHop_ != null) { - if (nextHop_ == null) { - NextHop = new global::ServiceLayer.SLIpAddress(); + if (other.nextHopIP_ != null) { + if (nextHopIP_ == null) { + NextHopIP = new global::ServiceLayer.SLRoutePrefix(); } - NextHop.MergeFrom(other.NextHop); - } - if (other.NextHopLen != 0) { - NextHopLen = other.NextHopLen; + NextHopIP.MergeFrom(other.NextHopIP); } if (other.ExactMatch != false) { ExactMatch = other.ExactMatch; @@ -6868,25 +7957,21 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (nextHop_ == null) { - NextHop = new global::ServiceLayer.SLIpAddress(); + if (nextHopIP_ == null) { + NextHopIP = new global::ServiceLayer.SLRoutePrefix(); } - input.ReadMessage(NextHop); + input.ReadMessage(NextHopIP); break; } case 16: { - NextHopLen = input.ReadUInt32(); - break; - } - case 24: { ExactMatch = input.ReadBool(); break; } - case 32: { + case 24: { AllowDefault = input.ReadBool(); break; } - case 40: { + case 32: { Recurse = input.ReadBool(); break; } @@ -6906,25 +7991,21 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (nextHop_ == null) { - NextHop = new global::ServiceLayer.SLIpAddress(); + if (nextHopIP_ == null) { + NextHopIP = new global::ServiceLayer.SLRoutePrefix(); } - input.ReadMessage(NextHop); + input.ReadMessage(NextHopIP); break; } case 16: { - NextHopLen = input.ReadUInt32(); - break; - } - case 24: { ExactMatch = input.ReadBool(); break; } - case 32: { + case 24: { AllowDefault = input.ReadBool(); break; } - case 40: { + case 32: { Recurse = input.ReadBool(); break; } @@ -6957,7 +8038,7 @@ public sealed partial class SLAFNextHopRegMsg : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[20]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[25]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7161,7 +8242,7 @@ public sealed partial class SLAFNotifRegReq : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[21]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[26]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7514,7 +8595,7 @@ public sealed partial class SLAFNotifReq : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[22]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[27]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7783,7 +8864,7 @@ public sealed partial class SLAFNotifRsp : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[23]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[28]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8023,9 +9104,9 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Next hop Notification. - /// If there are no viable paths to the next hop, ResolvingRoute, - /// ResolvingRouteLen, SrcProto are not set, AdminDistance/Metric are set to - /// UINT32_MAX. + /// If there are no viable paths to the next hop, then: + /// 1. ResolvingPrefix, SrcProto are not set, and + /// 2. AdminDistance and Metric are set to UINT32_MAX. /// public sealed partial class SLNextHop : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE @@ -8041,7 +9122,7 @@ public sealed partial class SLNextHop : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[24]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[29]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8062,8 +9143,7 @@ public SLNextHop() { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SLNextHop(SLNextHop other) : this() { nextHopKey_ = other.nextHopKey_ != null ? other.nextHopKey_.Clone() : null; - resolvingRoute_ = other.resolvingRoute_ != null ? other.resolvingRoute_.Clone() : null; - resolvingRouteLen_ = other.resolvingRouteLen_; + resolvingPrefix_ = other.resolvingPrefix_ != null ? other.resolvingPrefix_.Clone() : null; srcProto_ = other.srcProto_; srcProtoTag_ = other.srcProtoTag_; adminDistance_ = other.adminDistance_; @@ -8093,38 +9173,23 @@ public SLNextHop Clone() { } } - /// Field number for the "ResolvingRoute" field. - public const int ResolvingRouteFieldNumber = 2; - private global::ServiceLayer.SLIpAddress resolvingRoute_; + /// Field number for the "ResolvingPrefix" field. + public const int ResolvingPrefixFieldNumber = 2; + private global::ServiceLayer.SLRoutePrefix resolvingPrefix_; /// /// Prefix of the route resolving the nexthop /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLIpAddress ResolvingRoute { - get { return resolvingRoute_; } - set { - resolvingRoute_ = value; - } - } - - /// Field number for the "ResolvingRouteLen" field. - public const int ResolvingRouteLenFieldNumber = 3; - private uint resolvingRouteLen_; - /// - /// Resolving route's prefix length - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint ResolvingRouteLen { - get { return resolvingRouteLen_; } + public global::ServiceLayer.SLRoutePrefix ResolvingPrefix { + get { return resolvingPrefix_; } set { - resolvingRouteLen_ = value; + resolvingPrefix_ = value; } } /// Field number for the "SrcProto" field. - public const int SrcProtoFieldNumber = 4; + public const int SrcProtoFieldNumber = 3; private string srcProto_ = ""; /// /// Source Protocol. @@ -8140,7 +9205,7 @@ public string SrcProto { } /// Field number for the "SrcProtoTag" field. - public const int SrcProtoTagFieldNumber = 5; + public const int SrcProtoTagFieldNumber = 4; private string srcProtoTag_ = ""; /// /// Source Protocol Tag. This can be empty if N/A. @@ -8157,7 +9222,7 @@ public string SrcProtoTag { } /// Field number for the "AdminDistance" field. - public const int AdminDistanceFieldNumber = 6; + public const int AdminDistanceFieldNumber = 5; private uint adminDistance_; /// /// Nexthop route distance @@ -8172,7 +9237,7 @@ public uint AdminDistance { } /// Field number for the "Metric" field. - public const int MetricFieldNumber = 7; + public const int MetricFieldNumber = 6; private uint metric_; /// /// Nexthop route metric @@ -8187,16 +9252,17 @@ public uint Metric { } /// Field number for the "Paths" field. - public const int PathsFieldNumber = 8; + public const int PathsFieldNumber = 7; private static readonly pb::FieldCodec _repeated_paths_codec - = pb::FieldCodec.ForMessage(66, global::ServiceLayer.SLRoutePath.Parser); + = pb::FieldCodec.ForMessage(58, global::ServiceLayer.SLRoutePath.Parser); private readonly pbc::RepeatedField paths_ = new pbc::RepeatedField(); /// /// Nexthop's path list. Paths indicate paths available /// for the next hop. In case of recursive next hop resolution, /// the returned path list consists of flattened directly connected /// paths. - /// Returned attributes in Path are NexthopAddress, NexthopInterface, VrfName. + /// Returned attributes in Path are NexthopAddress, NexthopInterface, + /// VrfName. /// /// If this field is not present, /// then no viable path to the next hop exist. @@ -8223,8 +9289,7 @@ public bool Equals(SLNextHop other) { return true; } if (!object.Equals(NextHopKey, other.NextHopKey)) return false; - if (!object.Equals(ResolvingRoute, other.ResolvingRoute)) return false; - if (ResolvingRouteLen != other.ResolvingRouteLen) return false; + if (!object.Equals(ResolvingPrefix, other.ResolvingPrefix)) return false; if (SrcProto != other.SrcProto) return false; if (SrcProtoTag != other.SrcProtoTag) return false; if (AdminDistance != other.AdminDistance) return false; @@ -8238,8 +9303,7 @@ public bool Equals(SLNextHop other) { public override int GetHashCode() { int hash = 1; if (nextHopKey_ != null) hash ^= NextHopKey.GetHashCode(); - if (resolvingRoute_ != null) hash ^= ResolvingRoute.GetHashCode(); - if (ResolvingRouteLen != 0) hash ^= ResolvingRouteLen.GetHashCode(); + if (resolvingPrefix_ != null) hash ^= ResolvingPrefix.GetHashCode(); if (SrcProto.Length != 0) hash ^= SrcProto.GetHashCode(); if (SrcProtoTag.Length != 0) hash ^= SrcProtoTag.GetHashCode(); if (AdminDistance != 0) hash ^= AdminDistance.GetHashCode(); @@ -8267,28 +9331,24 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(NextHopKey); } - if (resolvingRoute_ != null) { + if (resolvingPrefix_ != null) { output.WriteRawTag(18); - output.WriteMessage(ResolvingRoute); - } - if (ResolvingRouteLen != 0) { - output.WriteRawTag(24); - output.WriteUInt32(ResolvingRouteLen); + output.WriteMessage(ResolvingPrefix); } if (SrcProto.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(26); output.WriteString(SrcProto); } if (SrcProtoTag.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(34); output.WriteString(SrcProtoTag); } if (AdminDistance != 0) { - output.WriteRawTag(48); + output.WriteRawTag(40); output.WriteUInt32(AdminDistance); } if (Metric != 0) { - output.WriteRawTag(56); + output.WriteRawTag(48); output.WriteUInt32(Metric); } paths_.WriteTo(output, _repeated_paths_codec); @@ -8306,28 +9366,24 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(NextHopKey); } - if (resolvingRoute_ != null) { + if (resolvingPrefix_ != null) { output.WriteRawTag(18); - output.WriteMessage(ResolvingRoute); - } - if (ResolvingRouteLen != 0) { - output.WriteRawTag(24); - output.WriteUInt32(ResolvingRouteLen); + output.WriteMessage(ResolvingPrefix); } if (SrcProto.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(26); output.WriteString(SrcProto); } if (SrcProtoTag.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(34); output.WriteString(SrcProtoTag); } if (AdminDistance != 0) { - output.WriteRawTag(48); + output.WriteRawTag(40); output.WriteUInt32(AdminDistance); } if (Metric != 0) { - output.WriteRawTag(56); + output.WriteRawTag(48); output.WriteUInt32(Metric); } paths_.WriteTo(ref output, _repeated_paths_codec); @@ -8344,11 +9400,8 @@ public int CalculateSize() { if (nextHopKey_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(NextHopKey); } - if (resolvingRoute_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResolvingRoute); - } - if (ResolvingRouteLen != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ResolvingRouteLen); + if (resolvingPrefix_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResolvingPrefix); } if (SrcProto.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeStringSize(SrcProto); @@ -8381,14 +9434,11 @@ public void MergeFrom(SLNextHop other) { } NextHopKey.MergeFrom(other.NextHopKey); } - if (other.resolvingRoute_ != null) { - if (resolvingRoute_ == null) { - ResolvingRoute = new global::ServiceLayer.SLIpAddress(); + if (other.resolvingPrefix_ != null) { + if (resolvingPrefix_ == null) { + ResolvingPrefix = new global::ServiceLayer.SLRoutePrefix(); } - ResolvingRoute.MergeFrom(other.ResolvingRoute); - } - if (other.ResolvingRouteLen != 0) { - ResolvingRouteLen = other.ResolvingRouteLen; + ResolvingPrefix.MergeFrom(other.ResolvingPrefix); } if (other.SrcProto.Length != 0) { SrcProto = other.SrcProto; @@ -8426,33 +9476,29 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 18: { - if (resolvingRoute_ == null) { - ResolvingRoute = new global::ServiceLayer.SLIpAddress(); + if (resolvingPrefix_ == null) { + ResolvingPrefix = new global::ServiceLayer.SLRoutePrefix(); } - input.ReadMessage(ResolvingRoute); - break; - } - case 24: { - ResolvingRouteLen = input.ReadUInt32(); + input.ReadMessage(ResolvingPrefix); break; } - case 34: { + case 26: { SrcProto = input.ReadString(); break; } - case 42: { + case 34: { SrcProtoTag = input.ReadString(); break; } - case 48: { + case 40: { AdminDistance = input.ReadUInt32(); break; } - case 56: { + case 48: { Metric = input.ReadUInt32(); break; } - case 66: { + case 58: { paths_.AddEntriesFrom(input, _repeated_paths_codec); break; } @@ -8479,33 +9525,29 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 18: { - if (resolvingRoute_ == null) { - ResolvingRoute = new global::ServiceLayer.SLIpAddress(); + if (resolvingPrefix_ == null) { + ResolvingPrefix = new global::ServiceLayer.SLRoutePrefix(); } - input.ReadMessage(ResolvingRoute); + input.ReadMessage(ResolvingPrefix); break; } - case 24: { - ResolvingRouteLen = input.ReadUInt32(); - break; - } - case 34: { + case 26: { SrcProto = input.ReadString(); break; } - case 42: { + case 34: { SrcProtoTag = input.ReadString(); break; } - case 48: { + case 40: { AdminDistance = input.ReadUInt32(); break; } - case 56: { + case 48: { Metric = input.ReadUInt32(); break; } - case 66: { + case 58: { paths_.AddEntriesFrom(ref input, _repeated_paths_codec); break; } @@ -8533,7 +9575,7 @@ public sealed partial class SLAFNotif : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[25]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[30]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8601,10 +9643,10 @@ public SLAFNotif Clone() { /// This field carries the start marker per VRF per Tabletype. /// Server sends this event before any notifications are sent under /// following conditions: - /// - If there are no previous redistribution registrations for the VRF and - /// table type, and new redistribution requests are registered, then - /// when the first route matching any of the redistribution registrations - /// is available. + /// - If there are no previous redistribution registrations for the + /// VRF and table type, and new redistribution requests are registered, + /// then when the first route matching any of the redistribution + /// registrations is available. /// - On a RIB restart if there are previous redistribution registrations /// on the VRF and table type. /// This allows the client to stale any previous notifications in its @@ -8630,8 +9672,8 @@ public SLAFNotif Clone() { /// - On redistribution registrations from the client when /// all routes matching the outstanding redistribution registrations /// have been sent to the client. - /// - On RIB restart, after all routes matching the outstanding - /// registrations on the VRF and table type have been notified to the + /// - On RIB restart, after all routes matching the outstanding + /// registrations on the VRF and table type have been notified to the /// client. /// The client can now reconcile and sweep any stale notifications. /// @@ -8654,8 +9696,8 @@ public SLAFNotif Clone() { /// for forwarding. If the route is deleted, or no paths are available /// for forwarding, the PathList is not returned. /// If the route is programmed with PathGroupRefKey, the redistributed - /// route contains PathGroupRefKey. If the route is deleted, or the path group - /// is unviable, the PathGroupRefKey is not returned. + /// route contains PathGroupRefKey. If the route is deleted, or the + /// path group is unviable, the PathGroupRefKey is not returned. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -9225,7 +10267,7 @@ public sealed partial class SLAFNotifMsg : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[26]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[31]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] diff --git a/grpc/dotnet/src/gencs/SlAfGrpc.cs b/grpc/dotnet/src/gencs/SlAfGrpc.cs index a5d5097..0741fd5 100644 --- a/grpc/dotnet/src/gencs/SlAfGrpc.cs +++ b/grpc/dotnet/src/gencs/SlAfGrpc.cs @@ -12,7 +12,7 @@ // change without notice and such changes can break backwards compatibility. // // ---------------------------------------------------------------- -// Copyright (c) 2023, 2024 by Cisco Systems, Inc. +// Copyright (c) 2023-2025 by Cisco Systems, Inc. // All rights reserved. // ----------------------------------------------------------------- // @@ -269,6 +269,8 @@ public abstract partial class SLAFBase /// /// Retrieves object attributes. + /// This RPC is unidirectional streaming from the server side + /// Server will close the stream when all the entries have been returned. /// /// The request received from the client. /// Used for sending responses back to the client. @@ -300,7 +302,8 @@ public abstract partial class SLAFBase /// The call takes a stream of per-VRF table notification requests. /// Each notification request is first responded to with the result /// of the registration operation itself, followed by any redistributed - /// routes if requested and present, and any next hops if requested and present. + /// routes if requested and present, and any next hops if requested and + /// present. /// From then on, any updates are notified as long as RPC is up. /// /// Used for reading requests from the client. @@ -736,6 +739,8 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration } /// /// Retrieves object attributes. + /// This RPC is unidirectional streaming from the server side + /// Server will close the stream when all the entries have been returned. /// /// The request to send to the server. /// The initial metadata to send with the call. This parameter is optional. @@ -749,6 +754,8 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration } /// /// Retrieves object attributes. + /// This RPC is unidirectional streaming from the server side + /// Server will close the stream when all the entries have been returned. /// /// The request to send to the server. /// The options for the call. @@ -778,7 +785,8 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration /// The call takes a stream of per-VRF table notification requests. /// Each notification request is first responded to with the result /// of the registration operation itself, followed by any redistributed - /// routes if requested and present, and any next hops if requested and present. + /// routes if requested and present, and any next hops if requested and + /// present. /// From then on, any updates are notified as long as RPC is up. /// /// The initial metadata to send with the call. This parameter is optional. @@ -810,7 +818,8 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration /// The call takes a stream of per-VRF table notification requests. /// Each notification request is first responded to with the result /// of the registration operation itself, followed by any redistributed - /// routes if requested and present, and any next hops if requested and present. + /// routes if requested and present, and any next hops if requested and + /// present. /// From then on, any updates are notified as long as RPC is up. /// /// The options for the call. diff --git a/grpc/dotnet/src/gencs/SlCommonTypes.cs b/grpc/dotnet/src/gencs/SlCommonTypes.cs index f73d206..ae19128 100644 --- a/grpc/dotnet/src/gencs/SlCommonTypes.cs +++ b/grpc/dotnet/src/gencs/SlCommonTypes.cs @@ -24,9 +24,9 @@ public static partial class SlCommonTypesReflection { static SlCommonTypesReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChVzbF9jb21tb25fdHlwZXMucHJvdG8SDXNlcnZpY2VfbGF5ZXIizFcKDVNM", + "ChVzbF9jb21tb25fdHlwZXMucHJvdG8SDXNlcnZpY2VfbGF5ZXIiilcKDVNM", "RXJyb3JTdGF0dXMSNAoGU3RhdHVzGAEgASgOMiQuc2VydmljZV9sYXllci5T", - "TEVycm9yU3RhdHVzLlNMRXJybm8ihFcKB1NMRXJybm8SDgoKU0xfU1VDQ0VT", + "TEVycm9yU3RhdHVzLlNMRXJybm8iwlYKB1NMRXJybm8SDgoKU0xfU1VDQ0VT", "UxAAEhQKEFNMX05PVF9DT05ORUNURUQQARINCglTTF9FQUdBSU4QAhINCglT", "TF9FTk9NRU0QAxIMCghTTF9FQlVTWRAEEg0KCVNMX0VJTlZBTBAFEhYKElNM", "X1VOU1VQUE9SVEVEX1ZFUhAGEhQKEFNMX05PVF9BVkFJTEFCTEUQBxIbChdT", @@ -237,77 +237,77 @@ static SlCommonTypesReflection() { "TlZBTElEX05FWFRfSE9QX0FERFIQhcAFEiMKHVNMX05FWFRfSE9QX0lOVkFM", "SURfUFJFRklYX1NaEIbABRIgChpTTF9ORVhUX0hPUF9SSUJfQUREX0ZBSUxF", "RBCHwAUSJAoeU0xfUk9VVEVfUkVESVNUX1JJQl9BRERfRkFJTEVEEIjABRIZ", - "ChNTTF9GSUJfU1RBUlRfT0ZGU0VUEIDgBRIUCg5TTF9GSUJfU1VDQ0VTUxCB", - "4AUSEwoNU0xfRklCX0ZBSUxFRBCC4AUSFwoRU0xfRklCX0lORUxJR0lCTEUQ", - "g+AFEhoKFFNMX0ZJQl9JTlVTRV9TVUNDRVNTEITgBRIhChtTTF9BQ0tfUEVS", - "TUlUX05PVF9TVVBQT1JURUQQheAFEhgKElNMX0lOVkFMSURfQUNLVFlQRRCG", - "4AUSHAoWU0xfUE9MSUNZX1NUQVJUX09GRlNFVBCAgAYSFwoRU0xfUE9MSUNZ", - "X0FERF9FUlIQgYAGEhoKFFNMX1BPTElDWV9FWElTVFNfRVJSEIKABhIaChRT", - "TF9QT0xJQ1lfREVMRVRFX0VSUhCDgAYSHAoWU0xfUE9MSUNZX1JVTEVfQURE", - "X0VSUhCEgAYSHwoZU0xfUE9MSUNZX1JVTEVfRVhJU1RTX0VSUhCFgAYSHwoZ", - "U0xfUE9MSUNZX1JVTEVfREVMRVRFX0VSUhCGgAYSGQoTU0xfUE9MSUNZX0FQ", - "UExZX0VSUhCHgAYSGwoVU0xfUE9MSUNZX1VOQVBQTFlfRVJSEIiABhIhChtT", - "TF9QT0xJQ1lfVE9PX01BTllfUE9MSUNJRVMQiYAGEh0KF1NMX1BPTElDWV9O", - "QU1FX1RPT19MT05HEIqABhIiChxTTF9QT0xJQ1lfUlVMRV9OQU1FX1RPT19M", - "T05HEIuABhIqCiRTTF9QT0xJQ1lfRFVQTElDQVRFX1BSSU9SSVRZX0lOX1JV", - "TEUQjIAGEiQKHlNMX1BPTElDWV9SVUxFX01PRF9OT1RfQUxMT1dFRBCNgAYS", - "HAoWU0xfUE9MSUNZX0lOVkFMSURfUlVMRRCOgAYSIQobU0xfUE9MSUNZX1JV", - "TEVfQUREX05PX1JVTEVTEI+ABhIrCiVTTF9QT0xJQ1lfSU5WQUxJRF9NQVRD", - "SF9DT1VOVF9JTl9SVUxFEJCABhIsCiZTTF9QT0xJQ1lfSU5WQUxJRF9BQ1RJ", - "T05fQ09VTlRfSU5fUlVMRRCRgAYSGQoTU0xfUE9MSUNZX05PVF9GT1VORBCS", - "gAYSFwoRU0xfUE9MSUNZX0lOVkFMSUQQk4AGEhwKFlNMX1BPTElDWV9OQU1F", - "X01JU1NJTkcQlIAGEiEKG1NMX1BPTElDWV9SVUxFX05BTUVfTUlTU0lORxCV", - "gAYSKAoiU0xfUE9MSUNZX1BSSU9SSVRZX01JU1NJTkdfSU5fUlVMRRCWgAYS", - "HAoWU0xfUE9MSUNZX1RZUEVfSU5WQUxJRBCXgAYSIQobU0xfUE9MSUNZX0lO", - "VkFMSURfRElSRUNUSU9OEJiABhIhChtTTF9QT0xJQ1lfSU5URl9OQU1FX1RP", - "T0xPTkcQmYAGEiEKG1NMX1BPTElDWV9JTlRGX05BTUVfTUlTU0lORxCagAYS", - "JgogU0xfUE9MSUNZX01BWF9SVUxFX0xJTUlUX1JFQUNIRUQQm4AGEiEKG1NM", - "X1BPTElDWV9WUkZfTkFNRV9UT09fTE9ORxCcgAYSIAoaU0xfUE9MSUNZX1ZS", - "Rl9OQU1FX01JU1NJTkcQnYAGEiYKIFNMX1BPTElDWV9QQVRIX0dSUF9OQU1F", - "X1RPT19MT05HEJ6ABhIlCh9TTF9QT0xJQ1lfUEFUSF9HUlBfTkFNRV9NSVNT", - "SU5HEJ+ABhIiChxTTF9QT0xJQ1lfSU5WQUxJRF9EU0NQX1ZBTFVFEKCABhIl", - "Ch9TTF9QT0xJQ1lfUFJJT1JJVFlfU1RSX1RPT19MT05HEKGABhImCiBTTF9Q", - "T0xJQ1lfTUFYX0lOVEZfTElNSVRfUkVBQ0hFRBCigAYSJAoeU0xfUE9MSUNZ", - "X1JVTEVfREVMRVRFX05PX1JVTEVTEKOABhIeChhTTF9QT0xJQ1lfQVBQTFlf", - "Tk9fSU5URlMQpIAGEiAKGlNMX1BPTElDWV9VTkFQUExZX05PX0lOVEZTEKWA", - "BhIgChpTTF9CR1BMU19UT1BPX1NUQVJUX09GRlNFVBCAoAYSIwodU0xfQkdQ", - "TFNfU0VSVkVSX05PVF9BVkFJTEFCTEUQgaAGEigKIlNMX0JHUExTX01BWF9N", - "QVRDSF9GSUxURVJfRVhDRUVERUQQgqAGEiMKHVNMX0JHUExTX01BWF9TVFJF", - "QU1TX0VYQ0VFREVEEIOgBhIeChhTTF9JTlRFUk5BTF9TVEFSVF9PRkZTRVQQ", - "gIBAIjwKC1NMSW50ZXJmYWNlEg4KBE5hbWUYASABKAlIABIQCgZIYW5kbGUY", - "AiABKA1IAEILCglJbnRlcmZhY2UiQgoLU0xJcEFkZHJlc3MSEwoJVjRBZGRy", - "ZXNzGAEgASgNSAASEwoJVjZBZGRyZXNzGAIgASgMSABCCQoHQWRkcmVzcyIl", - "CgpTTE9iamVjdElkEg4KBE5hbWUYASABKAlIAEIHCgVlbnRyeSJUChFTTFBh", - "dGhHcm91cFJlZktleRIPCgdWcmZOYW1lGAEgASgJEi4KC1BhdGhHcm91cElk", - "GAIgASgLMhkuc2VydmljZV9sYXllci5TTE9iamVjdElkKmIKB1NMUmVnT3AS", - "FQoRU0xfUkVHT1BfUkVTRVJWRUQQABIVChFTTF9SRUdPUF9SRUdJU1RFUhAB", - "EhcKE1NMX1JFR09QX1VOUkVHSVNURVIQAhIQCgxTTF9SRUdPUF9FT0YQAypf", - "CgpTTE9iamVjdE9wEhUKEVNMX09CSk9QX1JFU0VSVkVEEAASEAoMU0xfT0JK", - "T1BfQUREEAESEwoPU0xfT0JKT1BfVVBEQVRFEAISEwoPU0xfT0JKT1BfREVM", - "RVRFEAMqUwoJU0xOb3RpZk9wEhcKE1NMX05PVElGT1BfUkVTRVJWRUQQABIV", - "ChFTTF9OT1RJRk9QX0VOQUJMRRABEhYKElNMX05PVElGT1BfRElTQUJMRRAC", - "KokBChBTTFVwZGF0ZVByaW9yaXR5EhgKFFNMX1BSSU9SSVRZX1JFU0VSVkVE", - "EAASGAoUU0xfUFJJT1JJVFlfQ1JJVElDQUwQBBIUChBTTF9QUklPUklUWV9I", - "SUdIEAgSFgoSU0xfUFJJT1JJVFlfTUVESVVNEAwSEwoPU0xfUFJJT1JJVFlf", - "TE9XEBAqSwoLU0xFbmNhcFR5cGUSFQoRU0xfRU5DQVBfUkVTRVJWRUQQABIS", - "Cg5TTF9FTkNBUF9WWExBThABEhEKDVNMX0VOQ0FQX01QTFMQAiqNAQoLU0xU", - "YWJsZVR5cGUSGgoWU0xfVEFCTEVfVFlQRV9SRVNFUlZFRBAAEhcKE1NMX0lQ", - "djRfUk9VVEVfVEFCTEUQARIXChNTTF9JUHY2X1JPVVRFX1RBQkxFEAISFwoT", - "U0xfTVBMU19MQUJFTF9UQUJMRRADEhcKE1NMX1BBVEhfR1JPVVBfVEFCTEUQ", - "BCpHCgxTTFJzcEFDS1R5cGUSCwoHUklCX0FDSxAAEhMKD1JJQl9BTkRfRklC", - "X0FDSxABEhUKEVJJQl9GSUJfSU5VU0VfQUNLEAIqvQEKDlNMUnNwQUNLUGVy", - "bWl0EhEKDVNMX1BFUk1JVF9BTEwQABIYChRTTF9QRVJNSVRfU0xfU1VDQ0VT", - "UxABEhwKGFNMX1BFUk1JVF9TTF9GSUJfU1VDQ0VTUxACEhsKF1NMX1BFUk1J", - "VF9TTF9GSUJfRkFJTEVEEAMSHwobU0xfUEVSTUlUX1NMX0ZJQl9JTkVMSUdJ", - "QkxFEAQSIgoeU0xfUEVSTUlUX1NMX0ZJQl9JTlVTRV9TVUNDRVNTEAUqZQoP", - "U0xSc3BBY2tDYWRlbmNlEhUKEVNMX1JTUF9DT05USU5VT1VTEAASFAoQU0xf", - "UlNQX0pVU1RfT05DRRABEhQKEFNMX1JTUF9PTkNFX0VBQ0gQAhIPCgtTTF9S", - "U1BfTk9ORRADQlFaT2dpdGh1Yi5jb20vQ2lzY28tc2VydmljZS1sYXllci9z", - "ZXJ2aWNlLWxheWVyLW9iam1vZGVsL2dycGMvcHJvdG9zO3NlcnZpY2VfbGF5", - "ZXJiBnByb3RvMw==")); + "ChNTTF9BQ0tfU1RBUlRfT0ZGU0VUEIDgBRIhChtTTF9BQ0tfUEVSTUlUX05P", + "VF9TVVBQT1JURUQQgeAFEhkKE1NMX0FDS19JTlZBTElEX1RZUEUQguAFEhwK", + "FlNMX1BPTElDWV9TVEFSVF9PRkZTRVQQgIAGEhcKEVNMX1BPTElDWV9BRERf", + "RVJSEIGABhIaChRTTF9QT0xJQ1lfRVhJU1RTX0VSUhCCgAYSGgoUU0xfUE9M", + "SUNZX0RFTEVURV9FUlIQg4AGEhwKFlNMX1BPTElDWV9SVUxFX0FERF9FUlIQ", + "hIAGEh8KGVNMX1BPTElDWV9SVUxFX0VYSVNUU19FUlIQhYAGEh8KGVNMX1BP", + "TElDWV9SVUxFX0RFTEVURV9FUlIQhoAGEhkKE1NMX1BPTElDWV9BUFBMWV9F", + "UlIQh4AGEhsKFVNMX1BPTElDWV9VTkFQUExZX0VSUhCIgAYSIQobU0xfUE9M", + "SUNZX1RPT19NQU5ZX1BPTElDSUVTEImABhIdChdTTF9QT0xJQ1lfTkFNRV9U", + "T09fTE9ORxCKgAYSIgocU0xfUE9MSUNZX1JVTEVfTkFNRV9UT09fTE9ORxCL", + "gAYSKgokU0xfUE9MSUNZX0RVUExJQ0FURV9QUklPUklUWV9JTl9SVUxFEIyA", + "BhIkCh5TTF9QT0xJQ1lfUlVMRV9NT0RfTk9UX0FMTE9XRUQQjYAGEhwKFlNM", + "X1BPTElDWV9JTlZBTElEX1JVTEUQjoAGEiEKG1NMX1BPTElDWV9SVUxFX0FE", + "RF9OT19SVUxFUxCPgAYSKwolU0xfUE9MSUNZX0lOVkFMSURfTUFUQ0hfQ09V", + "TlRfSU5fUlVMRRCQgAYSLAomU0xfUE9MSUNZX0lOVkFMSURfQUNUSU9OX0NP", + "VU5UX0lOX1JVTEUQkYAGEhkKE1NMX1BPTElDWV9OT1RfRk9VTkQQkoAGEhcK", + "EVNMX1BPTElDWV9JTlZBTElEEJOABhIcChZTTF9QT0xJQ1lfTkFNRV9NSVNT", + "SU5HEJSABhIhChtTTF9QT0xJQ1lfUlVMRV9OQU1FX01JU1NJTkcQlYAGEigK", + "IlNMX1BPTElDWV9QUklPUklUWV9NSVNTSU5HX0lOX1JVTEUQloAGEhwKFlNM", + "X1BPTElDWV9UWVBFX0lOVkFMSUQQl4AGEiEKG1NMX1BPTElDWV9JTlZBTElE", + "X0RJUkVDVElPThCYgAYSIQobU0xfUE9MSUNZX0lOVEZfTkFNRV9UT09MT05H", + "EJmABhIhChtTTF9QT0xJQ1lfSU5URl9OQU1FX01JU1NJTkcQmoAGEiYKIFNM", + "X1BPTElDWV9NQVhfUlVMRV9MSU1JVF9SRUFDSEVEEJuABhIhChtTTF9QT0xJ", + "Q1lfVlJGX05BTUVfVE9PX0xPTkcQnIAGEiAKGlNMX1BPTElDWV9WUkZfTkFN", + "RV9NSVNTSU5HEJ2ABhImCiBTTF9QT0xJQ1lfUEFUSF9HUlBfTkFNRV9UT09f", + "TE9ORxCegAYSJQofU0xfUE9MSUNZX1BBVEhfR1JQX05BTUVfTUlTU0lORxCf", + "gAYSIgocU0xfUE9MSUNZX0lOVkFMSURfRFNDUF9WQUxVRRCggAYSJQofU0xf", + "UE9MSUNZX1BSSU9SSVRZX1NUUl9UT09fTE9ORxChgAYSJgogU0xfUE9MSUNZ", + "X01BWF9JTlRGX0xJTUlUX1JFQUNIRUQQooAGEiQKHlNMX1BPTElDWV9SVUxF", + "X0RFTEVURV9OT19SVUxFUxCjgAYSHgoYU0xfUE9MSUNZX0FQUExZX05PX0lO", + "VEZTEKSABhIgChpTTF9QT0xJQ1lfVU5BUFBMWV9OT19JTlRGUxClgAYSGwoV", + "U0xfUE9MSUNZX1JFUExBQ0VfRVJSEKaABhIgChpTTF9CR1BMU19UT1BPX1NU", + "QVJUX09GRlNFVBCAoAYSIwodU0xfQkdQTFNfU0VSVkVSX05PVF9BVkFJTEFC", + "TEUQgaAGEigKIlNMX0JHUExTX01BWF9NQVRDSF9GSUxURVJfRVhDRUVERUQQ", + "gqAGEiMKHVNMX0JHUExTX01BWF9TVFJFQU1TX0VYQ0VFREVEEIOgBhIeChhT", + "TF9JTlRFUk5BTF9TVEFSVF9PRkZTRVQQgIBAIjwKC1NMSW50ZXJmYWNlEg4K", + "BE5hbWUYASABKAlIABIQCgZIYW5kbGUYAiABKA1IAEILCglJbnRlcmZhY2Ui", + "QgoLU0xJcEFkZHJlc3MSEwoJVjRBZGRyZXNzGAEgASgNSAASEwoJVjZBZGRy", + "ZXNzGAIgASgMSABCCQoHQWRkcmVzcyIlCgpTTE9iamVjdElkEg4KBE5hbWUY", + "ASABKAlIAEIHCgVlbnRyeSJUChFTTFBhdGhHcm91cFJlZktleRIPCgdWcmZO", + "YW1lGAEgASgJEi4KC1BhdGhHcm91cElkGAIgASgLMhkuc2VydmljZV9sYXll", + "ci5TTE9iamVjdElkKmIKB1NMUmVnT3ASFQoRU0xfUkVHT1BfUkVTRVJWRUQQ", + "ABIVChFTTF9SRUdPUF9SRUdJU1RFUhABEhcKE1NMX1JFR09QX1VOUkVHSVNU", + "RVIQAhIQCgxTTF9SRUdPUF9FT0YQAypfCgpTTE9iamVjdE9wEhUKEVNMX09C", + "Sk9QX1JFU0VSVkVEEAASEAoMU0xfT0JKT1BfQUREEAESEwoPU0xfT0JKT1Bf", + "VVBEQVRFEAISEwoPU0xfT0JKT1BfREVMRVRFEAMqUwoJU0xOb3RpZk9wEhcK", + "E1NMX05PVElGT1BfUkVTRVJWRUQQABIVChFTTF9OT1RJRk9QX0VOQUJMRRAB", + "EhYKElNMX05PVElGT1BfRElTQUJMRRACKokBChBTTFVwZGF0ZVByaW9yaXR5", + "EhgKFFNMX1BSSU9SSVRZX1JFU0VSVkVEEAASGAoUU0xfUFJJT1JJVFlfQ1JJ", + "VElDQUwQBBIUChBTTF9QUklPUklUWV9ISUdIEAgSFgoSU0xfUFJJT1JJVFlf", + "TUVESVVNEAwSEwoPU0xfUFJJT1JJVFlfTE9XEBAqSwoLU0xFbmNhcFR5cGUS", + "FQoRU0xfRU5DQVBfUkVTRVJWRUQQABISCg5TTF9FTkNBUF9WWExBThABEhEK", + "DVNMX0VOQ0FQX01QTFMQAiqNAQoLU0xUYWJsZVR5cGUSGgoWU0xfVEFCTEVf", + "VFlQRV9SRVNFUlZFRBAAEhcKE1NMX0lQdjRfUk9VVEVfVEFCTEUQARIXChNT", + "TF9JUHY2X1JPVVRFX1RBQkxFEAISFwoTU0xfTVBMU19MQUJFTF9UQUJMRRAD", + "EhcKE1NMX1BBVEhfR1JPVVBfVEFCTEUQBCpHCgxTTFJzcEFDS1R5cGUSCwoH", + "UklCX0FDSxAAEhMKD1JJQl9BTkRfRklCX0FDSxABEhUKEVJJQl9GSUJfSU5V", + "U0VfQUNLEAIqewoNU0xBRkZpYlN0YXR1cxISCg5TTF9GSUJfVU5LTk9XThAA", + "EhIKDlNMX0ZJQl9TVUNDRVNTEAESEQoNU0xfRklCX0ZBSUxFRBACEhUKEVNM", + "X0ZJQl9JTkVMSUdJQkxFEAMSGAoUU0xfRklCX0lOVVNFX1NVQ0NFU1MQBCqi", + "AQoOU0xSc3BBQ0tQZXJtaXQSHAoYU0xfUEVSTUlUX0ZJQl9TVEFUVVNfQUxM", + "EAASGQoVU0xfUEVSTUlUX0ZJQl9TVUNDRVNTEAESGAoUU0xfUEVSTUlUX0ZJ", + "Ql9GQUlMRUQQAhIcChhTTF9QRVJNSVRfRklCX0lORUxJR0lCTEUQAxIfChtT", + "TF9QRVJNSVRfRklCX0lOVVNFX1NVQ0NFU1MQBCplCg9TTFJzcEFja0NhZGVu", + "Y2USFQoRU0xfUlNQX0NPTlRJTlVPVVMQABIUChBTTF9SU1BfSlVTVF9PTkNF", + "EAESFAoQU0xfUlNQX09OQ0VfRUFDSBACEg8KC1NMX1JTUF9OT05FEANCUVpP", + "Z2l0aHViLmNvbS9DaXNjby1zZXJ2aWNlLWxheWVyL3NlcnZpY2UtbGF5ZXIt", + "b2JqbW9kZWwvZ3JwYy9wcm90b3M7c2VydmljZV9sYXllcmIGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ServiceLayer.SLRegOp), typeof(global::ServiceLayer.SLObjectOp), typeof(global::ServiceLayer.SLNotifOp), typeof(global::ServiceLayer.SLUpdatePriority), typeof(global::ServiceLayer.SLEncapType), typeof(global::ServiceLayer.SLTableType), typeof(global::ServiceLayer.SLRspACKType), typeof(global::ServiceLayer.SLRspACKPermit), typeof(global::ServiceLayer.SLRspAckCadence), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ServiceLayer.SLRegOp), typeof(global::ServiceLayer.SLObjectOp), typeof(global::ServiceLayer.SLNotifOp), typeof(global::ServiceLayer.SLUpdatePriority), typeof(global::ServiceLayer.SLEncapType), typeof(global::ServiceLayer.SLTableType), typeof(global::ServiceLayer.SLRspACKType), typeof(global::ServiceLayer.SLAFFibStatus), typeof(global::ServiceLayer.SLRspACKPermit), typeof(global::ServiceLayer.SLRspAckCadence), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLErrorStatus), global::ServiceLayer.SLErrorStatus.Parser, new[]{ "Status" }, null, new[]{ typeof(global::ServiceLayer.SLErrorStatus.Types.SLErrno) }, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLInterface), global::ServiceLayer.SLInterface.Parser, new[]{ "Name", "Handle" }, new[]{ "Interface" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLIpAddress), global::ServiceLayer.SLIpAddress.Parser, new[]{ "V4Address", "V6Address" }, new[]{ "Address" }, null, null, null), @@ -460,95 +460,122 @@ public enum SLRspACKType { /// If the object in the operation is successfully applied to RIB, /// SL_SUCCESS is returned. /// - /// If the object in the operation is not active and cannot be programmed to FIB, - /// SL_FIB_INELIGIBLE is returned as a second response and the operation is - /// considered complete. + /// If the object in the operation is not active and cannot be programmed to + /// FIB, SL_FIB_INELIGIBLE is returned as a second response and the + /// operation is considered complete. /// /// As a result of an operation on an object, if another previously - /// programmed object becomes ineligible, previously programmed object will be - /// removed from FIB and SL_FIB_INELIGIBLE will be sent asynchronously with - /// the last known OperationID for that object. However, the object will + /// programmed object becomes ineligible, previously programmed object will + /// be removed from FIB and SL_FIB_INELIGIBLE will be sent asynchronously + /// with the last known OperationID for that object. However, the object will /// continue to remain in RIB. /// /// Eventually, when the object becomes active, the object is sent to FIB - /// and result of the hardware programming is returned asynchronously with the last - /// known OperationID for that object. + /// and result of the hardware programming is returned asynchronously with + /// the last known OperationID for that object. /// /// **Note 1: while the object is waiting for FIB to be programmed, - /// client can send another update on the object and the object remains in-active. + /// client can send another update on the object and the object remains + /// in-active. /// The network element may coalesce such back to back operations. /// In this scenario, only the last operation on the object is responded to - /// with corresponding hardware programming result + /// with corresponding hardware programming result. /// - /// **Note 2: relay fib programming status is supported only in server streaming RPC. - /// However, the AckType RIB_AND_FIB_ACK is supported in both unary (SLAFOp) as well as - /// streaming (SLAFOpStream) rpc. When unary rpc is used for programming an object - /// with ackType as RIB_AND_FIB_ACK, fib programming will be tracked internally by - /// the server and can be retrieved through get operation. + /// **Note 2: relay of FIB programming status is supported only in server + /// streaming RPC. + /// However, the AckType RIB_AND_FIB_ACK is supported in both unary (SLAFOp) + /// as well as streaming (SLAFOpStream) RPC. When unary RPC is used for + /// programming an object with ackType as RIB_AND_FIB_ACK, FIB programming + /// will be tracked internally by the server and can be retrieved + /// through get operation. /// [pbr::OriginalName("RIB_AND_FIB_ACK")] RibAndFibAck = 1, /// - /// When the operating mode is RIB_FIB_INUSE_ACK, along with the behavior - /// explained above for RIB_AND_FIB_ACK, the client will receive an additional - /// response of type SL_FIB_INUSE_SUCCESS. RIB_FIB_INUSE_ACK indicates that object - /// has been programmed in FIB and is being actively used by one or more - /// forwarding chains. - /// RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup + /// When the ack type is RIB_FIB_INUSE_ACK, along with the behavior + /// explained above for RIB_AND_FIB_ACK, the client will receive an + /// additional response of type SL_FIB_INUSE_SUCCESS. RIB_FIB_INUSE_ACK + /// indicates that object has been programmed in FIB and is being actively + /// used by one or more forwarding chains. + /// // RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup. /// [pbr::OriginalName("RIB_FIB_INUSE_ACK")] RibFibInuseAck = 2, } /// - /// SLRspACKPermit defines bit-field that control the types of hardware programming - /// responses that the client is interested in. - /// A set bit in the mask indicates PERMIT/ALLOW the corresponding response type. + /// SLAFFibStatus defines possible status for hardware programming of + /// the operaration. + /// + public enum SLAFFibStatus { + /// + /// Hardware programming status is not available for this operation at + /// this time. + /// + [pbr::OriginalName("SL_FIB_UNKNOWN")] SlFibUnknown = 0, + /// + /// The operation is successfully programmed in hardware. + /// + [pbr::OriginalName("SL_FIB_SUCCESS")] SlFibSuccess = 1, + /// + /// Hardware programming failure + /// + [pbr::OriginalName("SL_FIB_FAILED")] SlFibFailed = 2, + /// + /// The object is not eligible (e.g. not best path, next hop down, etc.) + /// to be programmed in hardware. + /// + [pbr::OriginalName("SL_FIB_INELIGIBLE")] SlFibIneligible = 3, + /// + /// The forwarding chain using this object is fully active in hardware + /// and is in-use by at least one referencing object that is also + /// programmed in hardware. + /// + [pbr::OriginalName("SL_FIB_INUSE_SUCCESS")] SlFibInuseSuccess = 4, + } + + /// + /// SLRspACKPermit defines the list that control the types of hardware + /// programming responses as defined in SLAFFibStatus that the client is + /// interested in. /// If the SL-API client is interested in only a subset of possible responses - /// for hardware programming, then the corresponding bits are turned ON in the - /// bit-field. + /// for hardware programming, then the corresponding Permit types can be added + /// to the list. /// Control of response type is supported ONLY when ACK type is - /// RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK and is NOT supported when ACK type is RIB_ACK. - /// Errorcodes not listed in SLRspACKPermit such as parsing errors are - /// always permitted and will be relayed to the client even when SLRspACKPermit - /// is set to values other than SL_PERMIT_ALL. + /// RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK and is NOT supported when ACK type + /// is RIB_ACK. /// When AckPermit is not set by the SL-API client, the SL-API server /// will default to SL_PERMIT_ALL /// public enum SLRspACKPermit { /// - /// An undefined or 0 value Permits all SLErrorStatus to be relayed to client - /// - [pbr::OriginalName("SL_PERMIT_ALL")] SlPermitAll = 0, - /// - /// Permits SL_SUCCESS to be relayed to client - /// Note: SL_SUCCESS cannot be suppressed if ACK type is RIB_ACK + /// An undefined or 0 value Permits all SLAFFibStatus to be relayed to client /// - [pbr::OriginalName("SL_PERMIT_SL_SUCCESS")] SlPermitSlSuccess = 1, + [pbr::OriginalName("SL_PERMIT_FIB_STATUS_ALL")] SlPermitFibStatusAll = 0, /// /// Permits SL_FIB_SUCCESS to be relayed to client /// - [pbr::OriginalName("SL_PERMIT_SL_FIB_SUCCESS")] SlPermitSlFibSuccess = 2, + [pbr::OriginalName("SL_PERMIT_FIB_SUCCESS")] SlPermitFibSuccess = 1, /// /// Permits SL_FIB_FAILED to be relayed to client /// - [pbr::OriginalName("SL_PERMIT_SL_FIB_FAILED")] SlPermitSlFibFailed = 3, + [pbr::OriginalName("SL_PERMIT_FIB_FAILED")] SlPermitFibFailed = 2, /// /// Permits SL_FIB_INELIGIBLE to be relayed to client /// - [pbr::OriginalName("SL_PERMIT_SL_FIB_INELIGIBLE")] SlPermitSlFibIneligible = 4, + [pbr::OriginalName("SL_PERMIT_FIB_INELIGIBLE")] SlPermitFibIneligible = 3, /// - /// Permits SL_FIB_INUSE to be relayed to client + /// Permits SL_FIB_INUSE_SUCCESS to be relayed to client /// - [pbr::OriginalName("SL_PERMIT_SL_FIB_INUSE_SUCCESS")] SlPermitSlFibInuseSuccess = 5, + [pbr::OriginalName("SL_PERMIT_FIB_INUSE_SUCCESS")] SlPermitFibInuseSuccess = 4, } /// /// SLRspAckCadence controls the cadence of hardware programming responses. /// When SLRspAckCadence is NOT set by the SL-API client, the SL-API server - /// will default to SL_RSP_CONTINOUS and send responses defined by SLRspACKPermit, - /// for all hardware programming events including events that are internal - /// to the router such as insertion or removal of line cards. - /// Control of cadence is supported only when ACK type is RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK - /// and SLRspACKPermit MUST be set with value other than SL_PERMIT_ALL. + /// will default to SL_RSP_CONTINOUS and send responses defined by + /// SLRspACKPermit, for all hardware programming events including events that + /// are internal to the router such as insertion or removal of line cards. + /// Control of cadence is supported only when ACK type is RIB_AND_FIB_ACK + /// or RIB_FIB_INUSE_ACK. /// public enum SLRspAckCadence { /// @@ -561,10 +588,14 @@ public enum SLRspAckCadence { /// /// For Example: /// In the case where client sends - /// Permit == SL_PERMIT_SL_FIB_INELIGIBLE | SL_PERMIT_SL_FIB_SUCCESS | SL_PERMIT_SL_FIB_FAILED - /// Cadence == SL_RSP_JUST_ONCE and at the time of programming if the object was not viable - /// to be programmed in hardware, then the first response would be SL_FIB_INELIGIBLE. - /// There will no further notification when the object becomes viable and programmed in FIB. + /// Permit == SL_PERMIT_FIB_INELIGIBLE | + /// SL_PERMIT_FIB_SUCCESS | + /// SL_PERMIT_FIB_FAILED + /// Cadence == SL_RSP_JUST_ONCE and at the time of programming if the + /// object was not viable to be programmed in hardware, then the first + /// response would be SL_FIB_INELIGIBLE. + /// There will no further notification even when the object becomes + /// viable and programmed in FIB. /// [pbr::OriginalName("SL_RSP_JUST_ONCE")] SlRspJustOnce = 1, /// @@ -573,20 +604,24 @@ public enum SLRspAckCadence { /// /// For Example: /// In the case where client sends - /// Permit == SL_PERMIT_SL_FIB_INELIGIBLE | SL_PERMIT_SL_FIB_SUCCESS | SL_PERMIT_SL_FIB_FAILED - /// and Cadence == SL_RSP_ONCE_EACH and at the time of programming if the object was not viable - /// to be programmed in hardware, then the first response would be SL_FIB_INELIGIBLE. - /// Later, whenever the route becomes viable and gets programmed in the FIB the - /// corresponding result SL_FIB_SUCCESS/SL_FIB_FAILED will be also be notified. + /// Permit == SL_PERMIT_FIB_INELIGIBLE | + /// SL_PERMIT_FIB_SUCCESS | + /// SL_PERMIT_FIB_FAILED + /// and Cadence == SL_RSP_ONCE_EACH and at the time of programming if + /// the object was not viable to be programmed in hardware, then the + /// first response would be SL_FIB_INELIGIBLE. + /// Later, whenever the route becomes viable and gets programmed in the + /// FIB the corresponding result SL_FIB_SUCCESS/SL_FIB_FAILED will + /// be also be notified. /// This will be particularly useful in the case of out of order programming /// where the prefix is ineligible until referenced PathGroup is programmed. /// [pbr::OriginalName("SL_RSP_ONCE_EACH")] SlRspOnceEach = 2, /// /// Blocks all response types. This option is used when client expects - /// the hw-programming to be tracked internally within service-layer grpc + /// the hw-programming to be tracked internally within service-layer gRPC /// server but doesn't expect any notification to be sent to the client. - /// This option makes any SLRspACKPermit value to be treated as don't care. + /// When SL_RSP_NONE is used, the value of SLRspACKPermit is ignored. /// [pbr::OriginalName("SL_RSP_NONE")] SlRspNone = 3, } @@ -921,11 +956,13 @@ public enum SLErrno { /// [pbr::OriginalName("SL_VRF_NO_TABLE_ID")] SlVrfNoTableId = 8195, /// - /// VRF add registration message with invalid administrative distance. 0x2004 + /// VRF add registration message with invalid administrative distance. + /// 0x2004 /// [pbr::OriginalName("SL_VRF_REG_INVALID_ADMIN_DISTANCE")] SlVrfRegInvalidAdminDistance = 8196, /// - /// On a VRF registration, Table cannot be added to persistent memory. 0x2005 + /// On a VRF registration, Table cannot be added to persistent memory. + /// 0x2005 /// [pbr::OriginalName("SL_VRF_TABLE_ADD_ERR")] SlVrfTableAddErr = 8197, /// @@ -1023,11 +1060,13 @@ public enum SLErrno { /// [pbr::OriginalName("SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG")] SlRpcRouteNotifSrcProtoTagToolong = 12298, /// - /// Operation rejected as the requested match value/values/criteria is invalid. 0x300b + /// Operation rejected as the requested match value/values/criteria + /// is invalid. 0x300b /// [pbr::OriginalName("SL_RPC_ROUTE_GET_MATCH_INVALID")] SlRpcRouteGetMatchInvalid = 12299, /// - /// Operation rejected as the requested match value/values/criteria is not supported. 0x300c + /// Operation rejected as the requested match value/values/criteria + /// is not supported. 0x300c /// [pbr::OriginalName("SL_RPC_ROUTE_GET_MATCH_NOTSUP")] SlRpcRouteGetMatchNotsup = 12300, /// @@ -1081,7 +1120,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_ROUTE_ERR_RIB_TOOMANYPATHS")] SlRouteErrRibToomanypaths = 16395, /// - /// This route already exists in the database. 0x400c + /// This route already exists in the database. 0x400c /// [pbr::OriginalName("SL_ROUTE_EEXIST")] SlRouteEexist = 16396, /// @@ -1133,7 +1172,8 @@ public enum SLErrno { /// [pbr::OriginalName("SL_PATH_INVALID_LABEL_COUNT")] SlPathInvalidLabelCount = 20483, /// - /// Path ID assigned to the path falls outside the supported range. 0x5004 + /// Path ID assigned to the path falls outside the supported range. + /// 0x5004 /// [pbr::OriginalName("SL_PATH_INVALID_ID")] SlPathInvalidId = 20484, /// @@ -1230,7 +1270,8 @@ public enum SLErrno { /// [pbr::OriginalName("SL_PATH_RTR_MAC_NOSUP")] SlPathRtrMacNosup = 20507, /// - /// Path Encap type attribute does not match specified encapsulation. 0x501c + /// Path Encap type attribute does not match specified encapsulation. + /// 0x501c /// [pbr::OriginalName("SL_PATH_ENCAP_TYPE_MISMATCH")] SlPathEncapTypeMismatch = 20508, /// @@ -1279,7 +1320,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_BFD_INTF_NOT_FOUND")] SlBfdIntfNotFound = 28674, /// - /// BFD Session's tx interval or multiplier are beyond the + /// BFD Session's tx interval or multiplier are beyond the /// supported range. 0x7003 /// [pbr::OriginalName("SL_BFD_INVALID_ATTRIBUTE")] SlBfdInvalidAttribute = 28675, @@ -1300,7 +1341,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_BFD_VRF_NAME_TOOLONG")] SlBfdVrfNameToolong = 28679, /// - /// BFD Session's one or more parameters are invalid. + /// BFD Session's one or more parameters are invalid. /// For example, Multihop BFD can not have the interface name set. 0x7008 /// [pbr::OriginalName("SL_BFD_BAD_PARAMETER")] SlBfdBadParameter = 28680, @@ -1434,7 +1475,8 @@ public enum SLErrno { /// [pbr::OriginalName("SL_ILM_ADD_NO_PATHS")] SlIlmAddNoPaths = 36879, /// - /// MPLS ILM update operation requested but no paths were provided. 0x9010 + /// MPLS ILM update operation requested but no paths were provided. + /// 0x9010 /// [pbr::OriginalName("SL_ILM_UPDATE_NO_PATHS")] SlIlmUpdateNoPaths = 36880, /// @@ -1519,7 +1561,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_NHLFE_NH_INTF_NAME_TOOLONG")] SlNhlfeNhIntfNameToolong = 40966, /// - /// Number of labels in the path incompatible with system capabilities + /// Number of labels in the path incompatible with system capabilities /// for the given label action. 0xa007 /// [pbr::OriginalName("SL_NHLFE_INVALID_LABEL_COUNT")] SlNhlfeInvalidLabelCount = 40967, @@ -1637,7 +1679,8 @@ public enum SLErrno { /// [pbr::OriginalName("SL_NHLFE_NON_CONTIGUOUS_EXP")] SlNhlfeNonContiguousExp = 40995, /// - /// On a ILM, mix of NHLFE with EXP class and others without any EXP class are not allowed. 0xa024 + /// On a ILM, mix of NHLFE with EXP class and others without any EXP + /// class are not allowed. 0xa024 /// [pbr::OriginalName("SL_NHLFE_INCONSISTENT_EXP_ON_PATH")] SlNhlfeInconsistentExpOnPath = 40996, /// @@ -1718,7 +1761,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_RPC_INTF_SERVER_NOT_INITIALIZED")] SlRpcIntfServerNotInitialized = 53250, /// - /// Interface Operation failed as server is not registered with + /// Interface Operation failed as server is not registered with /// interface manager. 0xd003 /// [pbr::OriginalName("SL_RPC_INTF_API_CLIENT_NOT_REGISTERED")] SlRpcIntfApiClientNotRegistered = 53251, @@ -1735,7 +1778,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_INTF_INTERFACE_NAME_TOOLONG")] SlIntfInterfaceNameToolong = 57346, /// - /// Interface internal registration error. 0xe003 + /// Interface internal registration error. 0xe003 /// [pbr::OriginalName("SL_INTF_INTERFACE_REG_ERR")] SlIntfInterfaceRegErr = 57347, /// @@ -1929,7 +1972,8 @@ public enum SLErrno { /// [pbr::OriginalName("SL_PG_STR_KEY_TOOLONG")] SlPgStrKeyToolong = 86019, /// - /// ID of a next hop VRF in a path in the PathGroup cannot be determined. 0x15004 + /// ID of a next hop VRF in a path in the PathGroup cannot be determined. + /// 0x15004 /// [pbr::OriginalName("SL_PG_TARGET_VRF_NO_VRFID")] SlPgTargetVrfNoVrfid = 86020, /// @@ -1975,31 +2019,16 @@ public enum SLErrno { /// /// Offset for Hardware Ack errors. 0x17000 /// - [pbr::OriginalName("SL_FIB_START_OFFSET")] SlFibStartOffset = 94208, - /// - /// The operation is successfully programmed in hardware. 0x17001 - /// - [pbr::OriginalName("SL_FIB_SUCCESS")] SlFibSuccess = 94209, - /// - /// FIB programming failure. 0x17002 - /// - [pbr::OriginalName("SL_FIB_FAILED")] SlFibFailed = 94210, + [pbr::OriginalName("SL_ACK_START_OFFSET")] SlAckStartOffset = 94208, /// - /// The operation is not viable to be programmed in hardware at this time. 0x17003 + /// Ack permit is supported only on streaming RPC with ack type set + /// to RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17001 /// - [pbr::OriginalName("SL_FIB_INELIGIBLE")] SlFibIneligible = 94211, + [pbr::OriginalName("SL_ACK_PERMIT_NOT_SUPPORTED")] SlAckPermitNotSupported = 94209, /// - /// The forwarding chain using this object is fully active in hardware. 0x17004 + /// The Ack type requested is not supported on the object type. 0x17002 /// - [pbr::OriginalName("SL_FIB_INUSE_SUCCESS")] SlFibInuseSuccess = 94212, - /// - /// Ack permit is not supported when ack type is not RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17005 - /// - [pbr::OriginalName("SL_ACK_PERMIT_NOT_SUPPORTED")] SlAckPermitNotSupported = 94213, - /// - /// Given ack type is not permitted on object of this type. 0x17006 - /// - [pbr::OriginalName("SL_INVALID_ACKTYPE")] SlInvalidAcktype = 94214, + [pbr::OriginalName("SL_ACK_INVALID_TYPE")] SlAckInvalidType = 94210, /// /// Offset for policy object operations. 0x18000 /// @@ -2085,7 +2114,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_POLICY_NAME_MISSING")] SlPolicyNameMissing = 98324, /// - /// Rule name missing. 0x18015 + /// Rule name missing. 0x18015 /// [pbr::OriginalName("SL_POLICY_RULE_NAME_MISSING")] SlPolicyRuleNameMissing = 98325, /// @@ -2093,7 +2122,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_POLICY_PRIORITY_MISSING_IN_RULE")] SlPolicyPriorityMissingInRule = 98326, /// - /// Invalid policy type. 0x18017 + /// Invalid policy type. 0x18017 /// [pbr::OriginalName("SL_POLICY_TYPE_INVALID")] SlPolicyTypeInvalid = 98327, /// @@ -2105,7 +2134,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_POLICY_INTF_NAME_TOOLONG")] SlPolicyIntfNameToolong = 98329, /// - /// Policy object's interface name is missing. 0x1801a + /// Policy object's interface name is missing. 0x1801a /// [pbr::OriginalName("SL_POLICY_INTF_NAME_MISSING")] SlPolicyIntfNameMissing = 98330, /// @@ -2133,7 +2162,7 @@ public enum SLErrno { /// [pbr::OriginalName("SL_POLICY_INVALID_DSCP_VALUE")] SlPolicyInvalidDscpValue = 98336, /// - /// Priority string too long. 0x18021 + /// Priority string too long. 0x18021 /// [pbr::OriginalName("SL_POLICY_PRIORITY_STR_TOO_LONG")] SlPolicyPriorityStrTooLong = 98337, /// @@ -2153,6 +2182,10 @@ public enum SLErrno { /// [pbr::OriginalName("SL_POLICY_UNAPPLY_NO_INTFS")] SlPolicyUnapplyNoIntfs = 98341, /// + /// Policy object replace failed. 0x18026 + /// + [pbr::OriginalName("SL_POLICY_REPLACE_ERR")] SlPolicyReplaceErr = 98342, + /// /// Offset for Bgpls Topology errors. 0x19000 /// [pbr::OriginalName("SL_BGPLS_TOPO_START_OFFSET")] SlBgplsTopoStartOffset = 102400, diff --git a/grpc/dotnet/src/gencs/SlInterface.cs b/grpc/dotnet/src/gencs/SlInterface.cs index 3e289bf..7624435 100644 --- a/grpc/dotnet/src/gencs/SlInterface.cs +++ b/grpc/dotnet/src/gencs/SlInterface.cs @@ -161,7 +161,7 @@ public SLInterfaceInfoMsgBw Clone() { public const int NewBandwidthFieldNumber = 1; private ulong newBandwidth_; /// - /// The New Bandwidth. + /// The New Bandwidth (in Kbps). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -176,7 +176,7 @@ public ulong NewBandwidth { public const int OldBandwidthFieldNumber = 2; private ulong oldBandwidth_; /// - /// The Old Bandwidth prior to the update. + /// The Old Bandwidth prior to the update (in Kbps). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] diff --git a/grpc/dotnet/src/gencs/SlPolicy.cs b/grpc/dotnet/src/gencs/SlPolicy.cs index 085929b..e4d8ea5 100644 --- a/grpc/dotnet/src/gencs/SlPolicy.cs +++ b/grpc/dotnet/src/gencs/SlPolicy.cs @@ -73,23 +73,23 @@ static SlPolicyReflection() { "U0xQb2xpY3lJbmZvIhYKFFNMUG9saWN5R2xvYmFsR2V0TXNnInEKF1NMUG9s", "aWN5R2xvYmFsR2V0TXNnUnNwEi8KCUVyclN0YXR1cxgBIAEoCzIcLnNlcnZp", "Y2VfbGF5ZXIuU0xFcnJvclN0YXR1cxITCgtNYXhQb2xpY2llcxgCIAEoDRIQ", - "CghNYXhSdWxlcxgDIAEoDSrOAQoQU0xQb2xpY3lPYmplY3RPcBIcChhTTF9P", + "CghNYXhSdWxlcxgDIAEoDSrrAQoQU0xQb2xpY3lPYmplY3RPcBIcChhTTF9P", "QkpPUF9QT0xJQ1lfUkVTRVJWRUQQABIXChNTTF9PQkpPUF9QT0xJQ1lfQURE", "EAESGgoWU0xfT0JKT1BfUE9MSUNZX0RFTEVURRACEhUKEVNMX09CSk9QX1JV", "TEVfQUREEAMSGAoUU0xfT0JKT1BfUlVMRV9ERUxFVEUQBBIZChVTTF9PQkpP", "UF9QT0xJQ1lfQVBQTFkQBRIbChdTTF9PQkpPUF9QT0xJQ1lfVU5BUFBMWRAG", - "Kj0KDFNMUG9saWN5VHlwZRIYChRTTF9QTV9QVFlQRV9SRVNFUlZFRBAAEhMK", - "D1NMX1BNX1BUWVBFX1BCUhABKk4KEFNMQXBwbHlEaXJlY3Rpb24SGgoWU0xf", - "QVBQTFlfVFlQRV9SRVNFUlZFRBAAEh4KGlNMX0FQUExZX0RJUkVDVElPTl9J", - "TkdSRVNTEAEyiAIKCFNMUG9saWN5EkgKClNMUG9saWN5T3ASHC5zZXJ2aWNl", - "X2xheWVyLlNMUG9saWN5T3BNc2caHC5zZXJ2aWNlX2xheWVyLlNMUG9saWN5", - "T3BSc3ASUAoLU0xQb2xpY3lHZXQSHS5zZXJ2aWNlX2xheWVyLlNMUG9saWN5", - "R2V0TXNnGiAuc2VydmljZV9sYXllci5TTFBvbGljeUdldE1zZ1JzcDABEmAK", - "EVNMUG9saWN5R2xvYmFsR2V0EiMuc2VydmljZV9sYXllci5TTFBvbGljeUds", - "b2JhbEdldE1zZxomLnNlcnZpY2VfbGF5ZXIuU0xQb2xpY3lHbG9iYWxHZXRN", - "c2dSc3BCUVpPZ2l0aHViLmNvbS9DaXNjby1zZXJ2aWNlLWxheWVyL3NlcnZp", - "Y2UtbGF5ZXItb2JqbW9kZWwvZ3JwYy9wcm90b3M7c2VydmljZV9sYXllcmIG", - "cHJvdG8z")); + "EhsKF1NMX09CSk9QX1BPTElDWV9SRVBMQUNFEAcqPQoMU0xQb2xpY3lUeXBl", + "EhgKFFNMX1BNX1BUWVBFX1JFU0VSVkVEEAASEwoPU0xfUE1fUFRZUEVfUEJS", + "EAEqTgoQU0xBcHBseURpcmVjdGlvbhIaChZTTF9BUFBMWV9UWVBFX1JFU0VS", + "VkVEEAASHgoaU0xfQVBQTFlfRElSRUNUSU9OX0lOR1JFU1MQATKIAgoIU0xQ", + "b2xpY3kSSAoKU0xQb2xpY3lPcBIcLnNlcnZpY2VfbGF5ZXIuU0xQb2xpY3lP", + "cE1zZxocLnNlcnZpY2VfbGF5ZXIuU0xQb2xpY3lPcFJzcBJQCgtTTFBvbGlj", + "eUdldBIdLnNlcnZpY2VfbGF5ZXIuU0xQb2xpY3lHZXRNc2caIC5zZXJ2aWNl", + "X2xheWVyLlNMUG9saWN5R2V0TXNnUnNwMAESYAoRU0xQb2xpY3lHbG9iYWxH", + "ZXQSIy5zZXJ2aWNlX2xheWVyLlNMUG9saWN5R2xvYmFsR2V0TXNnGiYuc2Vy", + "dmljZV9sYXllci5TTFBvbGljeUdsb2JhbEdldE1zZ1JzcEJRWk9naXRodWIu", + "Y29tL0Npc2NvLXNlcnZpY2UtbGF5ZXIvc2VydmljZS1sYXllci1vYmptb2Rl", + "bC9ncnBjL3Byb3RvcztzZXJ2aWNlX2xheWVyYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ServiceLayer.SLPolicyObjectOp), typeof(global::ServiceLayer.SLPolicyType), typeof(global::ServiceLayer.SLApplyDirection), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -152,6 +152,10 @@ public enum SLPolicyObjectOp { /// Policy UnApply. 0x6 /// [pbr::OriginalName("SL_OBJOP_POLICY_UNAPPLY")] SlObjopPolicyUnapply = 6, + /// + /// Policy Replace. 0x7 + /// + [pbr::OriginalName("SL_OBJOP_POLICY_REPLACE")] SlObjopPolicyReplace = 7, } /// @@ -2989,7 +2993,7 @@ public SLPolicyRes Clone() { public const int PolicyStatusFieldNumber = 2; /// /// Status of policy level operations - /// like policy add and policy delete + /// like policy add, replace and delete /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] diff --git a/grpc/dotnet/src/gencs/SlPolicyGrpc.cs b/grpc/dotnet/src/gencs/SlPolicyGrpc.cs index 6c93a11..a07622d 100644 --- a/grpc/dotnet/src/gencs/SlPolicyGrpc.cs +++ b/grpc/dotnet/src/gencs/SlPolicyGrpc.cs @@ -5,8 +5,8 @@ // Original file comments: // @file // @brief Client RPC proto file for Policy RPCs. -// Declares calls for adding, deleting, updating the policies -// and apply, unapply policies from interfaces. +// Declares RPC calls for adding, replacing, deleting policies, +// and applying/un-applying these policies on interfaces. // // ---------------------------------------------------------------- // Copyright (c) 2024-2025 by Cisco Systems, Inc. @@ -24,9 +24,12 @@ namespace ServiceLayer { /// /// @defgroup SLPolicy /// @ingroup Policy - /// Used for policy creation and deletion, add and delete rules from policy, - /// apply and un-apply policy from interfaces. - /// Defines the RPC for operations on policy, interface and get requests. + /// Used for: + /// - Policy creation, replacement, and deletion + /// - Rule addition, and deletion from Policy + /// - Apply and Un-apply Policy from Interfaces + /// + /// Defines the RPC for operations on Policy, Interface and get requests. /// @{ /// public static partial class SLPolicy diff --git a/grpc/dotnet/src/gencs/SlRouteCommon.cs b/grpc/dotnet/src/gencs/SlRouteCommon.cs index 0bd2f5f..6b72b87 100644 --- a/grpc/dotnet/src/gencs/SlRouteCommon.cs +++ b/grpc/dotnet/src/gencs/SlRouteCommon.cs @@ -57,38 +57,42 @@ static SlRouteCommonReflection() { "EjEKC05vdGlmU3RhdHVzGAMgASgLMhwuc2VydmljZV9sYXllci5TTEVycm9y", "U3RhdHVzIiUKElNMUm91dGVOb3RpZk1hcmtlchIPCgdWcmZOYW1lGAEgASgJ", "IkgKClNMVnJmTm90aWYSDwoHVnJmTmFtZRgBIAEoCRIpCgZTdGF0dXMYAiAB", - "KA4yGS5zZXJ2aWNlX2xheWVyLlNMT2JqZWN0T3AiSgoPU0xSb3V0ZUdldE1h", - "dGNoEhgKDlBhdGhHcm91cFJlZ2V4GAEgASgJSAASFAoKVnhsYW5WbmlJZBgC", - "IAEoDUgAQgcKBWVudHJ5In0KDVNMUm91dGVDb21tb24SFQoNQWRtaW5EaXN0", - "YW5jZRgBIAEoDRISCgpMb2NhbExhYmVsGAIgASgNEgsKA1RhZxgDIAEoDRIQ", - "CghTcmNQcm90bxgEIAEoCRITCgtTcmNQcm90b1RhZxgFIAEoCRINCgVGbGFn", - "cxgGIAEoDSKxAQoLU0xWeExBTlBhdGgSCwoDVk5JGAEgASgNEhgKEFNvdXJj", - "ZU1hY0FkZHJlc3MYAiABKAwSFgoORGVzdE1hY0FkZHJlc3MYAyABKAwSMAoM", - "U3JjSXBBZGRyZXNzGAQgASgLMhouc2VydmljZV9sYXllci5TTElwQWRkcmVz", - "cxIxCg1EZXN0SXBBZGRyZXNzGAUgASgLMhouc2VydmljZV9sYXllci5TTElw", - "QWRkcmVzcyKrAwoLU0xSb3V0ZVBhdGgSMgoOTmV4dGhvcEFkZHJlc3MYASAB", - "KAsyGi5zZXJ2aWNlX2xheWVyLlNMSXBBZGRyZXNzEjQKEE5leHRob3BJbnRl", - "cmZhY2UYAiABKAsyGi5zZXJ2aWNlX2xheWVyLlNMSW50ZXJmYWNlEhIKCkxv", - "YWRNZXRyaWMYAyABKA0SDwoHVnJmTmFtZRgEIAEoCRIOCgZNZXRyaWMYBSAB", - "KA0SDgoGUGF0aElkGAYgASgNEhsKE1Byb3RlY3RlZFBhdGhCaXRtYXAYByAD", - "KAQSEgoKTGFiZWxTdGFjaxgIIAMoDRIxCg1SZW1vdGVBZGRyZXNzGAkgAygL", - "Mhouc2VydmljZV9sYXllci5TTElwQWRkcmVzcxItCglFbmNhcFR5cGUYCiAB", - "KA4yGi5zZXJ2aWNlX2xheWVyLlNMRW5jYXBUeXBlEhwKFFZ0ZXBSb3V0ZXJN", - "YWNBZGRyZXNzGAsgASgMEi0KCVZ4TEFOUGF0aBgMIAEoCzIaLnNlcnZpY2Vf", - "bGF5ZXIuU0xWeExBTlBhdGgSDQoFRmxhZ3MYDSABKA0qygEKC1NMTm90aWZU", - "eXBlEhoKFlNMX0VWRU5UX1RZUEVfUkVTRVJWRUQQABIXChNTTF9FVkVOVF9U", - "WVBFX0VSUk9SEAESGAoUU0xfRVZFTlRfVFlQRV9TVEFUVVMQAhIXChNTTF9F", - "VkVOVF9UWVBFX1JPVVRFEAMSHgoaU0xfRVZFTlRfVFlQRV9TVEFSVF9NQVJL", - "RVIQBBIcChhTTF9FVkVOVF9UWVBFX0VORF9NQVJLRVIQBRIVChFTTF9FVkVO", - "VF9UWVBFX1ZSRhAGKsIBCgxTTFJvdXRlRmxhZ3MSGgoWU0xfUk9VVEVfRkxB", - "R19SRVNFUlZFRBAAEiEKHVNMX1JPVVRFX0ZMQUdfUFJFRkVSX09WRVJfTERQ", - "EAESJQohU0xfUk9VVEVfRkxBR19ESVNBQkxFX0xBQkVMX01FUkdFEAISIwof", - "U0xfUk9VVEVfRkxBR19WSUFCTEVfUEFUSFNfT05MWRAEEicKI1NMX1JPVVRF", - "X0ZMQUdfQUNUSVZFX09OX1ZJQUJMRV9QQVRIEAgqSgoLU0xQYXRoRmxhZ3MS", - "GQoVU0xfUEFUSF9GTEFHX1JFU0VSVkVEEAASIAocU0xfUEFUSF9GTEFHX1NJ", - "TkdMRV9QQVRIX09QVBABQlFaT2dpdGh1Yi5jb20vQ2lzY28tc2VydmljZS1s", - "YXllci9zZXJ2aWNlLWxheWVyLW9iam1vZGVsL2dycGMvcHJvdG9zO3NlcnZp", - "Y2VfbGF5ZXJiBnByb3RvMw==")); + "KA4yGS5zZXJ2aWNlX2xheWVyLlNMT2JqZWN0T3AirAEKDVNMUm91dGVDb21t", + "b24SFQoNQWRtaW5EaXN0YW5jZRgBIAEoDRISCgpMb2NhbExhYmVsGAIgASgN", + "EgsKA1RhZxgDIAEoDRIQCghTcmNQcm90bxgEIAEoCRITCgtTcmNQcm90b1Rh", + "ZxgFIAEoCRIvCgpSb3V0ZUZsYWdzGAcgAygOMhsuc2VydmljZV9sYXllci5T", + "TFJvdXRlRmxhZ3NKBAgGEAdSBUZsYWdzIrEBCgtTTFZ4TEFOUGF0aBILCgNW", + "TkkYASABKA0SGAoQU291cmNlTWFjQWRkcmVzcxgCIAEoDBIWCg5EZXN0TWFj", + "QWRkcmVzcxgDIAEoDBIwCgxTcmNJcEFkZHJlc3MYBCABKAsyGi5zZXJ2aWNl", + "X2xheWVyLlNMSXBBZGRyZXNzEjEKDURlc3RJcEFkZHJlc3MYBSABKAsyGi5z", + "ZXJ2aWNlX2xheWVyLlNMSXBBZGRyZXNzIqMECgtTTFJvdXRlUGF0aBIyCg5O", + "ZXh0aG9wQWRkcmVzcxgBIAEoCzIaLnNlcnZpY2VfbGF5ZXIuU0xJcEFkZHJl", + "c3MSNAoQTmV4dGhvcEludGVyZmFjZRgCIAEoCzIaLnNlcnZpY2VfbGF5ZXIu", + "U0xJbnRlcmZhY2USEgoKTG9hZE1ldHJpYxgDIAEoDRIPCgdWcmZOYW1lGAQg", + "ASgJEg4KBk1ldHJpYxgFIAEoDRIOCgZQYXRoSWQYBiABKA0SGwoTUHJvdGVj", + "dGVkUGF0aEJpdG1hcBgHIAMoBBISCgpMYWJlbFN0YWNrGAggAygNEjEKDVJl", + "bW90ZUFkZHJlc3MYCSADKAsyGi5zZXJ2aWNlX2xheWVyLlNMSXBBZGRyZXNz", + "EjEKCUVuY2FwVHlwZRgKIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xFbmNhcFR5", + "cGVCAhgBEiAKFFZ0ZXBSb3V0ZXJNYWNBZGRyZXNzGAsgASgMQgIYARItCglW", + "eExBTlBhdGgYDCABKAsyGi5zZXJ2aWNlX2xheWVyLlNMVnhMQU5QYXRoEi0K", + "CVBhdGhGbGFncxgOIAMoDjIaLnNlcnZpY2VfbGF5ZXIuU0xQYXRoRmxhZ3MS", + "OAoMUGF0aEdyb3VwS2V5GA8gASgLMiAuc2VydmljZV9sYXllci5TTFBhdGhH", + "cm91cFJlZktleUgAQgcKBWVudHJ5SgQIDRAOUgVGbGFncyJOCg1TTFJvdXRl", + "UHJlZml4EioKBlByZWZpeBgBIAEoCzIaLnNlcnZpY2VfbGF5ZXIuU0xJcEFk", + "ZHJlc3MSEQoJUHJlZml4TGVuGAIgASgNKsoBCgtTTE5vdGlmVHlwZRIaChZT", + "TF9FVkVOVF9UWVBFX1JFU0VSVkVEEAASFwoTU0xfRVZFTlRfVFlQRV9FUlJP", + "UhABEhgKFFNMX0VWRU5UX1RZUEVfU1RBVFVTEAISFwoTU0xfRVZFTlRfVFlQ", + "RV9ST1VURRADEh4KGlNMX0VWRU5UX1RZUEVfU1RBUlRfTUFSS0VSEAQSHAoY", + "U0xfRVZFTlRfVFlQRV9FTkRfTUFSS0VSEAUSFQoRU0xfRVZFTlRfVFlQRV9W", + "UkYQBirCAQoMU0xSb3V0ZUZsYWdzEhoKFlNMX1JPVVRFX0ZMQUdfUkVTRVJW", + "RUQQABIhCh1TTF9ST1VURV9GTEFHX1BSRUZFUl9PVkVSX0xEUBABEiUKIVNM", + "X1JPVVRFX0ZMQUdfRElTQUJMRV9MQUJFTF9NRVJHRRACEiMKH1NMX1JPVVRF", + "X0ZMQUdfVklBQkxFX1BBVEhTX09OTFkQAxInCiNTTF9ST1VURV9GTEFHX0FD", + "VElWRV9PTl9WSUFCTEVfUEFUSBAEKkoKC1NMUGF0aEZsYWdzEhkKFVNMX1BB", + "VEhfRkxBR19SRVNFUlZFRBAAEiAKHFNMX1BBVEhfRkxBR19TSU5HTEVfUEFU", + "SF9PUFQQAUJRWk9naXRodWIuY29tL0Npc2NvLXNlcnZpY2UtbGF5ZXIvc2Vy", + "dmljZS1sYXllci1vYmptb2RlbC9ncnBjL3Byb3RvcztzZXJ2aWNlX2xheWVy", + "YgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ServiceLayer.SLNotifType), typeof(global::ServiceLayer.SLRouteFlags), typeof(global::ServiceLayer.SLPathFlags), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -108,10 +112,10 @@ static SlRouteCommonReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteNotifStatus), global::ServiceLayer.SLRouteNotifStatus.Parser, new[]{ "Correlator", "VrfName", "NotifStatus" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteNotifMarker), global::ServiceLayer.SLRouteNotifMarker.Parser, new[]{ "VrfName" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLVrfNotif), global::ServiceLayer.SLVrfNotif.Parser, new[]{ "VrfName", "Status" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteGetMatch), global::ServiceLayer.SLRouteGetMatch.Parser, new[]{ "PathGroupRegex", "VxlanVniId" }, new[]{ "Entry" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteCommon), global::ServiceLayer.SLRouteCommon.Parser, new[]{ "AdminDistance", "LocalLabel", "Tag", "SrcProto", "SrcProtoTag", "Flags" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteCommon), global::ServiceLayer.SLRouteCommon.Parser, new[]{ "AdminDistance", "LocalLabel", "Tag", "SrcProto", "SrcProtoTag", "RouteFlags" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLVxLANPath), global::ServiceLayer.SLVxLANPath.Parser, new[]{ "VNI", "SourceMacAddress", "DestMacAddress", "SrcIpAddress", "DestIpAddress" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutePath), global::ServiceLayer.SLRoutePath.Parser, new[]{ "NexthopAddress", "NexthopInterface", "LoadMetric", "VrfName", "Metric", "PathId", "ProtectedPathBitmap", "LabelStack", "RemoteAddress", "EncapType", "VtepRouterMacAddress", "VxLANPath", "Flags" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutePath), global::ServiceLayer.SLRoutePath.Parser, new[]{ "NexthopAddress", "NexthopInterface", "LoadMetric", "VrfName", "Metric", "PathId", "ProtectedPathBitmap", "LabelStack", "RemoteAddress", "EncapType", "VtepRouterMacAddress", "VxLANPath", "PathFlags", "PathGroupKey" }, new[]{ "Entry" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutePrefix), global::ServiceLayer.SLRoutePrefix.Parser, new[]{ "Prefix", "PrefixLen" }, null, null, null, null) })); } #endregion @@ -182,12 +186,12 @@ public enum SLRouteFlags { /// /// Install viable paths only. See text in SLRoutecommon/PathGroup for more details /// - [pbr::OriginalName("SL_ROUTE_FLAG_VIABLE_PATHS_ONLY")] SlRouteFlagViablePathsOnly = 4, + [pbr::OriginalName("SL_ROUTE_FLAG_VIABLE_PATHS_ONLY")] SlRouteFlagViablePathsOnly = 3, /// - /// Route is considered active if there is atleast one viable path. + /// Route is considered active if there is atleast one viable path. /// See text in SLRoutecommon/PathGroup for more details. /// - [pbr::OriginalName("SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH")] SlRouteFlagActiveOnViablePath = 8, + [pbr::OriginalName("SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH")] SlRouteFlagActiveOnViablePath = 4, } /// @@ -4235,276 +4239,6 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Get objects whose attibutes match one of below entries. - /// Specify a regular expression for PathGroup name - /// or a numerical value for Vxlan VNI. - /// - public sealed partial class SLRouteGetMatch : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLRouteGetMatch()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[16]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLRouteGetMatch() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLRouteGetMatch(SLRouteGetMatch other) : this() { - switch (other.EntryCase) { - case EntryOneofCase.PathGroupRegex: - PathGroupRegex = other.PathGroupRegex; - break; - case EntryOneofCase.VxlanVniId: - VxlanVniId = other.VxlanVniId; - break; - } - - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLRouteGetMatch Clone() { - return new SLRouteGetMatch(this); - } - - /// Field number for the "PathGroupRegex" field. - public const int PathGroupRegexFieldNumber = 1; - /// - /// SLAFGetMsgRsp.AFList.AFOp.AFObject.entry.PathGroupKey.PathGroupId.Name - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string PathGroupRegex { - get { return entryCase_ == EntryOneofCase.PathGroupRegex ? (string) entry_ : ""; } - set { - entry_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - entryCase_ = EntryOneofCase.PathGroupRegex; - } - } - - /// Field number for the "VxlanVniId" field. - public const int VxlanVniIdFieldNumber = 2; - /// - /// SLAFGetMsgRsp.AFList.AFOp.AFObject.PathList.VxLANPath.VNI - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint VxlanVniId { - get { return entryCase_ == EntryOneofCase.VxlanVniId ? (uint) entry_ : 0; } - set { - entry_ = value; - entryCase_ = EntryOneofCase.VxlanVniId; - } - } - - private object entry_; - /// Enum of possible cases for the "entry" oneof. - public enum EntryOneofCase { - None = 0, - PathGroupRegex = 1, - VxlanVniId = 2, - } - private EntryOneofCase entryCase_ = EntryOneofCase.None; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public EntryOneofCase EntryCase { - get { return entryCase_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearEntry() { - entryCase_ = EntryOneofCase.None; - entry_ = null; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SLRouteGetMatch); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLRouteGetMatch other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (PathGroupRegex != other.PathGroupRegex) return false; - if (VxlanVniId != other.VxlanVniId) return false; - if (EntryCase != other.EntryCase) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (entryCase_ == EntryOneofCase.PathGroupRegex) hash ^= PathGroupRegex.GetHashCode(); - if (entryCase_ == EntryOneofCase.VxlanVniId) hash ^= VxlanVniId.GetHashCode(); - hash ^= (int) entryCase_; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (entryCase_ == EntryOneofCase.PathGroupRegex) { - output.WriteRawTag(10); - output.WriteString(PathGroupRegex); - } - if (entryCase_ == EntryOneofCase.VxlanVniId) { - output.WriteRawTag(16); - output.WriteUInt32(VxlanVniId); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (entryCase_ == EntryOneofCase.PathGroupRegex) { - output.WriteRawTag(10); - output.WriteString(PathGroupRegex); - } - if (entryCase_ == EntryOneofCase.VxlanVniId) { - output.WriteRawTag(16); - output.WriteUInt32(VxlanVniId); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (entryCase_ == EntryOneofCase.PathGroupRegex) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(PathGroupRegex); - } - if (entryCase_ == EntryOneofCase.VxlanVniId) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(VxlanVniId); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLRouteGetMatch other) { - if (other == null) { - return; - } - switch (other.EntryCase) { - case EntryOneofCase.PathGroupRegex: - PathGroupRegex = other.PathGroupRegex; - break; - case EntryOneofCase.VxlanVniId: - VxlanVniId = other.VxlanVniId; - break; - } - - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - PathGroupRegex = input.ReadString(); - break; - } - case 16: { - VxlanVniId = input.ReadUInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - PathGroupRegex = input.ReadString(); - break; - } - case 16: { - VxlanVniId = input.ReadUInt32(); - break; - } - } - } - } - #endif - - } - /// /// Common IPv4/IPv6 route attributes. /// @@ -4522,7 +4256,7 @@ public sealed partial class SLRouteCommon : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[17]; } + get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[16]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4547,7 +4281,7 @@ public SLRouteCommon(SLRouteCommon other) : this() { tag_ = other.tag_; srcProto_ = other.srcProto_; srcProtoTag_ = other.srcProtoTag_; - flags_ = other.flags_; + routeFlags_ = other.routeFlags_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -4653,9 +4387,11 @@ public string SrcProtoTag { } } - /// Field number for the "Flags" field. - public const int FlagsFieldNumber = 6; - private uint flags_; + /// Field number for the "RouteFlags" field. + public const int RouteFlagsFieldNumber = 7; + private static readonly pb::FieldCodec _repeated_routeFlags_codec + = pb::FieldCodec.ForEnum(58, x => (int) x, x => (global::ServiceLayer.SLRouteFlags) x); + private readonly pbc::RepeatedField routeFlags_ = new pbc::RepeatedField(); /// /// Route Flags. /// Flags to control programming of the route to Routing Information Base. @@ -4714,11 +4450,8 @@ public string SrcProtoTag { /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Flags { - get { return flags_; } - set { - flags_ = value; - } + public pbc::RepeatedField RouteFlags { + get { return routeFlags_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4741,7 +4474,7 @@ public bool Equals(SLRouteCommon other) { if (Tag != other.Tag) return false; if (SrcProto != other.SrcProto) return false; if (SrcProtoTag != other.SrcProtoTag) return false; - if (Flags != other.Flags) return false; + if(!routeFlags_.Equals(other.routeFlags_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4754,7 +4487,7 @@ public override int GetHashCode() { if (Tag != 0) hash ^= Tag.GetHashCode(); if (SrcProto.Length != 0) hash ^= SrcProto.GetHashCode(); if (SrcProtoTag.Length != 0) hash ^= SrcProtoTag.GetHashCode(); - if (Flags != 0) hash ^= Flags.GetHashCode(); + hash ^= routeFlags_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4793,10 +4526,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(42); output.WriteString(SrcProtoTag); } - if (Flags != 0) { - output.WriteRawTag(48); - output.WriteUInt32(Flags); - } + routeFlags_.WriteTo(output, _repeated_routeFlags_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -4827,10 +4557,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(42); output.WriteString(SrcProtoTag); } - if (Flags != 0) { - output.WriteRawTag(48); - output.WriteUInt32(Flags); - } + routeFlags_.WriteTo(ref output, _repeated_routeFlags_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -4856,9 +4583,7 @@ public int CalculateSize() { if (SrcProtoTag.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeStringSize(SrcProtoTag); } - if (Flags != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flags); - } + size += routeFlags_.CalculateSize(_repeated_routeFlags_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -4886,9 +4611,7 @@ public void MergeFrom(SLRouteCommon other) { if (other.SrcProtoTag.Length != 0) { SrcProtoTag = other.SrcProtoTag; } - if (other.Flags != 0) { - Flags = other.Flags; - } + routeFlags_.Add(other.routeFlags_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4924,8 +4647,9 @@ public void MergeFrom(pb::CodedInputStream input) { SrcProtoTag = input.ReadString(); break; } - case 48: { - Flags = input.ReadUInt32(); + case 58: + case 56: { + routeFlags_.AddEntriesFrom(input, _repeated_routeFlags_codec); break; } } @@ -4963,8 +4687,9 @@ public void MergeFrom(pb::CodedInputStream input) { SrcProtoTag = input.ReadString(); break; } - case 48: { - Flags = input.ReadUInt32(); + case 58: + case 56: { + routeFlags_.AddEntriesFrom(ref input, _repeated_routeFlags_codec); break; } } @@ -4991,7 +4716,7 @@ public sealed partial class SLVxLANPath : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[18]; } + get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[17]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5375,7 +5100,7 @@ public sealed partial class SLRoutePath : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[19]; } + get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[18]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5407,7 +5132,13 @@ public SLRoutePath(SLRoutePath other) : this() { encapType_ = other.encapType_; vtepRouterMacAddress_ = other.vtepRouterMacAddress_; vxLANPath_ = other.vxLANPath_ != null ? other.vxLANPath_.Clone() : null; - flags_ = other.flags_; + pathFlags_ = other.pathFlags_.Clone(); + switch (other.EntryCase) { + case EntryOneofCase.PathGroupKey: + PathGroupKey = other.PathGroupKey.Clone(); + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -5495,6 +5226,8 @@ public string VrfName { /// Route Metric. /// The metric is typically based on information like load, hop count, /// MTU, reliability of the path, etc. + /// If a non-zero metric value is set in the route, the value set will override + /// any metric value in the associated SLRoutePath /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -5614,6 +5347,7 @@ public uint PathId { /// /// For VxLAN, Encapsulation type must be set to SL_ENCAP_VXLAN /// + [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::ServiceLayer.SLEncapType EncapType { @@ -5637,6 +5371,7 @@ public uint PathId { /// This field and VxLANPath are mutually exclusive. This field /// is deprecated and will eventually be removed. /// + [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString VtepRouterMacAddress { @@ -5662,22 +5397,56 @@ public uint PathId { } } - /// Field number for the "Flags" field. - public const int FlagsFieldNumber = 13; - private uint flags_; + /// Field number for the "PathFlags" field. + public const int PathFlagsFieldNumber = 14; + private static readonly pb::FieldCodec _repeated_pathFlags_codec + = pb::FieldCodec.ForEnum(114, x => (int) x, x => (global::ServiceLayer.SLPathFlags) x); + private readonly pbc::RepeatedField pathFlags_ = new pbc::RepeatedField(); /// /// Path Flags. Each flag is indicated as a bit field. Supported values are: /// - 0x00000001 = SINGLE_PATH_OPT Enables hardware optimization for single path VxLAN tunnels. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Flags { - get { return flags_; } + public pbc::RepeatedField PathFlags { + get { return pathFlags_; } + } + + /// Field number for the "PathGroupKey" field. + public const int PathGroupKeyFieldNumber = 15; + /// + /// Path group reference key + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPathGroupRefKey PathGroupKey { + get { return entryCase_ == EntryOneofCase.PathGroupKey ? (global::ServiceLayer.SLPathGroupRefKey) entry_ : null; } set { - flags_ = value; + entry_ = value; + entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.PathGroupKey; } } + private object entry_; + /// Enum of possible cases for the "entry" oneof. + public enum EntryOneofCase { + None = 0, + PathGroupKey = 15, + } + private EntryOneofCase entryCase_ = EntryOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EntryOneofCase EntryCase { + get { return entryCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEntry() { + entryCase_ = EntryOneofCase.None; + entry_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -5705,7 +5474,9 @@ public bool Equals(SLRoutePath other) { if (EncapType != other.EncapType) return false; if (VtepRouterMacAddress != other.VtepRouterMacAddress) return false; if (!object.Equals(VxLANPath, other.VxLANPath)) return false; - if (Flags != other.Flags) return false; + if(!pathFlags_.Equals(other.pathFlags_)) return false; + if (!object.Equals(PathGroupKey, other.PathGroupKey)) return false; + if (EntryCase != other.EntryCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5725,7 +5496,9 @@ public override int GetHashCode() { if (EncapType != global::ServiceLayer.SLEncapType.SlEncapReserved) hash ^= EncapType.GetHashCode(); if (VtepRouterMacAddress.Length != 0) hash ^= VtepRouterMacAddress.GetHashCode(); if (vxLANPath_ != null) hash ^= VxLANPath.GetHashCode(); - if (Flags != 0) hash ^= Flags.GetHashCode(); + hash ^= pathFlags_.GetHashCode(); + if (entryCase_ == EntryOneofCase.PathGroupKey) hash ^= PathGroupKey.GetHashCode(); + hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5783,9 +5556,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(98); output.WriteMessage(VxLANPath); } - if (Flags != 0) { - output.WriteRawTag(104); - output.WriteUInt32(Flags); + pathFlags_.WriteTo(output, _repeated_pathFlags_codec); + if (entryCase_ == EntryOneofCase.PathGroupKey) { + output.WriteRawTag(122); + output.WriteMessage(PathGroupKey); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -5836,9 +5610,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(98); output.WriteMessage(VxLANPath); } - if (Flags != 0) { - output.WriteRawTag(104); - output.WriteUInt32(Flags); + pathFlags_.WriteTo(ref output, _repeated_pathFlags_codec); + if (entryCase_ == EntryOneofCase.PathGroupKey) { + output.WriteRawTag(122); + output.WriteMessage(PathGroupKey); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -5880,8 +5655,9 @@ public int CalculateSize() { if (vxLANPath_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(VxLANPath); } - if (Flags != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flags); + size += pathFlags_.CalculateSize(_repeated_pathFlags_codec); + if (entryCase_ == EntryOneofCase.PathGroupKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupKey); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -5934,9 +5710,16 @@ public void MergeFrom(SLRoutePath other) { } VxLANPath.MergeFrom(other.VxLANPath); } - if (other.Flags != 0) { - Flags = other.Flags; + pathFlags_.Add(other.pathFlags_); + switch (other.EntryCase) { + case EntryOneofCase.PathGroupKey: + if (PathGroupKey == null) { + PathGroupKey = new global::ServiceLayer.SLPathGroupRefKey(); + } + PathGroupKey.MergeFrom(other.PathGroupKey); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6011,8 +5794,18 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(VxLANPath); break; } - case 104: { - Flags = input.ReadUInt32(); + case 114: + case 112: { + pathFlags_.AddEntriesFrom(input, _repeated_pathFlags_codec); + break; + } + case 122: { + global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); + if (entryCase_ == EntryOneofCase.PathGroupKey) { + subBuilder.MergeFrom(PathGroupKey); + } + input.ReadMessage(subBuilder); + PathGroupKey = subBuilder; break; } } @@ -6089,8 +5882,262 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(VxLANPath); break; } - case 104: { - Flags = input.ReadUInt32(); + case 114: + case 112: { + pathFlags_.AddEntriesFrom(ref input, _repeated_pathFlags_codec); + break; + } + case 122: { + global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); + if (entryCase_ == EntryOneofCase.PathGroupKey) { + subBuilder.MergeFrom(PathGroupKey); + } + input.ReadMessage(subBuilder); + PathGroupKey = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// IP Route Prefix and Prefix Length + /// + public sealed partial class SLRoutePrefix : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLRoutePrefix()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::ServiceLayer.SlRouteCommonReflection.Descriptor.MessageTypes[19]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLRoutePrefix() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLRoutePrefix(SLRoutePrefix other) : this() { + prefix_ = other.prefix_ != null ? other.prefix_.Clone() : null; + prefixLen_ = other.prefixLen_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLRoutePrefix Clone() { + return new SLRoutePrefix(this); + } + + /// Field number for the "Prefix" field. + public const int PrefixFieldNumber = 1; + private global::ServiceLayer.SLIpAddress prefix_; + /// + /// IPv4 or IPv6 address + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLIpAddress Prefix { + get { return prefix_; } + set { + prefix_ = value; + } + } + + /// Field number for the "PrefixLen" field. + public const int PrefixLenFieldNumber = 2; + private uint prefixLen_; + /// + /// Prefix length + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint PrefixLen { + get { return prefixLen_; } + set { + prefixLen_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLRoutePrefix); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLRoutePrefix other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Prefix, other.Prefix)) return false; + if (PrefixLen != other.PrefixLen) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (prefix_ != null) hash ^= Prefix.GetHashCode(); + if (PrefixLen != 0) hash ^= PrefixLen.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (prefix_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Prefix); + } + if (PrefixLen != 0) { + output.WriteRawTag(16); + output.WriteUInt32(PrefixLen); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (prefix_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Prefix); + } + if (PrefixLen != 0) { + output.WriteRawTag(16); + output.WriteUInt32(PrefixLen); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (prefix_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Prefix); + } + if (PrefixLen != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PrefixLen); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLRoutePrefix other) { + if (other == null) { + return; + } + if (other.prefix_ != null) { + if (prefix_ == null) { + Prefix = new global::ServiceLayer.SLIpAddress(); + } + Prefix.MergeFrom(other.Prefix); + } + if (other.PrefixLen != 0) { + PrefixLen = other.PrefixLen; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (prefix_ == null) { + Prefix = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(Prefix); + break; + } + case 16: { + PrefixLen = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (prefix_ == null) { + Prefix = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(Prefix); + break; + } + case 16: { + PrefixLen = input.ReadUInt32(); break; } } diff --git a/grpc/dotnet/src/gencs/SlRouteIpv4.cs b/grpc/dotnet/src/gencs/SlRouteIpv4.cs index 5c1bba1..0e1120e 100644 --- a/grpc/dotnet/src/gencs/SlRouteIpv4.cs +++ b/grpc/dotnet/src/gencs/SlRouteIpv4.cs @@ -25,63 +25,62 @@ static SlRouteIpv4Reflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( "ChNzbF9yb3V0ZV9pcHY0LnByb3RvEg1zZXJ2aWNlX2xheWVyGhVzbF9jb21t", - "b25fdHlwZXMucHJvdG8aFXNsX3JvdXRlX2NvbW1vbi5wcm90byLSAQoJU0xS", + "b25fdHlwZXMucHJvdG8aFXNsX3JvdXRlX2NvbW1vbi5wcm90byKPAQoJU0xS", "b3V0ZXY0Eg4KBlByZWZpeBgBIAEoDRIRCglQcmVmaXhMZW4YAiABKA0SMQoL", "Um91dGVDb21tb24YAyABKAsyHC5zZXJ2aWNlX2xheWVyLlNMUm91dGVDb21t", "b24SLAoIUGF0aExpc3QYBCADKAsyGi5zZXJ2aWNlX2xheWVyLlNMUm91dGVQ", - "YXRoEjgKDFBhdGhHcm91cEtleRgFIAEoCzIgLnNlcnZpY2VfbGF5ZXIuU0xQ", - "YXRoR3JvdXBSZWZLZXlIAEIHCgVlbnRyeSKGAQoMU0xSb3V0ZXY0TXNnEicK", - "BE9wZXIYASABKA4yGS5zZXJ2aWNlX2xheWVyLlNMT2JqZWN0T3ASEgoKQ29y", - "cmVsYXRvchgCIAEoBBIPCgdWcmZOYW1lGAMgASgJEigKBlJvdXRlcxgEIAMo", - "CzIYLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY0ImIKDFNMUm91dGV2NFJlcxIv", - "CglFcnJTdGF0dXMYASABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0", - "dXMSDgoGUHJlZml4GAIgASgNEhEKCVByZWZpeExlbhgDIAEoDSKZAQoPU0xS", - "b3V0ZXY0TXNnUnNwEhIKCkNvcnJlbGF0b3IYASABKAQSDwoHVnJmTmFtZRgC", - "IAEoCRIzCg1TdGF0dXNTdW1tYXJ5GAMgASgLMhwuc2VydmljZV9sYXllci5T", - "TEVycm9yU3RhdHVzEiwKB1Jlc3VsdHMYBCADKAsyGy5zZXJ2aWNlX2xheWVy", - "LlNMUm91dGV2NFJlcyKAAQoPU0xSb3V0ZXY0R2V0TXNnEhIKCkNvcnJlbGF0", - "b3IYASABKAQSDwoHVnJmTmFtZRgCIAEoCRIOCgZQcmVmaXgYAyABKA0SEQoJ", - "UHJlZml4TGVuGAQgASgNEhQKDEVudHJpZXNDb3VudBgFIAEoDRIPCgdHZXRO", - "ZXh0GAYgASgIIqIBChJTTFJvdXRldjRHZXRNc2dSc3ASEgoKQ29ycmVsYXRv", - "chgBIAEoBBILCgNFb2YYAiABKAgSDwoHVnJmTmFtZRgDIAEoCRIvCglFcnJT", - "dGF0dXMYBCABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0dXMSKQoH", - "RW50cmllcxgFIAMoCzIYLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY0IlEKE1NM", - "Um91dGV2NE5vdGlmUm91dGUSDwoHVnJmTmFtZRgBIAEoCRIpCgdFbnRyaWVz", - "GAIgAygLMhguc2VydmljZV9sYXllci5TTFJvdXRldjQiyQIKDlNMUm91dGV2", - "NE5vdGlmEi0KCUV2ZW50VHlwZRgBIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xO", - "b3RpZlR5cGUSMQoJRXJyU3RhdHVzGAIgASgLMhwuc2VydmljZV9sYXllci5T", - "TEVycm9yU3RhdHVzSAASOAoLTm90aWZTdGF0dXMYAyABKAsyIS5zZXJ2aWNl", - "X2xheWVyLlNMUm91dGVOb3RpZlN0YXR1c0gAEjMKBVJvdXRlGAQgASgLMiIu", - "c2VydmljZV9sYXllci5TTFJvdXRldjROb3RpZlJvdXRlSAASMwoGTWFya2Vy", - "GAUgASgLMiEuc2VydmljZV9sYXllci5TTFJvdXRlTm90aWZNYXJrZXJIABIo", - "CgNWcmYYBiABKAsyGS5zZXJ2aWNlX2xheWVyLlNMVnJmTm90aWZIAEIHCgVF", - "dmVudDKYBwoNU0xSb3V0ZXY0T3BlchJiChNTTFJvdXRldjRHbG9iYWxzR2V0", - "EiMuc2VydmljZV9sYXllci5TTFJvdXRlR2xvYmFsc0dldE1zZxomLnNlcnZp", - "Y2VfbGF5ZXIuU0xSb3V0ZUdsb2JhbHNHZXRNc2dSc3ASbgoXU0xSb3V0ZXY0", - "R2xvYmFsU3RhdHNHZXQSJy5zZXJ2aWNlX2xheWVyLlNMUm91dGVHbG9iYWxT", - "dGF0c0dldE1zZxoqLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZUdsb2JhbFN0YXRz", - "R2V0TXNnUnNwEk4KEVNMUm91dGV2NFZyZlJlZ09wEhouc2VydmljZV9sYXll", - "ci5TTFZyZlJlZ01zZxodLnNlcnZpY2VfbGF5ZXIuU0xWcmZSZWdNc2dSc3AS", - "VQoSU0xSb3V0ZXY0VnJmUmVnR2V0Eh0uc2VydmljZV9sYXllci5TTFZyZlJl", - "Z0dldE1zZxogLnNlcnZpY2VfbGF5ZXIuU0xWcmZSZWdHZXRNc2dSc3ASWQoU", - "U0xSb3V0ZXY0VnJmR2V0U3RhdHMSHS5zZXJ2aWNlX2xheWVyLlNMVnJmUmVn", - "R2V0TXNnGiIuc2VydmljZV9sYXllci5TTFZSRkdldFN0YXRzTXNnUnNwEkoK", - "C1NMUm91dGV2NE9wEhsuc2VydmljZV9sYXllci5TTFJvdXRldjRNc2caHi5z", - "ZXJ2aWNlX2xheWVyLlNMUm91dGV2NE1zZ1JzcBJRCgxTTFJvdXRldjRHZXQS", - "Hi5zZXJ2aWNlX2xheWVyLlNMUm91dGV2NEdldE1zZxohLnNlcnZpY2VfbGF5", - "ZXIuU0xSb3V0ZXY0R2V0TXNnUnNwElQKEVNMUm91dGV2NE9wU3RyZWFtEhsu", - "c2VydmljZV9sYXllci5TTFJvdXRldjRNc2caHi5zZXJ2aWNlX2xheWVyLlNM", - "Um91dGV2NE1zZ1JzcCgBMAESWwoSU0xSb3V0ZXY0R2V0U3RyZWFtEh4uc2Vy", - "dmljZV9sYXllci5TTFJvdXRldjRHZXRNc2caIS5zZXJ2aWNlX2xheWVyLlNM", - "Um91dGV2NEdldE1zZ1JzcCgBMAESXwoXU0xSb3V0ZXY0R2V0Tm90aWZTdHJl", - "YW0SIS5zZXJ2aWNlX2xheWVyLlNMUm91dGVHZXROb3RpZk1zZxodLnNlcnZp", - "Y2VfbGF5ZXIuU0xSb3V0ZXY0Tm90aWYoATABQlFaT2dpdGh1Yi5jb20vQ2lz", - "Y28tc2VydmljZS1sYXllci9zZXJ2aWNlLWxheWVyLW9iam1vZGVsL2dycGMv", - "cHJvdG9zO3NlcnZpY2VfbGF5ZXJiBnByb3RvMw==")); + "YXRoIoYBCgxTTFJvdXRldjRNc2cSJwoET3BlchgBIAEoDjIZLnNlcnZpY2Vf", + "bGF5ZXIuU0xPYmplY3RPcBISCgpDb3JyZWxhdG9yGAIgASgEEg8KB1ZyZk5h", + "bWUYAyABKAkSKAoGUm91dGVzGAQgAygLMhguc2VydmljZV9sYXllci5TTFJv", + "dXRldjQiYgoMU0xSb3V0ZXY0UmVzEi8KCUVyclN0YXR1cxgBIAEoCzIcLnNl", + "cnZpY2VfbGF5ZXIuU0xFcnJvclN0YXR1cxIOCgZQcmVmaXgYAiABKA0SEQoJ", + "UHJlZml4TGVuGAMgASgNIpkBCg9TTFJvdXRldjRNc2dSc3ASEgoKQ29ycmVs", + "YXRvchgBIAEoBBIPCgdWcmZOYW1lGAIgASgJEjMKDVN0YXR1c1N1bW1hcnkY", + "AyABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0dXMSLAoHUmVzdWx0", + "cxgEIAMoCzIbLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY0UmVzIoABCg9TTFJv", + "dXRldjRHZXRNc2cSEgoKQ29ycmVsYXRvchgBIAEoBBIPCgdWcmZOYW1lGAIg", + "ASgJEg4KBlByZWZpeBgDIAEoDRIRCglQcmVmaXhMZW4YBCABKA0SFAoMRW50", + "cmllc0NvdW50GAUgASgNEg8KB0dldE5leHQYBiABKAgiogEKElNMUm91dGV2", + "NEdldE1zZ1JzcBISCgpDb3JyZWxhdG9yGAEgASgEEgsKA0VvZhgCIAEoCBIP", + "CgdWcmZOYW1lGAMgASgJEi8KCUVyclN0YXR1cxgEIAEoCzIcLnNlcnZpY2Vf", + "bGF5ZXIuU0xFcnJvclN0YXR1cxIpCgdFbnRyaWVzGAUgAygLMhguc2Vydmlj", + "ZV9sYXllci5TTFJvdXRldjQiUQoTU0xSb3V0ZXY0Tm90aWZSb3V0ZRIPCgdW", + "cmZOYW1lGAEgASgJEikKB0VudHJpZXMYAiADKAsyGC5zZXJ2aWNlX2xheWVy", + "LlNMUm91dGV2NCLJAgoOU0xSb3V0ZXY0Tm90aWYSLQoJRXZlbnRUeXBlGAEg", + "ASgOMhouc2VydmljZV9sYXllci5TTE5vdGlmVHlwZRIxCglFcnJTdGF0dXMY", + "AiABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0dXNIABI4CgtOb3Rp", + "ZlN0YXR1cxgDIAEoCzIhLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZU5vdGlmU3Rh", + "dHVzSAASMwoFUm91dGUYBCABKAsyIi5zZXJ2aWNlX2xheWVyLlNMUm91dGV2", + "NE5vdGlmUm91dGVIABIzCgZNYXJrZXIYBSABKAsyIS5zZXJ2aWNlX2xheWVy", + "LlNMUm91dGVOb3RpZk1hcmtlckgAEigKA1ZyZhgGIAEoCzIZLnNlcnZpY2Vf", + "bGF5ZXIuU0xWcmZOb3RpZkgAQgcKBUV2ZW50MpgHCg1TTFJvdXRldjRPcGVy", + "EmIKE1NMUm91dGV2NEdsb2JhbHNHZXQSIy5zZXJ2aWNlX2xheWVyLlNMUm91", + "dGVHbG9iYWxzR2V0TXNnGiYuc2VydmljZV9sYXllci5TTFJvdXRlR2xvYmFs", + "c0dldE1zZ1JzcBJuChdTTFJvdXRldjRHbG9iYWxTdGF0c0dldBInLnNlcnZp", + "Y2VfbGF5ZXIuU0xSb3V0ZUdsb2JhbFN0YXRzR2V0TXNnGiouc2VydmljZV9s", + "YXllci5TTFJvdXRlR2xvYmFsU3RhdHNHZXRNc2dSc3ASTgoRU0xSb3V0ZXY0", + "VnJmUmVnT3ASGi5zZXJ2aWNlX2xheWVyLlNMVnJmUmVnTXNnGh0uc2Vydmlj", + "ZV9sYXllci5TTFZyZlJlZ01zZ1JzcBJVChJTTFJvdXRldjRWcmZSZWdHZXQS", + "HS5zZXJ2aWNlX2xheWVyLlNMVnJmUmVnR2V0TXNnGiAuc2VydmljZV9sYXll", + "ci5TTFZyZlJlZ0dldE1zZ1JzcBJZChRTTFJvdXRldjRWcmZHZXRTdGF0cxId", + "LnNlcnZpY2VfbGF5ZXIuU0xWcmZSZWdHZXRNc2caIi5zZXJ2aWNlX2xheWVy", + "LlNMVlJGR2V0U3RhdHNNc2dSc3ASSgoLU0xSb3V0ZXY0T3ASGy5zZXJ2aWNl", + "X2xheWVyLlNMUm91dGV2NE1zZxoeLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY0", + "TXNnUnNwElEKDFNMUm91dGV2NEdldBIeLnNlcnZpY2VfbGF5ZXIuU0xSb3V0", + "ZXY0R2V0TXNnGiEuc2VydmljZV9sYXllci5TTFJvdXRldjRHZXRNc2dSc3AS", + "VAoRU0xSb3V0ZXY0T3BTdHJlYW0SGy5zZXJ2aWNlX2xheWVyLlNMUm91dGV2", + "NE1zZxoeLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY0TXNnUnNwKAEwARJbChJT", + "TFJvdXRldjRHZXRTdHJlYW0SHi5zZXJ2aWNlX2xheWVyLlNMUm91dGV2NEdl", + "dE1zZxohLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY0R2V0TXNnUnNwKAEwARJf", + "ChdTTFJvdXRldjRHZXROb3RpZlN0cmVhbRIhLnNlcnZpY2VfbGF5ZXIuU0xS", + "b3V0ZUdldE5vdGlmTXNnGh0uc2VydmljZV9sYXllci5TTFJvdXRldjROb3Rp", + "ZigBMAFCUVpPZ2l0aHViLmNvbS9DaXNjby1zZXJ2aWNlLWxheWVyL3NlcnZp", + "Y2UtbGF5ZXItb2JqbW9kZWwvZ3JwYy9wcm90b3M7c2VydmljZV9sYXllcmIG", + "cHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, global::ServiceLayer.SlRouteCommonReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev4), global::ServiceLayer.SLRoutev4.Parser, new[]{ "Prefix", "PrefixLen", "RouteCommon", "PathList", "PathGroupKey" }, new[]{ "Entry" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev4), global::ServiceLayer.SLRoutev4.Parser, new[]{ "Prefix", "PrefixLen", "RouteCommon", "PathList" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev4Msg), global::ServiceLayer.SLRoutev4Msg.Parser, new[]{ "Oper", "Correlator", "VrfName", "Routes" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev4Res), global::ServiceLayer.SLRoutev4Res.Parser, new[]{ "ErrStatus", "Prefix", "PrefixLen" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev4MsgRsp), global::ServiceLayer.SLRoutev4MsgRsp.Parser, new[]{ "Correlator", "VrfName", "StatusSummary", "Results" }, null, null, null, null), @@ -136,12 +135,6 @@ public SLRoutev4(SLRoutev4 other) : this() { prefixLen_ = other.prefixLen_; routeCommon_ = other.routeCommon_ != null ? other.routeCommon_.Clone() : null; pathList_ = other.pathList_.Clone(); - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - PathGroupKey = other.PathGroupKey.Clone(); - break; - } - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -213,41 +206,6 @@ public uint PrefixLen { get { return pathList_; } } - /// Field number for the "PathGroupKey" field. - public const int PathGroupKeyFieldNumber = 5; - /// - /// Path group reference key - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLPathGroupRefKey PathGroupKey { - get { return entryCase_ == EntryOneofCase.PathGroupKey ? (global::ServiceLayer.SLPathGroupRefKey) entry_ : null; } - set { - entry_ = value; - entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.PathGroupKey; - } - } - - private object entry_; - /// Enum of possible cases for the "entry" oneof. - public enum EntryOneofCase { - None = 0, - PathGroupKey = 5, - } - private EntryOneofCase entryCase_ = EntryOneofCase.None; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public EntryOneofCase EntryCase { - get { return entryCase_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearEntry() { - entryCase_ = EntryOneofCase.None; - entry_ = null; - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -267,8 +225,6 @@ public bool Equals(SLRoutev4 other) { if (PrefixLen != other.PrefixLen) return false; if (!object.Equals(RouteCommon, other.RouteCommon)) return false; if(!pathList_.Equals(other.pathList_)) return false; - if (!object.Equals(PathGroupKey, other.PathGroupKey)) return false; - if (EntryCase != other.EntryCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -280,8 +236,6 @@ public override int GetHashCode() { if (PrefixLen != 0) hash ^= PrefixLen.GetHashCode(); if (routeCommon_ != null) hash ^= RouteCommon.GetHashCode(); hash ^= pathList_.GetHashCode(); - if (entryCase_ == EntryOneofCase.PathGroupKey) hash ^= PathGroupKey.GetHashCode(); - hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -313,10 +267,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteMessage(RouteCommon); } pathList_.WriteTo(output, _repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(42); - output.WriteMessage(PathGroupKey); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -340,10 +290,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteMessage(RouteCommon); } pathList_.WriteTo(ref output, _repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(42); - output.WriteMessage(PathGroupKey); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -364,9 +310,6 @@ public int CalculateSize() { size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteCommon); } size += pathList_.CalculateSize(_repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupKey); - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -392,15 +335,6 @@ public void MergeFrom(SLRoutev4 other) { RouteCommon.MergeFrom(other.RouteCommon); } pathList_.Add(other.pathList_); - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - if (PathGroupKey == null) { - PathGroupKey = new global::ServiceLayer.SLPathGroupRefKey(); - } - PathGroupKey.MergeFrom(other.PathGroupKey); - break; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -435,15 +369,6 @@ public void MergeFrom(pb::CodedInputStream input) { pathList_.AddEntriesFrom(input, _repeated_pathList_codec); break; } - case 42: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; - break; - } } } #endif @@ -478,15 +403,6 @@ public void MergeFrom(pb::CodedInputStream input) { pathList_.AddEntriesFrom(ref input, _repeated_pathList_codec); break; } - case 42: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; - break; - } } } } diff --git a/grpc/dotnet/src/gencs/SlRouteIpv6.cs b/grpc/dotnet/src/gencs/SlRouteIpv6.cs index ca5699a..88fcc11 100644 --- a/grpc/dotnet/src/gencs/SlRouteIpv6.cs +++ b/grpc/dotnet/src/gencs/SlRouteIpv6.cs @@ -25,63 +25,62 @@ static SlRouteIpv6Reflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( "ChNzbF9yb3V0ZV9pcHY2LnByb3RvEg1zZXJ2aWNlX2xheWVyGhVzbF9jb21t", - "b25fdHlwZXMucHJvdG8aFXNsX3JvdXRlX2NvbW1vbi5wcm90byLSAQoJU0xS", + "b25fdHlwZXMucHJvdG8aFXNsX3JvdXRlX2NvbW1vbi5wcm90byKPAQoJU0xS", "b3V0ZXY2Eg4KBlByZWZpeBgBIAEoDBIRCglQcmVmaXhMZW4YAiABKA0SMQoL", "Um91dGVDb21tb24YAyABKAsyHC5zZXJ2aWNlX2xheWVyLlNMUm91dGVDb21t", "b24SLAoIUGF0aExpc3QYBCADKAsyGi5zZXJ2aWNlX2xheWVyLlNMUm91dGVQ", - "YXRoEjgKDFBhdGhHcm91cEtleRgFIAEoCzIgLnNlcnZpY2VfbGF5ZXIuU0xQ", - "YXRoR3JvdXBSZWZLZXlIAEIHCgVlbnRyeSKGAQoMU0xSb3V0ZXY2TXNnEicK", - "BE9wZXIYASABKA4yGS5zZXJ2aWNlX2xheWVyLlNMT2JqZWN0T3ASEgoKQ29y", - "cmVsYXRvchgCIAEoBBIPCgdWcmZOYW1lGAMgASgJEigKBlJvdXRlcxgEIAMo", - "CzIYLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY2ImIKDFNMUm91dGV2NlJlcxIv", - "CglFcnJTdGF0dXMYASABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0", - "dXMSDgoGUHJlZml4GAIgASgMEhEKCVByZWZpeExlbhgDIAEoDSKZAQoPU0xS", - "b3V0ZXY2TXNnUnNwEhIKCkNvcnJlbGF0b3IYASABKAQSDwoHVnJmTmFtZRgC", - "IAEoCRIzCg1TdGF0dXNTdW1tYXJ5GAMgASgLMhwuc2VydmljZV9sYXllci5T", - "TEVycm9yU3RhdHVzEiwKB1Jlc3VsdHMYBCADKAsyGy5zZXJ2aWNlX2xheWVy", - "LlNMUm91dGV2NlJlcyKAAQoPU0xSb3V0ZXY2R2V0TXNnEhIKCkNvcnJlbGF0", - "b3IYASABKAQSDwoHVnJmTmFtZRgCIAEoCRIOCgZQcmVmaXgYAyABKAwSEQoJ", - "UHJlZml4TGVuGAQgASgNEhQKDEVudHJpZXNDb3VudBgFIAEoDRIPCgdHZXRO", - "ZXh0GAYgASgIIqIBChJTTFJvdXRldjZHZXRNc2dSc3ASEgoKQ29ycmVsYXRv", - "chgBIAEoBBILCgNFb2YYAiABKAgSDwoHVnJmTmFtZRgDIAEoCRIvCglFcnJT", - "dGF0dXMYBCABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0dXMSKQoH", - "RW50cmllcxgFIAMoCzIYLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY2IlEKE1NM", - "Um91dGV2Nk5vdGlmUm91dGUSDwoHVnJmTmFtZRgBIAEoCRIpCgdFbnRyaWVz", - "GAIgAygLMhguc2VydmljZV9sYXllci5TTFJvdXRldjYiyQIKDlNMUm91dGV2", - "Nk5vdGlmEi0KCUV2ZW50VHlwZRgBIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xO", - "b3RpZlR5cGUSMQoJRXJyU3RhdHVzGAIgASgLMhwuc2VydmljZV9sYXllci5T", - "TEVycm9yU3RhdHVzSAASOAoLTm90aWZTdGF0dXMYAyABKAsyIS5zZXJ2aWNl", - "X2xheWVyLlNMUm91dGVOb3RpZlN0YXR1c0gAEjMKBVJvdXRlGAQgASgLMiIu", - "c2VydmljZV9sYXllci5TTFJvdXRldjZOb3RpZlJvdXRlSAASMwoGTWFya2Vy", - "GAUgASgLMiEuc2VydmljZV9sYXllci5TTFJvdXRlTm90aWZNYXJrZXJIABIo", - "CgNWcmYYBiABKAsyGS5zZXJ2aWNlX2xheWVyLlNMVnJmTm90aWZIAEIHCgVF", - "dmVudDKYBwoNU0xSb3V0ZXY2T3BlchJiChNTTFJvdXRldjZHbG9iYWxzR2V0", - "EiMuc2VydmljZV9sYXllci5TTFJvdXRlR2xvYmFsc0dldE1zZxomLnNlcnZp", - "Y2VfbGF5ZXIuU0xSb3V0ZUdsb2JhbHNHZXRNc2dSc3ASbgoXU0xSb3V0ZXY2", - "R2xvYmFsU3RhdHNHZXQSJy5zZXJ2aWNlX2xheWVyLlNMUm91dGVHbG9iYWxT", - "dGF0c0dldE1zZxoqLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZUdsb2JhbFN0YXRz", - "R2V0TXNnUnNwEk4KEVNMUm91dGV2NlZyZlJlZ09wEhouc2VydmljZV9sYXll", - "ci5TTFZyZlJlZ01zZxodLnNlcnZpY2VfbGF5ZXIuU0xWcmZSZWdNc2dSc3AS", - "VQoSU0xSb3V0ZXY2VnJmUmVnR2V0Eh0uc2VydmljZV9sYXllci5TTFZyZlJl", - "Z0dldE1zZxogLnNlcnZpY2VfbGF5ZXIuU0xWcmZSZWdHZXRNc2dSc3ASWQoU", - "U0xSb3V0ZXY2VnJmR2V0U3RhdHMSHS5zZXJ2aWNlX2xheWVyLlNMVnJmUmVn", - "R2V0TXNnGiIuc2VydmljZV9sYXllci5TTFZSRkdldFN0YXRzTXNnUnNwEkoK", - "C1NMUm91dGV2Nk9wEhsuc2VydmljZV9sYXllci5TTFJvdXRldjZNc2caHi5z", - "ZXJ2aWNlX2xheWVyLlNMUm91dGV2Nk1zZ1JzcBJRCgxTTFJvdXRldjZHZXQS", - "Hi5zZXJ2aWNlX2xheWVyLlNMUm91dGV2NkdldE1zZxohLnNlcnZpY2VfbGF5", - "ZXIuU0xSb3V0ZXY2R2V0TXNnUnNwElQKEVNMUm91dGV2Nk9wU3RyZWFtEhsu", - "c2VydmljZV9sYXllci5TTFJvdXRldjZNc2caHi5zZXJ2aWNlX2xheWVyLlNM", - "Um91dGV2Nk1zZ1JzcCgBMAESWwoSU0xSb3V0ZXY2R2V0U3RyZWFtEh4uc2Vy", - "dmljZV9sYXllci5TTFJvdXRldjZHZXRNc2caIS5zZXJ2aWNlX2xheWVyLlNM", - "Um91dGV2NkdldE1zZ1JzcCgBMAESXwoXU0xSb3V0ZXY2R2V0Tm90aWZTdHJl", - "YW0SIS5zZXJ2aWNlX2xheWVyLlNMUm91dGVHZXROb3RpZk1zZxodLnNlcnZp", - "Y2VfbGF5ZXIuU0xSb3V0ZXY2Tm90aWYoATABQlFaT2dpdGh1Yi5jb20vQ2lz", - "Y28tc2VydmljZS1sYXllci9zZXJ2aWNlLWxheWVyLW9iam1vZGVsL2dycGMv", - "cHJvdG9zO3NlcnZpY2VfbGF5ZXJiBnByb3RvMw==")); + "YXRoIoYBCgxTTFJvdXRldjZNc2cSJwoET3BlchgBIAEoDjIZLnNlcnZpY2Vf", + "bGF5ZXIuU0xPYmplY3RPcBISCgpDb3JyZWxhdG9yGAIgASgEEg8KB1ZyZk5h", + "bWUYAyABKAkSKAoGUm91dGVzGAQgAygLMhguc2VydmljZV9sYXllci5TTFJv", + "dXRldjYiYgoMU0xSb3V0ZXY2UmVzEi8KCUVyclN0YXR1cxgBIAEoCzIcLnNl", + "cnZpY2VfbGF5ZXIuU0xFcnJvclN0YXR1cxIOCgZQcmVmaXgYAiABKAwSEQoJ", + "UHJlZml4TGVuGAMgASgNIpkBCg9TTFJvdXRldjZNc2dSc3ASEgoKQ29ycmVs", + "YXRvchgBIAEoBBIPCgdWcmZOYW1lGAIgASgJEjMKDVN0YXR1c1N1bW1hcnkY", + "AyABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0dXMSLAoHUmVzdWx0", + "cxgEIAMoCzIbLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY2UmVzIoABCg9TTFJv", + "dXRldjZHZXRNc2cSEgoKQ29ycmVsYXRvchgBIAEoBBIPCgdWcmZOYW1lGAIg", + "ASgJEg4KBlByZWZpeBgDIAEoDBIRCglQcmVmaXhMZW4YBCABKA0SFAoMRW50", + "cmllc0NvdW50GAUgASgNEg8KB0dldE5leHQYBiABKAgiogEKElNMUm91dGV2", + "NkdldE1zZ1JzcBISCgpDb3JyZWxhdG9yGAEgASgEEgsKA0VvZhgCIAEoCBIP", + "CgdWcmZOYW1lGAMgASgJEi8KCUVyclN0YXR1cxgEIAEoCzIcLnNlcnZpY2Vf", + "bGF5ZXIuU0xFcnJvclN0YXR1cxIpCgdFbnRyaWVzGAUgAygLMhguc2Vydmlj", + "ZV9sYXllci5TTFJvdXRldjYiUQoTU0xSb3V0ZXY2Tm90aWZSb3V0ZRIPCgdW", + "cmZOYW1lGAEgASgJEikKB0VudHJpZXMYAiADKAsyGC5zZXJ2aWNlX2xheWVy", + "LlNMUm91dGV2NiLJAgoOU0xSb3V0ZXY2Tm90aWYSLQoJRXZlbnRUeXBlGAEg", + "ASgOMhouc2VydmljZV9sYXllci5TTE5vdGlmVHlwZRIxCglFcnJTdGF0dXMY", + "AiABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JTdGF0dXNIABI4CgtOb3Rp", + "ZlN0YXR1cxgDIAEoCzIhLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZU5vdGlmU3Rh", + "dHVzSAASMwoFUm91dGUYBCABKAsyIi5zZXJ2aWNlX2xheWVyLlNMUm91dGV2", + "Nk5vdGlmUm91dGVIABIzCgZNYXJrZXIYBSABKAsyIS5zZXJ2aWNlX2xheWVy", + "LlNMUm91dGVOb3RpZk1hcmtlckgAEigKA1ZyZhgGIAEoCzIZLnNlcnZpY2Vf", + "bGF5ZXIuU0xWcmZOb3RpZkgAQgcKBUV2ZW50MpgHCg1TTFJvdXRldjZPcGVy", + "EmIKE1NMUm91dGV2Nkdsb2JhbHNHZXQSIy5zZXJ2aWNlX2xheWVyLlNMUm91", + "dGVHbG9iYWxzR2V0TXNnGiYuc2VydmljZV9sYXllci5TTFJvdXRlR2xvYmFs", + "c0dldE1zZ1JzcBJuChdTTFJvdXRldjZHbG9iYWxTdGF0c0dldBInLnNlcnZp", + "Y2VfbGF5ZXIuU0xSb3V0ZUdsb2JhbFN0YXRzR2V0TXNnGiouc2VydmljZV9s", + "YXllci5TTFJvdXRlR2xvYmFsU3RhdHNHZXRNc2dSc3ASTgoRU0xSb3V0ZXY2", + "VnJmUmVnT3ASGi5zZXJ2aWNlX2xheWVyLlNMVnJmUmVnTXNnGh0uc2Vydmlj", + "ZV9sYXllci5TTFZyZlJlZ01zZ1JzcBJVChJTTFJvdXRldjZWcmZSZWdHZXQS", + "HS5zZXJ2aWNlX2xheWVyLlNMVnJmUmVnR2V0TXNnGiAuc2VydmljZV9sYXll", + "ci5TTFZyZlJlZ0dldE1zZ1JzcBJZChRTTFJvdXRldjZWcmZHZXRTdGF0cxId", + "LnNlcnZpY2VfbGF5ZXIuU0xWcmZSZWdHZXRNc2caIi5zZXJ2aWNlX2xheWVy", + "LlNMVlJGR2V0U3RhdHNNc2dSc3ASSgoLU0xSb3V0ZXY2T3ASGy5zZXJ2aWNl", + "X2xheWVyLlNMUm91dGV2Nk1zZxoeLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY2", + "TXNnUnNwElEKDFNMUm91dGV2NkdldBIeLnNlcnZpY2VfbGF5ZXIuU0xSb3V0", + "ZXY2R2V0TXNnGiEuc2VydmljZV9sYXllci5TTFJvdXRldjZHZXRNc2dSc3AS", + "VAoRU0xSb3V0ZXY2T3BTdHJlYW0SGy5zZXJ2aWNlX2xheWVyLlNMUm91dGV2", + "Nk1zZxoeLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY2TXNnUnNwKAEwARJbChJT", + "TFJvdXRldjZHZXRTdHJlYW0SHi5zZXJ2aWNlX2xheWVyLlNMUm91dGV2Nkdl", + "dE1zZxohLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZXY2R2V0TXNnUnNwKAEwARJf", + "ChdTTFJvdXRldjZHZXROb3RpZlN0cmVhbRIhLnNlcnZpY2VfbGF5ZXIuU0xS", + "b3V0ZUdldE5vdGlmTXNnGh0uc2VydmljZV9sYXllci5TTFJvdXRldjZOb3Rp", + "ZigBMAFCUVpPZ2l0aHViLmNvbS9DaXNjby1zZXJ2aWNlLWxheWVyL3NlcnZp", + "Y2UtbGF5ZXItb2JqbW9kZWwvZ3JwYy9wcm90b3M7c2VydmljZV9sYXllcmIG", + "cHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, global::ServiceLayer.SlRouteCommonReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev6), global::ServiceLayer.SLRoutev6.Parser, new[]{ "Prefix", "PrefixLen", "RouteCommon", "PathList", "PathGroupKey" }, new[]{ "Entry" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev6), global::ServiceLayer.SLRoutev6.Parser, new[]{ "Prefix", "PrefixLen", "RouteCommon", "PathList" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev6Msg), global::ServiceLayer.SLRoutev6Msg.Parser, new[]{ "Oper", "Correlator", "VrfName", "Routes" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev6Res), global::ServiceLayer.SLRoutev6Res.Parser, new[]{ "ErrStatus", "Prefix", "PrefixLen" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutev6MsgRsp), global::ServiceLayer.SLRoutev6MsgRsp.Parser, new[]{ "Correlator", "VrfName", "StatusSummary", "Results" }, null, null, null, null), @@ -136,12 +135,6 @@ public SLRoutev6(SLRoutev6 other) : this() { prefixLen_ = other.prefixLen_; routeCommon_ = other.routeCommon_ != null ? other.routeCommon_.Clone() : null; pathList_ = other.pathList_.Clone(); - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - PathGroupKey = other.PathGroupKey.Clone(); - break; - } - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -212,41 +205,6 @@ public uint PrefixLen { get { return pathList_; } } - /// Field number for the "PathGroupKey" field. - public const int PathGroupKeyFieldNumber = 5; - /// - /// Path group reference key - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLPathGroupRefKey PathGroupKey { - get { return entryCase_ == EntryOneofCase.PathGroupKey ? (global::ServiceLayer.SLPathGroupRefKey) entry_ : null; } - set { - entry_ = value; - entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.PathGroupKey; - } - } - - private object entry_; - /// Enum of possible cases for the "entry" oneof. - public enum EntryOneofCase { - None = 0, - PathGroupKey = 5, - } - private EntryOneofCase entryCase_ = EntryOneofCase.None; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public EntryOneofCase EntryCase { - get { return entryCase_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearEntry() { - entryCase_ = EntryOneofCase.None; - entry_ = null; - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -266,8 +224,6 @@ public bool Equals(SLRoutev6 other) { if (PrefixLen != other.PrefixLen) return false; if (!object.Equals(RouteCommon, other.RouteCommon)) return false; if(!pathList_.Equals(other.pathList_)) return false; - if (!object.Equals(PathGroupKey, other.PathGroupKey)) return false; - if (EntryCase != other.EntryCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -279,8 +235,6 @@ public override int GetHashCode() { if (PrefixLen != 0) hash ^= PrefixLen.GetHashCode(); if (routeCommon_ != null) hash ^= RouteCommon.GetHashCode(); hash ^= pathList_.GetHashCode(); - if (entryCase_ == EntryOneofCase.PathGroupKey) hash ^= PathGroupKey.GetHashCode(); - hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -312,10 +266,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteMessage(RouteCommon); } pathList_.WriteTo(output, _repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(42); - output.WriteMessage(PathGroupKey); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -339,10 +289,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteMessage(RouteCommon); } pathList_.WriteTo(ref output, _repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - output.WriteRawTag(42); - output.WriteMessage(PathGroupKey); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -363,9 +309,6 @@ public int CalculateSize() { size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteCommon); } size += pathList_.CalculateSize(_repeated_pathList_codec); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupKey); - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -391,15 +334,6 @@ public void MergeFrom(SLRoutev6 other) { RouteCommon.MergeFrom(other.RouteCommon); } pathList_.Add(other.pathList_); - switch (other.EntryCase) { - case EntryOneofCase.PathGroupKey: - if (PathGroupKey == null) { - PathGroupKey = new global::ServiceLayer.SLPathGroupRefKey(); - } - PathGroupKey.MergeFrom(other.PathGroupKey); - break; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -434,15 +368,6 @@ public void MergeFrom(pb::CodedInputStream input) { pathList_.AddEntriesFrom(input, _repeated_pathList_codec); break; } - case 42: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; - break; - } } } #endif @@ -477,15 +402,6 @@ public void MergeFrom(pb::CodedInputStream input) { pathList_.AddEntriesFrom(ref input, _repeated_pathList_codec); break; } - case 42: { - global::ServiceLayer.SLPathGroupRefKey subBuilder = new global::ServiceLayer.SLPathGroupRefKey(); - if (entryCase_ == EntryOneofCase.PathGroupKey) { - subBuilder.MergeFrom(PathGroupKey); - } - input.ReadMessage(subBuilder); - PathGroupKey = subBuilder; - break; - } } } } diff --git a/grpc/go/src/gengo/sl_af.pb.go b/grpc/go/src/gengo/sl_af.pb.go index c0d27d4..8141c35 100644 --- a/grpc/go/src/gengo/sl_af.pb.go +++ b/grpc/go/src/gengo/sl_af.pb.go @@ -7,7 +7,7 @@ // change without notice and such changes can break backwards compatibility. // // ---------------------------------------------------------------- -// Copyright (c) 2023, 2024 by Cisco Systems, Inc. +// Copyright (c) 2023-2025 by Cisco Systems, Inc. // All rights reserved. // ----------------------------------------------------------------- // @@ -46,7 +46,7 @@ type SLAFVrfReg struct { // Registration message is applied on VRF's identified table Table SLTableType `protobuf:"varint,1,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` - // VRF registration attibutes + // VRF registration attributes VrfReg *SLVrfReg `protobuf:"bytes,2,opt,name=VrfReg,proto3" json:"VrfReg,omitempty"` } @@ -296,7 +296,8 @@ type SLAFVrfRegGetMsg struct { unknownFields protoimpl.UnknownFields // If true, returns VRF registrations for all clients. - // If false, returns VRF registrations for this client as identified by the gRPC metadata. + // If false, returns VRF registrations for this client as identified by + // the gRPC metadata. GetAll bool `protobuf:"varint,1,opt,name=GetAll,proto3" json:"GetAll,omitempty"` } @@ -440,8 +441,7 @@ type SLPathGroup struct { // *SLPathGroup_PathList Entry isSLPathGroup_Entry `protobuf_oneof:"entry"` // Flags to control programming of the PathGroup to Routing - // Information Base. Each flag is indicated as a bit field. - // See SLRouteFlags for flag enumerations. + // Information Base. See SLRouteFlags for flag enumerations. // Supported values are: // // SL_ROUTE_FLAG_VIABLE_PATHS_ONLY. @@ -471,10 +471,11 @@ type SLPathGroup struct { // on their administrative distance AND viability of the PathGroup. // At least one path in the PathGroup must be viable for the // PathGroup to be viable. The network element automatically promotes or - // demotes the routes and MPLS entries as viability of the PathGroup changes. + // demotes the routes and MPLS entries as viability of the PathGroup + // changes. // // Others - Reserved. - Flags uint32 `protobuf:"varint,4,opt,name=Flags,proto3" json:"Flags,omitempty"` + PgFlags []SLRouteFlags `protobuf:"varint,4,rep,packed,name=PgFlags,proto3,enum=service_layer.SLRouteFlags" json:"PgFlags,omitempty"` } func (x *SLPathGroup) Reset() { @@ -537,11 +538,11 @@ func (x *SLPathGroup) GetPathList() *SLPathGroup_SLPathList { return nil } -func (x *SLPathGroup) GetFlags() uint32 { +func (x *SLPathGroup) GetPgFlags() []SLRouteFlags { if x != nil { - return x.Flags + return x.PgFlags } - return 0 + return nil } type isSLPathGroup_Entry interface { @@ -555,6 +556,55 @@ type SLPathGroup_PathList struct { func (*SLPathGroup_PathList) isSLPathGroup_Entry() {} +// Key for a MPLS label entry +type SLMplsEntryKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Local Label + Label uint32 `protobuf:"varint,1,opt,name=Label,proto3" json:"Label,omitempty"` +} + +func (x *SLMplsEntryKey) Reset() { + *x = SLMplsEntryKey{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_af_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLMplsEntryKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLMplsEntryKey) ProtoMessage() {} + +func (x *SLMplsEntryKey) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLMplsEntryKey.ProtoReflect.Descriptor instead. +func (*SLMplsEntryKey) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{7} +} + +func (x *SLMplsEntryKey) GetLabel() uint32 { + if x != nil { + return x.Label + } + return 0 +} + // MPLS entry. // This message defines an entry in the MPLS forwarding table. type SLMplsEntry struct { @@ -562,27 +612,20 @@ type SLMplsEntry struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Local Label - LocalLabel uint32 `protobuf:"varint,1,opt,name=LocalLabel,proto3" json:"LocalLabel,omitempty"` + // MPLS Key + MplsKey *SLMplsEntryKey `protobuf:"bytes,1,opt,name=MplsKey,proto3" json:"MplsKey,omitempty"` // Administrative distance of the MPLS label. Possible values // are [0-255]. RIB uses this field to break the tie when multiple // sources install the same incoming MPLS label. Lower distance is // preferred over higher distance. The per MPLS label object admin distance - // overrides the default admin distance set at VRF registration. see SLVrfReg. + // overrides the default admin distance set at VRF registration. + // see SLVrfReg. AdminDistance uint32 `protobuf:"varint,2,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` // List of paths for this MPLS label entry. // Specifying more than one path is allowed for ECMP/UCMP cases. PathList []*SLRoutePath `protobuf:"bytes,3,rep,name=PathList,proto3" json:"PathList,omitempty"` - // Reference to the Path Group for this MPLS label entry. - // The attribute is oneof to allow for future extension. - // - // Types that are assignable to Entry: - // - // *SLMplsEntry_PathGroupKey - Entry isSLMplsEntry_Entry `protobuf_oneof:"entry"` // Flags to control programming of the MPLS Entry to Routing - // Information Base. Each flag is indicated as a bit field. - // See SLRouteFlags for flag enumerations. + // Information Base. See SLRouteFlags for flag enumerations. // Supported values are: // // SL_ROUTE_FLAG_VIABLE_PATHS_ONLY - This flag on the MPLS Entry @@ -626,13 +669,13 @@ type SLMplsEntry struct { // route calculations. // // Others - Reserved. - Flags uint32 `protobuf:"varint,5,opt,name=Flags,proto3" json:"Flags,omitempty"` + MplsFlags []SLRouteFlags `protobuf:"varint,4,rep,packed,name=MplsFlags,proto3,enum=service_layer.SLRouteFlags" json:"MplsFlags,omitempty"` } func (x *SLMplsEntry) Reset() { *x = SLMplsEntry{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[7] + mi := &file_sl_af_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -645,7 +688,7 @@ func (x *SLMplsEntry) String() string { func (*SLMplsEntry) ProtoMessage() {} func (x *SLMplsEntry) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[7] + mi := &file_sl_af_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -658,14 +701,14 @@ func (x *SLMplsEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use SLMplsEntry.ProtoReflect.Descriptor instead. func (*SLMplsEntry) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{7} + return file_sl_af_proto_rawDescGZIP(), []int{8} } -func (x *SLMplsEntry) GetLocalLabel() uint32 { +func (x *SLMplsEntry) GetMplsKey() *SLMplsEntryKey { if x != nil { - return x.LocalLabel + return x.MplsKey } - return 0 + return nil } func (x *SLMplsEntry) GetAdminDistance() uint32 { @@ -682,37 +725,80 @@ func (x *SLMplsEntry) GetPathList() []*SLRoutePath { return nil } -func (m *SLMplsEntry) GetEntry() isSLMplsEntry_Entry { - if m != nil { - return m.Entry +func (x *SLMplsEntry) GetMplsFlags() []SLRouteFlags { + if x != nil { + return x.MplsFlags } return nil } -func (x *SLMplsEntry) GetPathGroupKey() *SLPathGroupRefKey { - if x, ok := x.GetEntry().(*SLMplsEntry_PathGroupKey); ok { - return x.PathGroupKey +// SL IPv4 or IPv6 Unicast Route Object +type SLAFIPRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // IP Route Prefix + IPRoutePrefix *SLRoutePrefix `protobuf:"bytes,1,opt,name=IPRoutePrefix,proto3" json:"IPRoutePrefix,omitempty"` + // Common route attributes + RouteCommon *SLRouteCommon `protobuf:"bytes,2,opt,name=RouteCommon,proto3" json:"RouteCommon,omitempty"` + // List of route paths for this route. + // Specifying more than one path is allowed for ECMP/UCMP cases. + PathList []*SLRoutePath `protobuf:"bytes,3,rep,name=PathList,proto3" json:"PathList,omitempty"` +} + +func (x *SLAFIPRoute) Reset() { + *x = SLAFIPRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_af_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *SLMplsEntry) GetFlags() uint32 { - if x != nil { - return x.Flags +func (x *SLAFIPRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLAFIPRoute) ProtoMessage() {} + +func (x *SLAFIPRoute) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -type isSLMplsEntry_Entry interface { - isSLMplsEntry_Entry() +// Deprecated: Use SLAFIPRoute.ProtoReflect.Descriptor instead. +func (*SLAFIPRoute) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{9} } -type SLMplsEntry_PathGroupKey struct { - // Path group reference key - PathGroupKey *SLPathGroupRefKey `protobuf:"bytes,4,opt,name=PathGroupKey,proto3,oneof"` +func (x *SLAFIPRoute) GetIPRoutePrefix() *SLRoutePrefix { + if x != nil { + return x.IPRoutePrefix + } + return nil } -func (*SLMplsEntry_PathGroupKey) isSLMplsEntry_Entry() {} +func (x *SLAFIPRoute) GetRouteCommon() *SLRouteCommon { + if x != nil { + return x.RouteCommon + } + return nil +} + +func (x *SLAFIPRoute) GetPathList() []*SLRoutePath { + if x != nil { + return x.PathList + } + return nil +} // One of AF objects type SLAFObject struct { @@ -722,8 +808,7 @@ type SLAFObject struct { // Types that are assignable to Entry: // - // *SLAFObject_IPv4Route - // *SLAFObject_IPv6Route + // *SLAFObject_IPRoute // *SLAFObject_MplsLabel // *SLAFObject_PathGroup Entry isSLAFObject_Entry `protobuf_oneof:"entry"` @@ -732,7 +817,7 @@ type SLAFObject struct { func (x *SLAFObject) Reset() { *x = SLAFObject{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[8] + mi := &file_sl_af_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -745,7 +830,7 @@ func (x *SLAFObject) String() string { func (*SLAFObject) ProtoMessage() {} func (x *SLAFObject) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[8] + mi := &file_sl_af_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -758,7 +843,7 @@ func (x *SLAFObject) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFObject.ProtoReflect.Descriptor instead. func (*SLAFObject) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{8} + return file_sl_af_proto_rawDescGZIP(), []int{10} } func (m *SLAFObject) GetEntry() isSLAFObject_Entry { @@ -768,16 +853,9 @@ func (m *SLAFObject) GetEntry() isSLAFObject_Entry { return nil } -func (x *SLAFObject) GetIPv4Route() *SLRoutev4 { - if x, ok := x.GetEntry().(*SLAFObject_IPv4Route); ok { - return x.IPv4Route - } - return nil -} - -func (x *SLAFObject) GetIPv6Route() *SLRoutev6 { - if x, ok := x.GetEntry().(*SLAFObject_IPv6Route); ok { - return x.IPv6Route +func (x *SLAFObject) GetIPRoute() *SLAFIPRoute { + if x, ok := x.GetEntry().(*SLAFObject_IPRoute); ok { + return x.IPRoute } return nil } @@ -800,41 +878,41 @@ type isSLAFObject_Entry interface { isSLAFObject_Entry() } -type SLAFObject_IPv4Route struct { - IPv4Route *SLRoutev4 `protobuf:"bytes,1,opt,name=IPv4Route,proto3,oneof"` -} - -type SLAFObject_IPv6Route struct { - IPv6Route *SLRoutev6 `protobuf:"bytes,2,opt,name=IPv6Route,proto3,oneof"` +type SLAFObject_IPRoute struct { + // IPv4 or IPv6 Unicast Route Object + IPRoute *SLAFIPRoute `protobuf:"bytes,1,opt,name=IPRoute,proto3,oneof"` } type SLAFObject_MplsLabel struct { - MplsLabel *SLMplsEntry `protobuf:"bytes,3,opt,name=MplsLabel,proto3,oneof"` + // MPLS Label Object + MplsLabel *SLMplsEntry `protobuf:"bytes,2,opt,name=MplsLabel,proto3,oneof"` } type SLAFObject_PathGroup struct { - PathGroup *SLPathGroup `protobuf:"bytes,4,opt,name=PathGroup,proto3,oneof"` + // Path Group Object + PathGroup *SLPathGroup `protobuf:"bytes,3,opt,name=PathGroup,proto3,oneof"` } -func (*SLAFObject_IPv4Route) isSLAFObject_Entry() {} - -func (*SLAFObject_IPv6Route) isSLAFObject_Entry() {} +func (*SLAFObject_IPRoute) isSLAFObject_Entry() {} func (*SLAFObject_MplsLabel) isSLAFObject_Entry() {} func (*SLAFObject_PathGroup) isSLAFObject_Entry() {} // Operation on a forwarding table object -type SLAFOp struct { +type SLAFOpMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Object AFObject *SLAFObject `protobuf:"bytes,1,opt,name=AFObject,proto3" json:"AFObject,omitempty"` // Unique operationID sent by the client to corelate the responses. // The responses from network element can be out of order, and client can - // use operation ID to correlate the response for the operation on the object. - // Operation Id should be monotonically increasing for the life of the client. + // use operation ID to correlate the response for the operation on the + // object. + // Operation Id should be monotonically increasing for the life of the + // client. OperationID uint64 `protobuf:"varint,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` // The type of Acknowledgment that the controller or agent expects from // the network element @@ -850,23 +928,23 @@ type SLAFOp struct { AckCadence SLRspAckCadence `protobuf:"varint,5,opt,name=AckCadence,proto3,enum=service_layer.SLRspAckCadence" json:"AckCadence,omitempty"` } -func (x *SLAFOp) Reset() { - *x = SLAFOp{} +func (x *SLAFOpMsg) Reset() { + *x = SLAFOpMsg{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[9] + mi := &file_sl_af_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SLAFOp) String() string { +func (x *SLAFOpMsg) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SLAFOp) ProtoMessage() {} +func (*SLAFOpMsg) ProtoMessage() {} -func (x *SLAFOp) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[9] +func (x *SLAFOpMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -877,85 +955,73 @@ func (x *SLAFOp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SLAFOp.ProtoReflect.Descriptor instead. -func (*SLAFOp) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{9} +// Deprecated: Use SLAFOpMsg.ProtoReflect.Descriptor instead. +func (*SLAFOpMsg) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{11} } -func (x *SLAFOp) GetAFObject() *SLAFObject { +func (x *SLAFOpMsg) GetAFObject() *SLAFObject { if x != nil { return x.AFObject } return nil } -func (x *SLAFOp) GetOperationID() uint64 { +func (x *SLAFOpMsg) GetOperationID() uint64 { if x != nil { return x.OperationID } return 0 } -func (x *SLAFOp) GetAckType() SLRspACKType { +func (x *SLAFOpMsg) GetAckType() SLRspACKType { if x != nil { return x.AckType } return SLRspACKType_RIB_ACK } -func (x *SLAFOp) GetAckPermits() []SLRspACKPermit { +func (x *SLAFOpMsg) GetAckPermits() []SLRspACKPermit { if x != nil { return x.AckPermits } return nil } -func (x *SLAFOp) GetAckCadence() SLRspAckCadence { +func (x *SLAFOpMsg) GetAckCadence() SLRspAckCadence { if x != nil { return x.AckCadence } return SLRspAckCadence_SL_RSP_CONTINUOUS } -// Used to retrieve objects in a VRF table. -// Only objects produced by this client (as indicated in the RPC's metadata) -// are returned unless the GetAllClients is set to true. In that case, all -// the objects produced by all the clients is returned. -type SLAFGetMsg struct { +// List of Client IDs for which entries will be returned +type SLAFClientIDList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // VRF name. If VRF name is not specified or is nil, get objects from - // all VRFs. - VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // If Table is set to SL_TABLE_TYPE_RESERVED, or is unset, objects from - // all tables for selected VRFs are returned - Table SLTableType `protobuf:"varint,2,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` - // Get objects programmed by all clients, ignoring any RPC ClientID - // metadata - GetAllClients bool `protobuf:"varint,3,opt,name=GetAllClients,proto3" json:"GetAllClients,omitempty"` - // Get objects that match the value - RouteMatch []*SLRouteGetMatch `protobuf:"bytes,4,rep,name=RouteMatch,proto3" json:"RouteMatch,omitempty"` + // List of Client IDs + ClientIDList []uint64 `protobuf:"varint,1,rep,packed,name=ClientIDList,proto3" json:"ClientIDList,omitempty"` } -func (x *SLAFGetMsg) Reset() { - *x = SLAFGetMsg{} +func (x *SLAFClientIDList) Reset() { + *x = SLAFClientIDList{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[10] + mi := &file_sl_af_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SLAFGetMsg) String() string { +func (x *SLAFClientIDList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SLAFGetMsg) ProtoMessage() {} +func (*SLAFClientIDList) ProtoMessage() {} -func (x *SLAFGetMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[10] +func (x *SLAFClientIDList) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -966,79 +1032,98 @@ func (x *SLAFGetMsg) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SLAFGetMsg.ProtoReflect.Descriptor instead. -func (*SLAFGetMsg) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{10} +// Deprecated: Use SLAFClientIDList.ProtoReflect.Descriptor instead. +func (*SLAFClientIDList) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{12} } -func (x *SLAFGetMsg) GetVrfName() string { +func (x *SLAFClientIDList) GetClientIDList() []uint64 { if x != nil { - return x.VrfName + return x.ClientIDList } - return "" + return nil } -func (x *SLAFGetMsg) GetTable() SLTableType { - if x != nil { - return x.Table +// List of table types from whom objects for selected VRFs will be returned. +// Table type SL_TABLE_TYPE_RESERVED should not be used +type SLTableTypeList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Table []SLTableType `protobuf:"varint,1,rep,packed,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` +} + +func (x *SLTableTypeList) Reset() { + *x = SLTableTypeList{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_af_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return SLTableType_SL_TABLE_TYPE_RESERVED } -func (x *SLAFGetMsg) GetGetAllClients() bool { - if x != nil { - return x.GetAllClients +func (x *SLTableTypeList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLTableTypeList) ProtoMessage() {} + +func (x *SLTableTypeList) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) +} + +// Deprecated: Use SLTableTypeList.ProtoReflect.Descriptor instead. +func (*SLTableTypeList) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{13} } -func (x *SLAFGetMsg) GetRouteMatch() []*SLRouteGetMatch { +func (x *SLTableTypeList) GetTable() []SLTableType { if x != nil { - return x.RouteMatch + return x.Table } return nil } -// FIB programming result of the dependent operation -type SLAFDepFibStatus struct { +// Key for a AF object +type SLAFObjectKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Error code associated with hardware programming - ErrorCode *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrorCode,proto3" json:"ErrorCode,omitempty"` - // Operation ID of the dependent object - OperationID uint64 `protobuf:"varint,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - // Version of the dependent object. A valid version is - // a non-zero positive number. - Version uint64 `protobuf:"varint,3,opt,name=Version,proto3" json:"Version,omitempty"` - // Key of the dependent object. This attribute is oneof to allow for future extension. - // If the parent object is programmed with reference to a path-group, - // the key of dependent path-group is returned here. + // Types that are assignable to Key: // - // Types that are assignable to Entry: - // - // *SLAFDepFibStatus_PathGroupKey - Entry isSLAFDepFibStatus_Entry `protobuf_oneof:"entry"` + // *SLAFObjectKey_IPRoutePrefix + // *SLAFObjectKey_MplsLabel + // *SLAFObjectKey_PathGroupId + Key isSLAFObjectKey_Key `protobuf_oneof:"key"` } -func (x *SLAFDepFibStatus) Reset() { - *x = SLAFDepFibStatus{} +func (x *SLAFObjectKey) Reset() { + *x = SLAFObjectKey{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[11] + mi := &file_sl_af_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SLAFDepFibStatus) String() string { +func (x *SLAFObjectKey) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SLAFDepFibStatus) ProtoMessage() {} +func (*SLAFObjectKey) ProtoMessage() {} -func (x *SLAFDepFibStatus) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[11] +func (x *SLAFObjectKey) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1049,91 +1134,194 @@ func (x *SLAFDepFibStatus) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SLAFDepFibStatus.ProtoReflect.Descriptor instead. -func (*SLAFDepFibStatus) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{11} +// Deprecated: Use SLAFObjectKey.ProtoReflect.Descriptor instead. +func (*SLAFObjectKey) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{14} } -func (x *SLAFDepFibStatus) GetErrorCode() *SLErrorStatus { - if x != nil { - return x.ErrorCode +func (m *SLAFObjectKey) GetKey() isSLAFObjectKey_Key { + if m != nil { + return m.Key } return nil } -func (x *SLAFDepFibStatus) GetOperationID() uint64 { - if x != nil { - return x.OperationID +func (x *SLAFObjectKey) GetIPRoutePrefix() *SLRoutePrefix { + if x, ok := x.GetKey().(*SLAFObjectKey_IPRoutePrefix); ok { + return x.IPRoutePrefix } - return 0 + return nil } -func (x *SLAFDepFibStatus) GetVersion() uint64 { - if x != nil { - return x.Version +func (x *SLAFObjectKey) GetMplsLabel() *SLMplsEntryKey { + if x, ok := x.GetKey().(*SLAFObjectKey_MplsLabel); ok { + return x.MplsLabel } - return 0 + return nil +} + +func (x *SLAFObjectKey) GetPathGroupId() *SLObjectId { + if x, ok := x.GetKey().(*SLAFObjectKey_PathGroupId); ok { + return x.PathGroupId + } + return nil +} + +type isSLAFObjectKey_Key interface { + isSLAFObjectKey_Key() } -func (m *SLAFDepFibStatus) GetEntry() isSLAFDepFibStatus_Entry { +type SLAFObjectKey_IPRoutePrefix struct { + // IP Route Prefix Key + IPRoutePrefix *SLRoutePrefix `protobuf:"bytes,1,opt,name=IPRoutePrefix,proto3,oneof"` +} + +type SLAFObjectKey_MplsLabel struct { + // MPLS Label Object Key + MplsLabel *SLMplsEntryKey `protobuf:"bytes,2,opt,name=MplsLabel,proto3,oneof"` +} + +type SLAFObjectKey_PathGroupId struct { + // Path Group Object Key + PathGroupId *SLObjectId `protobuf:"bytes,3,opt,name=PathGroupId,proto3,oneof"` +} + +func (*SLAFObjectKey_IPRoutePrefix) isSLAFObjectKey_Key() {} + +func (*SLAFObjectKey_MplsLabel) isSLAFObjectKey_Key() {} + +func (*SLAFObjectKey_PathGroupId) isSLAFObjectKey_Key() {} + +// Get objects whose attributes match one of below entries. +// Specify a regular expression for PathGroup name +// or a numerical value for Vxlan VNI +// or a specific IPv4, IPv6, MPLS or PG route key. +type SLAFGetMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Entry: + // + // *SLAFGetMatch_Key + // *SLAFGetMatch_PathGroupRegex + // *SLAFGetMatch_VxlanVniId + Entry isSLAFGetMatch_Entry `protobuf_oneof:"entry"` +} + +func (x *SLAFGetMatch) Reset() { + *x = SLAFGetMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_af_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLAFGetMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLAFGetMatch) ProtoMessage() {} + +func (x *SLAFGetMatch) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLAFGetMatch.ProtoReflect.Descriptor instead. +func (*SLAFGetMatch) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{15} +} + +func (m *SLAFGetMatch) GetEntry() isSLAFGetMatch_Entry { if m != nil { return m.Entry } return nil } -func (x *SLAFDepFibStatus) GetPathGroupKey() *SLPathGroupRefKey { - if x, ok := x.GetEntry().(*SLAFDepFibStatus_PathGroupKey); ok { - return x.PathGroupKey +func (x *SLAFGetMatch) GetKey() *SLAFObjectKey { + if x, ok := x.GetEntry().(*SLAFGetMatch_Key); ok { + return x.Key } return nil } -type isSLAFDepFibStatus_Entry interface { - isSLAFDepFibStatus_Entry() +func (x *SLAFGetMatch) GetPathGroupRegex() string { + if x, ok := x.GetEntry().(*SLAFGetMatch_PathGroupRegex); ok { + return x.PathGroupRegex + } + return "" +} + +func (x *SLAFGetMatch) GetVxlanVniId() uint32 { + if x, ok := x.GetEntry().(*SLAFGetMatch_VxlanVniId); ok { + return x.VxlanVniId + } + return 0 } -type SLAFDepFibStatus_PathGroupKey struct { - // Path group reference key - PathGroupKey *SLPathGroupRefKey `protobuf:"bytes,4,opt,name=PathGroupKey,proto3,oneof"` +type isSLAFGetMatch_Entry interface { + isSLAFGetMatch_Entry() } -func (*SLAFDepFibStatus_PathGroupKey) isSLAFDepFibStatus_Entry() {} +type SLAFGetMatch_Key struct { + // Return objects matching the specified object key (exact match) + Key *SLAFObjectKey `protobuf:"bytes,1,opt,name=Key,proto3,oneof"` +} + +type SLAFGetMatch_PathGroupRegex struct { + // Path Group Name Regex + PathGroupRegex string `protobuf:"bytes,2,opt,name=PathGroupRegex,proto3,oneof"` +} + +type SLAFGetMatch_VxlanVniId struct { + // Return VxLAN encap IP routes matching VNI ID + VxlanVniId uint32 `protobuf:"varint,3,opt,name=VxlanVniId,proto3,oneof"` +} -// FIB programming result of an object -type SLAFFibStatus struct { +func (*SLAFGetMatch_Key) isSLAFGetMatch_Entry() {} + +func (*SLAFGetMatch_PathGroupRegex) isSLAFGetMatch_Entry() {} + +func (*SLAFGetMatch_VxlanVniId) isSLAFGetMatch_Entry() {} + +// List of match criteria to return objects that match either of the criteria +// specified. +type SLAFGetMatchList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Version generated by the device for this operation. A valid version is - // a non-zero positive number - Version uint64 `protobuf:"varint,1,opt,name=Version,proto3" json:"Version,omitempty"` - // DepResult is the result of any object that this operation's object depends on. - // For example: if this operation is about programming an IPv4 or IPv6 - // route that is pointing to a Path Group, then the DepResult that will carry - // the FIB result of the operation that programmed that Path Group. - // Note, DepResult is returned on ADD and UPDATE operations only. - DepResult *SLAFDepFibStatus `protobuf:"bytes,2,opt,name=DepResult,proto3" json:"DepResult,omitempty"` + // Match criteria to check objects to return + Match []*SLAFGetMatch `protobuf:"bytes,1,rep,name=Match,proto3" json:"Match,omitempty"` } -func (x *SLAFFibStatus) Reset() { - *x = SLAFFibStatus{} +func (x *SLAFGetMatchList) Reset() { + *x = SLAFGetMatchList{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[12] + mi := &file_sl_af_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SLAFFibStatus) String() string { +func (x *SLAFGetMatchList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SLAFFibStatus) ProtoMessage() {} +func (*SLAFGetMatchList) ProtoMessage() {} -func (x *SLAFFibStatus) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[12] +func (x *SLAFGetMatchList) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1144,25 +1332,168 @@ func (x *SLAFFibStatus) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SLAFFibStatus.ProtoReflect.Descriptor instead. -func (*SLAFFibStatus) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{12} +// Deprecated: Use SLAFGetMatchList.ProtoReflect.Descriptor instead. +func (*SLAFGetMatchList) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{16} +} + +func (x *SLAFGetMatchList) GetMatch() []*SLAFGetMatch { + if x != nil { + return x.Match + } + return nil +} + +// Used to retrieve objects in a VRF table. This RPC +// can only be used to get objects programmed by this service. +type SLAFGetMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // VRF name. If VRF name is specified, the specified VRF + // is a candidate for object search. + // If VRF name is not specified or is nil, + // all VRFs are candidates for object search. + VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + // Search objects produced by either all clients or clients + // specified in the ClientIDList. If not specified, + // objects of the current client are searched. + // + // Types that are assignable to Client: + // + // *SLAFGetMsg_ClientIDList + // *SLAFGetMsg_AllClients + Client isSLAFGetMsg_Client `protobuf_oneof:"client"` + // If match is not specified, all objects of the searched + // VRFs and Client IDs are returned. + // + // Types that are assignable to Match: + // + // *SLAFGetMsg_TableList + // *SLAFGetMsg_RouteMatchList + Match isSLAFGetMsg_Match `protobuf_oneof:"match"` +} + +func (x *SLAFGetMsg) Reset() { + *x = SLAFGetMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_af_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLAFGetMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLAFGetMsg) ProtoMessage() {} + +func (x *SLAFGetMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_af_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLAFGetMsg.ProtoReflect.Descriptor instead. +func (*SLAFGetMsg) Descriptor() ([]byte, []int) { + return file_sl_af_proto_rawDescGZIP(), []int{17} +} + +func (x *SLAFGetMsg) GetVrfName() string { + if x != nil { + return x.VrfName + } + return "" +} + +func (m *SLAFGetMsg) GetClient() isSLAFGetMsg_Client { + if m != nil { + return m.Client + } + return nil +} + +func (x *SLAFGetMsg) GetClientIDList() *SLAFClientIDList { + if x, ok := x.GetClient().(*SLAFGetMsg_ClientIDList); ok { + return x.ClientIDList + } + return nil +} + +func (x *SLAFGetMsg) GetAllClients() bool { + if x, ok := x.GetClient().(*SLAFGetMsg_AllClients); ok { + return x.AllClients + } + return false +} + +func (m *SLAFGetMsg) GetMatch() isSLAFGetMsg_Match { + if m != nil { + return m.Match + } + return nil +} + +func (x *SLAFGetMsg) GetTableList() *SLTableTypeList { + if x, ok := x.GetMatch().(*SLAFGetMsg_TableList); ok { + return x.TableList + } + return nil +} + +func (x *SLAFGetMsg) GetRouteMatchList() *SLAFGetMatchList { + if x, ok := x.GetMatch().(*SLAFGetMsg_RouteMatchList); ok { + return x.RouteMatchList + } + return nil +} + +type isSLAFGetMsg_Client interface { + isSLAFGetMsg_Client() +} + +type SLAFGetMsg_ClientIDList struct { + // Search objects programmed by clients in the Client ID List + // Maximum number of entries allowed in the list is 32. All client ids + // specified after the maximum are discarded. + ClientIDList *SLAFClientIDList `protobuf:"bytes,2,opt,name=ClientIDList,proto3,oneof"` } -func (x *SLAFFibStatus) GetVersion() uint64 { - if x != nil { - return x.Version - } - return 0 +type SLAFGetMsg_AllClients struct { + // Search objects programmed by all clients + AllClients bool `protobuf:"varint,3,opt,name=AllClients,proto3,oneof"` } -func (x *SLAFFibStatus) GetDepResult() *SLAFDepFibStatus { - if x != nil { - return x.DepResult - } - return nil +func (*SLAFGetMsg_ClientIDList) isSLAFGetMsg_Client() {} + +func (*SLAFGetMsg_AllClients) isSLAFGetMsg_Client() {} + +type isSLAFGetMsg_Match interface { + isSLAFGetMsg_Match() +} + +type SLAFGetMsg_TableList struct { + // Return only objects of specified table types. + TableList *SLTableTypeList `protobuf:"bytes,4,opt,name=TableList,proto3,oneof"` +} + +type SLAFGetMsg_RouteMatchList struct { + // Return objects that match the specified match criteria. + RouteMatchList *SLAFGetMatchList `protobuf:"bytes,5,opt,name=RouteMatchList,proto3,oneof"` } +func (*SLAFGetMsg_TableList) isSLAFGetMsg_Match() {} + +func (*SLAFGetMsg_RouteMatchList) isSLAFGetMsg_Match() {} + // Object and its programming status returned on Get type SLAFGetMsgRspEntry struct { state protoimpl.MessageState @@ -1170,20 +1501,17 @@ type SLAFGetMsgRspEntry struct { unknownFields protoimpl.UnknownFields // Object - AFOp *SLAFOp `protobuf:"bytes,1,opt,name=AFOp,proto3" json:"AFOp,omitempty"` - // If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - // or RIB_FIB_INUSE_ACK then ErrorCode indicates result of hardware programming of the - // operation - ErrorCode *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrorCode,proto3" json:"ErrorCode,omitempty"` + AFOpMsg *SLAFOpMsg `protobuf:"bytes,1,opt,name=AFOpMsg,proto3" json:"AFOpMsg,omitempty"` // If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - // or RIB_FIB_INUSE_ACK then Version is the last version number assigned by the device. - Version uint64 `protobuf:"varint,3,opt,name=Version,proto3" json:"Version,omitempty"` + // or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware + // programming of the operation. + FIBStatus SLAFFibStatus `protobuf:"varint,2,opt,name=FIBStatus,proto3,enum=service_layer.SLAFFibStatus" json:"FIBStatus,omitempty"` } func (x *SLAFGetMsgRspEntry) Reset() { *x = SLAFGetMsgRspEntry{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[13] + mi := &file_sl_af_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1196,7 +1524,7 @@ func (x *SLAFGetMsgRspEntry) String() string { func (*SLAFGetMsgRspEntry) ProtoMessage() {} func (x *SLAFGetMsgRspEntry) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[13] + mi := &file_sl_af_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1209,28 +1537,21 @@ func (x *SLAFGetMsgRspEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFGetMsgRspEntry.ProtoReflect.Descriptor instead. func (*SLAFGetMsgRspEntry) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{13} -} - -func (x *SLAFGetMsgRspEntry) GetAFOp() *SLAFOp { - if x != nil { - return x.AFOp - } - return nil + return file_sl_af_proto_rawDescGZIP(), []int{18} } -func (x *SLAFGetMsgRspEntry) GetErrorCode() *SLErrorStatus { +func (x *SLAFGetMsgRspEntry) GetAFOpMsg() *SLAFOpMsg { if x != nil { - return x.ErrorCode + return x.AFOpMsg } return nil } -func (x *SLAFGetMsgRspEntry) GetVersion() uint64 { +func (x *SLAFGetMsgRspEntry) GetFIBStatus() SLAFFibStatus { if x != nil { - return x.Version + return x.FIBStatus } - return 0 + return SLAFFibStatus_SL_FIB_UNKNOWN } // Get AF message response. The objects can be returned in @@ -1258,7 +1579,7 @@ type SLAFGetMsgRsp struct { func (x *SLAFGetMsgRsp) Reset() { *x = SLAFGetMsgRsp{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[14] + mi := &file_sl_af_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1271,7 +1592,7 @@ func (x *SLAFGetMsgRsp) String() string { func (*SLAFGetMsgRsp) ProtoMessage() {} func (x *SLAFGetMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[14] + mi := &file_sl_af_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1284,7 +1605,7 @@ func (x *SLAFGetMsgRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFGetMsgRsp.ProtoReflect.Descriptor instead. func (*SLAFGetMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{14} + return file_sl_af_proto_rawDescGZIP(), []int{19} } func (x *SLAFGetMsgRsp) GetErrStatus() *SLErrorStatus { @@ -1334,13 +1655,13 @@ type SLAFMsg struct { // VRF name. VRF name is ignored for MPLS ILM operations VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // List of operations - OpList []*SLAFOp `protobuf:"bytes,3,rep,name=OpList,proto3" json:"OpList,omitempty"` + OpList []*SLAFOpMsg `protobuf:"bytes,3,rep,name=OpList,proto3" json:"OpList,omitempty"` } func (x *SLAFMsg) Reset() { *x = SLAFMsg{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[15] + mi := &file_sl_af_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1353,7 +1674,7 @@ func (x *SLAFMsg) String() string { func (*SLAFMsg) ProtoMessage() {} func (x *SLAFMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[15] + mi := &file_sl_af_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1366,7 +1687,7 @@ func (x *SLAFMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFMsg.ProtoReflect.Descriptor instead. func (*SLAFMsg) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{15} + return file_sl_af_proto_rawDescGZIP(), []int{20} } func (x *SLAFMsg) GetOper() SLObjectOp { @@ -1383,7 +1704,7 @@ func (x *SLAFMsg) GetVrfName() string { return "" } -func (x *SLAFMsg) GetOpList() []*SLAFOp { +func (x *SLAFMsg) GetOpList() []*SLAFOpMsg { if x != nil { return x.OpList } @@ -1396,23 +1717,32 @@ type SLAFRes struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // The operation, expected to carry only the part that is considered - // the key to uniquely identify the object that is programmed - Operation *SLAFOp `protobuf:"bytes,2,opt,name=Operation,proto3" json:"Operation,omitempty"` - // Descriptive string describing error if any, on the hardware programming - ErrorString string `protobuf:"bytes,3,opt,name=ErrorString,proto3" json:"ErrorString,omitempty"` + // Status of Operation. + // Status == SL_SUCCESS implies that the object is programmed in RIB. + // Any other value implies some failure. + Status *SLErrorStatus `protobuf:"bytes,1,opt,name=Status,proto3" json:"Status,omitempty"` + // Object key + Key *SLAFObjectKey `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + // Unique operationID sent by the client to corelate the responses. + // The responses from network element can be out of order, and client can + // use operation ID to correlate the response for the operation on the + // object. + // Operation Id should be monotonically increasing for the lifetime of the + // client. + OperationID uint64 `protobuf:"varint,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` // If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - // or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware programming of the - // operation - FIBStatus *SLAFFibStatus `protobuf:"bytes,4,opt,name=FIBStatus,proto3" json:"FIBStatus,omitempty"` + // or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware + // programming of the operation. + FIBStatus SLAFFibStatus `protobuf:"varint,4,opt,name=FIBStatus,proto3,enum=service_layer.SLAFFibStatus" json:"FIBStatus,omitempty"` + // In case Status or FIBStatus indicates failure, the ErrorString MAY + // provide more descriptive context about the failure. + ErrorString string `protobuf:"bytes,5,opt,name=ErrorString,proto3" json:"ErrorString,omitempty"` } func (x *SLAFRes) Reset() { *x = SLAFRes{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[16] + mi := &file_sl_af_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1425,7 +1755,7 @@ func (x *SLAFRes) String() string { func (*SLAFRes) ProtoMessage() {} func (x *SLAFRes) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[16] + mi := &file_sl_af_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1438,35 +1768,42 @@ func (x *SLAFRes) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFRes.ProtoReflect.Descriptor instead. func (*SLAFRes) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{16} + return file_sl_af_proto_rawDescGZIP(), []int{21} } -func (x *SLAFRes) GetErrStatus() *SLErrorStatus { +func (x *SLAFRes) GetStatus() *SLErrorStatus { if x != nil { - return x.ErrStatus + return x.Status } return nil } -func (x *SLAFRes) GetOperation() *SLAFOp { +func (x *SLAFRes) GetKey() *SLAFObjectKey { if x != nil { - return x.Operation + return x.Key } return nil } -func (x *SLAFRes) GetErrorString() string { +func (x *SLAFRes) GetOperationID() uint64 { if x != nil { - return x.ErrorString + return x.OperationID } - return "" + return 0 } -func (x *SLAFRes) GetFIBStatus() *SLAFFibStatus { +func (x *SLAFRes) GetFIBStatus() SLAFFibStatus { if x != nil { return x.FIBStatus } - return nil + return SLAFFibStatus_SL_FIB_UNKNOWN +} + +func (x *SLAFRes) GetErrorString() string { + if x != nil { + return x.ErrorString + } + return "" } // Route operations result status @@ -1485,7 +1822,7 @@ type SLAFMsgRsp struct { func (x *SLAFMsgRsp) Reset() { *x = SLAFMsgRsp{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[17] + mi := &file_sl_af_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1498,7 +1835,7 @@ func (x *SLAFMsgRsp) String() string { func (*SLAFMsgRsp) ProtoMessage() {} func (x *SLAFMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[17] + mi := &file_sl_af_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1511,7 +1848,7 @@ func (x *SLAFMsgRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFMsgRsp.ProtoReflect.Descriptor instead. func (*SLAFMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{17} + return file_sl_af_proto_rawDescGZIP(), []int{22} } func (x *SLAFMsgRsp) GetVrfName() string { @@ -1552,7 +1889,7 @@ type SLAFRedistRegMsg struct { func (x *SLAFRedistRegMsg) Reset() { *x = SLAFRedistRegMsg{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[18] + mi := &file_sl_af_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1565,7 +1902,7 @@ func (x *SLAFRedistRegMsg) String() string { func (*SLAFRedistRegMsg) ProtoMessage() {} func (x *SLAFRedistRegMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[18] + mi := &file_sl_af_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1578,7 +1915,7 @@ func (x *SLAFRedistRegMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFRedistRegMsg.ProtoReflect.Descriptor instead. func (*SLAFRedistRegMsg) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{18} + return file_sl_af_proto_rawDescGZIP(), []int{23} } func (x *SLAFRedistRegMsg) GetSrcProto() string { @@ -1619,7 +1956,7 @@ type SLAFNextHopRegKey struct { func (x *SLAFNextHopRegKey) Reset() { *x = SLAFNextHopRegKey{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[19] + mi := &file_sl_af_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1632,7 +1969,7 @@ func (x *SLAFNextHopRegKey) String() string { func (*SLAFNextHopRegKey) ProtoMessage() {} func (x *SLAFNextHopRegKey) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[19] + mi := &file_sl_af_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1645,7 +1982,7 @@ func (x *SLAFNextHopRegKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNextHopRegKey.ProtoReflect.Descriptor instead. func (*SLAFNextHopRegKey) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{19} + return file_sl_af_proto_rawDescGZIP(), []int{24} } func (m *SLAFNextHopRegKey) GetNexthopkey() isSLAFNextHopRegKey_Nexthopkey { @@ -1686,7 +2023,7 @@ type SLAFNextHopRegMsg struct { func (x *SLAFNextHopRegMsg) Reset() { *x = SLAFNextHopRegMsg{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[20] + mi := &file_sl_af_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1699,7 +2036,7 @@ func (x *SLAFNextHopRegMsg) String() string { func (*SLAFNextHopRegMsg) ProtoMessage() {} func (x *SLAFNextHopRegMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[20] + mi := &file_sl_af_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1712,7 +2049,7 @@ func (x *SLAFNextHopRegMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNextHopRegMsg.ProtoReflect.Descriptor instead. func (*SLAFNextHopRegMsg) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{20} + return file_sl_af_proto_rawDescGZIP(), []int{25} } func (x *SLAFNextHopRegMsg) GetNextHopKey() *SLAFNextHopRegKey { @@ -1747,7 +2084,7 @@ type SLAFNotifRegReq struct { func (x *SLAFNotifRegReq) Reset() { *x = SLAFNotifRegReq{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[21] + mi := &file_sl_af_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1760,7 +2097,7 @@ func (x *SLAFNotifRegReq) String() string { func (*SLAFNotifRegReq) ProtoMessage() {} func (x *SLAFNotifRegReq) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[21] + mi := &file_sl_af_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1773,7 +2110,7 @@ func (x *SLAFNotifRegReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotifRegReq.ProtoReflect.Descriptor instead. func (*SLAFNotifRegReq) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{21} + return file_sl_af_proto_rawDescGZIP(), []int{26} } func (m *SLAFNotifRegReq) GetRequest() isSLAFNotifRegReq_Request { @@ -1859,7 +2196,7 @@ type SLAFNotifReq struct { func (x *SLAFNotifReq) Reset() { *x = SLAFNotifReq{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[22] + mi := &file_sl_af_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1872,7 +2209,7 @@ func (x *SLAFNotifReq) String() string { func (*SLAFNotifReq) ProtoMessage() {} func (x *SLAFNotifReq) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[22] + mi := &file_sl_af_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1885,7 +2222,7 @@ func (x *SLAFNotifReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotifReq.ProtoReflect.Descriptor instead. func (*SLAFNotifReq) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{22} + return file_sl_af_proto_rawDescGZIP(), []int{27} } func (x *SLAFNotifReq) GetOper() SLNotifOp { @@ -1926,7 +2263,7 @@ type SLAFNotifRsp struct { func (x *SLAFNotifRsp) Reset() { *x = SLAFNotifRsp{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[23] + mi := &file_sl_af_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1939,7 +2276,7 @@ func (x *SLAFNotifRsp) String() string { func (*SLAFNotifRsp) ProtoMessage() {} func (x *SLAFNotifRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[23] + mi := &file_sl_af_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1952,7 +2289,7 @@ func (x *SLAFNotifRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotifRsp.ProtoReflect.Descriptor instead. func (*SLAFNotifRsp) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{23} + return file_sl_af_proto_rawDescGZIP(), []int{28} } func (x *SLAFNotifRsp) GetNotifReq() *SLAFNotifRegReq { @@ -1970,9 +2307,9 @@ func (x *SLAFNotifRsp) GetNotifStatus() *SLErrorStatus { } // Next hop Notification. -// If there are no viable paths to the next hop, ResolvingRoute, -// ResolvingRouteLen, SrcProto are not set, AdminDistance/Metric are set to -// UINT32_MAX. +// If there are no viable paths to the next hop, then: +// 1. ResolvingPrefix, SrcProto are not set, and +// 2. AdminDistance and Metric are set to UINT32_MAX. type SLNextHop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1981,35 +2318,34 @@ type SLNextHop struct { // Next hop registration key NextHopKey *SLAFNextHopRegKey `protobuf:"bytes,1,opt,name=NextHopKey,proto3" json:"NextHopKey,omitempty"` // Prefix of the route resolving the nexthop - ResolvingRoute *SLIpAddress `protobuf:"bytes,2,opt,name=ResolvingRoute,proto3" json:"ResolvingRoute,omitempty"` - // Resolving route's prefix length - ResolvingRouteLen uint32 `protobuf:"varint,3,opt,name=ResolvingRouteLen,proto3" json:"ResolvingRouteLen,omitempty"` + ResolvingPrefix *SLRoutePrefix `protobuf:"bytes,2,opt,name=ResolvingPrefix,proto3" json:"ResolvingPrefix,omitempty"` // Source Protocol. // Contact Cisco for supported protocol string names. - SrcProto string `protobuf:"bytes,4,opt,name=SrcProto,proto3" json:"SrcProto,omitempty"` + SrcProto string `protobuf:"bytes,3,opt,name=SrcProto,proto3" json:"SrcProto,omitempty"` // Source Protocol Tag. This can be empty if N/A. // Contact Cisco for supported protocol tags. // This field is optional. - SrcProtoTag string `protobuf:"bytes,5,opt,name=SrcProtoTag,proto3" json:"SrcProtoTag,omitempty"` + SrcProtoTag string `protobuf:"bytes,4,opt,name=SrcProtoTag,proto3" json:"SrcProtoTag,omitempty"` // Nexthop route distance - AdminDistance uint32 `protobuf:"varint,6,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` + AdminDistance uint32 `protobuf:"varint,5,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` // Nexthop route metric - Metric uint32 `protobuf:"varint,7,opt,name=Metric,proto3" json:"Metric,omitempty"` + Metric uint32 `protobuf:"varint,6,opt,name=Metric,proto3" json:"Metric,omitempty"` // Nexthop's path list. Paths indicate paths available // for the next hop. In case of recursive next hop resolution, // the returned path list consists of flattened directly connected // paths. - // Returned attributes in Path are NexthopAddress, NexthopInterface, VrfName. + // Returned attributes in Path are NexthopAddress, NexthopInterface, + // VrfName. // // If this field is not present, // then no viable path to the next hop exist. - Paths []*SLRoutePath `protobuf:"bytes,8,rep,name=Paths,proto3" json:"Paths,omitempty"` + Paths []*SLRoutePath `protobuf:"bytes,7,rep,name=Paths,proto3" json:"Paths,omitempty"` } func (x *SLNextHop) Reset() { *x = SLNextHop{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[24] + mi := &file_sl_af_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2022,7 +2358,7 @@ func (x *SLNextHop) String() string { func (*SLNextHop) ProtoMessage() {} func (x *SLNextHop) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[24] + mi := &file_sl_af_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2035,7 +2371,7 @@ func (x *SLNextHop) ProtoReflect() protoreflect.Message { // Deprecated: Use SLNextHop.ProtoReflect.Descriptor instead. func (*SLNextHop) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{24} + return file_sl_af_proto_rawDescGZIP(), []int{29} } func (x *SLNextHop) GetNextHopKey() *SLAFNextHopRegKey { @@ -2045,20 +2381,13 @@ func (x *SLNextHop) GetNextHopKey() *SLAFNextHopRegKey { return nil } -func (x *SLNextHop) GetResolvingRoute() *SLIpAddress { +func (x *SLNextHop) GetResolvingPrefix() *SLRoutePrefix { if x != nil { - return x.ResolvingRoute + return x.ResolvingPrefix } return nil } -func (x *SLNextHop) GetResolvingRouteLen() uint32 { - if x != nil { - return x.ResolvingRouteLen - } - return 0 -} - func (x *SLNextHop) GetSrcProto() string { if x != nil { return x.SrcProto @@ -2113,7 +2442,7 @@ type SLAFNotif struct { func (x *SLAFNotif) Reset() { *x = SLAFNotif{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[25] + mi := &file_sl_af_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2126,7 +2455,7 @@ func (x *SLAFNotif) String() string { func (*SLAFNotif) ProtoMessage() {} func (x *SLAFNotif) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[25] + mi := &file_sl_af_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2139,7 +2468,7 @@ func (x *SLAFNotif) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotif.ProtoReflect.Descriptor instead. func (*SLAFNotif) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{25} + return file_sl_af_proto_rawDescGZIP(), []int{30} } func (m *SLAFNotif) GetEvent() isSLAFNotif_Event { @@ -2197,10 +2526,10 @@ type SLAFNotif_StartMarker struct { // This field carries the start marker per VRF per Tabletype. // Server sends this event before any notifications are sent under // following conditions: - // - If there are no previous redistribution registrations for the VRF and - // table type, and new redistribution requests are registered, then - // when the first route matching any of the redistribution registrations - // is available. + // - If there are no previous redistribution registrations for the + // VRF and table type, and new redistribution requests are registered, + // then when the first route matching any of the redistribution + // registrations is available. // - On a RIB restart if there are previous redistribution registrations // on the VRF and table type. // @@ -2232,8 +2561,8 @@ type SLAFNotif_RedistObject struct { // for forwarding. If the route is deleted, or no paths are available // for forwarding, the PathList is not returned. // If the route is programmed with PathGroupRefKey, the redistributed - // route contains PathGroupRefKey. If the route is deleted, or the path group - // is unviable, the PathGroupRefKey is not returned. + // route contains PathGroupRefKey. If the route is deleted, or the + // path group is unviable, the PathGroupRefKey is not returned. RedistObject *SLAFObject `protobuf:"bytes,4,opt,name=RedistObject,proto3,oneof"` } @@ -2267,7 +2596,7 @@ type SLAFNotifMsg struct { func (x *SLAFNotifMsg) Reset() { *x = SLAFNotifMsg{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[26] + mi := &file_sl_af_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2280,7 +2609,7 @@ func (x *SLAFNotifMsg) String() string { func (*SLAFNotifMsg) ProtoMessage() {} func (x *SLAFNotifMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[26] + mi := &file_sl_af_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2293,7 +2622,7 @@ func (x *SLAFNotifMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotifMsg.ProtoReflect.Descriptor instead. func (*SLAFNotifMsg) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{26} + return file_sl_af_proto_rawDescGZIP(), []int{31} } func (x *SLAFNotifMsg) GetVrfName() string { @@ -2322,7 +2651,7 @@ type SLPathGroup_SLPath struct { func (x *SLPathGroup_SLPath) Reset() { *x = SLPathGroup_SLPath{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[27] + mi := &file_sl_af_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2335,7 +2664,7 @@ func (x *SLPathGroup_SLPath) String() string { func (*SLPathGroup_SLPath) ProtoMessage() {} func (x *SLPathGroup_SLPath) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[27] + mi := &file_sl_af_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2370,7 +2699,7 @@ type SLPathGroup_SLPathList struct { func (x *SLPathGroup_SLPathList) Reset() { *x = SLPathGroup_SLPathList{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[28] + mi := &file_sl_af_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2383,7 +2712,7 @@ func (x *SLPathGroup_SLPathList) String() string { func (*SLPathGroup_SLPathList) ProtoMessage() {} func (x *SLPathGroup_SLPathList) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[28] + mi := &file_sl_af_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2412,25 +2741,23 @@ type SLAFNextHopRegKey_SLNextHopKey struct { unknownFields protoimpl.UnknownFields // Next Hop IP to resolve - NextHop *SLIpAddress `protobuf:"bytes,1,opt,name=NextHop,proto3" json:"NextHop,omitempty"` - // Length of Next Hop IP address to use for resolution - NextHopLen uint32 `protobuf:"varint,2,opt,name=NextHopLen,proto3" json:"NextHopLen,omitempty"` + NextHopIP *SLRoutePrefix `protobuf:"bytes,1,opt,name=NextHopIP,proto3" json:"NextHopIP,omitempty"` // Chose exact vs. best match - ExactMatch bool `protobuf:"varint,3,opt,name=ExactMatch,proto3" json:"ExactMatch,omitempty"` + ExactMatch bool `protobuf:"varint,2,opt,name=ExactMatch,proto3" json:"ExactMatch,omitempty"` // Allow default route to be returned - AllowDefault bool `protobuf:"varint,4,opt,name=AllowDefault,proto3" json:"AllowDefault,omitempty"` + AllowDefault bool `protobuf:"varint,3,opt,name=AllowDefault,proto3" json:"AllowDefault,omitempty"` // If this flag is not set or set to False, only the immediate // viable path list is returned. If set to True, recursively resolve // the next hop's paths and return the flattened path list. // If the list exceeds MaxPathsInNexthopNotif, then only the // first MaxPathsInNexthopNotif will be returned. - Recurse bool `protobuf:"varint,5,opt,name=Recurse,proto3" json:"Recurse,omitempty"` + Recurse bool `protobuf:"varint,4,opt,name=Recurse,proto3" json:"Recurse,omitempty"` } func (x *SLAFNextHopRegKey_SLNextHopKey) Reset() { *x = SLAFNextHopRegKey_SLNextHopKey{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[29] + mi := &file_sl_af_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2443,7 +2770,7 @@ func (x *SLAFNextHopRegKey_SLNextHopKey) String() string { func (*SLAFNextHopRegKey_SLNextHopKey) ProtoMessage() {} func (x *SLAFNextHopRegKey_SLNextHopKey) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[29] + mi := &file_sl_af_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2456,23 +2783,16 @@ func (x *SLAFNextHopRegKey_SLNextHopKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNextHopRegKey_SLNextHopKey.ProtoReflect.Descriptor instead. func (*SLAFNextHopRegKey_SLNextHopKey) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{19, 0} + return file_sl_af_proto_rawDescGZIP(), []int{24, 0} } -func (x *SLAFNextHopRegKey_SLNextHopKey) GetNextHop() *SLIpAddress { +func (x *SLAFNextHopRegKey_SLNextHopKey) GetNextHopIP() *SLRoutePrefix { if x != nil { - return x.NextHop + return x.NextHopIP } return nil } -func (x *SLAFNextHopRegKey_SLNextHopKey) GetNextHopLen() uint32 { - if x != nil { - return x.NextHopLen - } - return 0 -} - func (x *SLAFNextHopRegKey_SLNextHopKey) GetExactMatch() bool { if x != nil { return x.ExactMatch @@ -2507,7 +2827,7 @@ type SLAFNotif_SLRedistMarker struct { func (x *SLAFNotif_SLRedistMarker) Reset() { *x = SLAFNotif_SLRedistMarker{} if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[30] + mi := &file_sl_af_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2520,7 +2840,7 @@ func (x *SLAFNotif_SLRedistMarker) String() string { func (*SLAFNotif_SLRedistMarker) ProtoMessage() {} func (x *SLAFNotif_SLRedistMarker) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[30] + mi := &file_sl_af_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2533,7 +2853,7 @@ func (x *SLAFNotif_SLRedistMarker) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotif_SLRedistMarker.ProtoReflect.Descriptor instead. func (*SLAFNotif_SLRedistMarker) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{25, 0} + return file_sl_af_proto_rawDescGZIP(), []int{30, 0} } func (x *SLAFNotif_SLRedistMarker) GetTable() SLTableType { @@ -2550,365 +2870,393 @@ var file_sl_af_proto_rawDesc = []byte{ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x73, 0x6c, 0x5f, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x13, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x0a, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, - 0x65, 0x67, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x52, 0x06, 0x56, - 0x72, 0x66, 0x52, 0x65, 0x67, 0x22, 0x76, 0x0a, 0x0d, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, - 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, - 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, - 0x67, 0x52, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, 0x22, 0x9a, 0x01, - 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x0a, 0x53, 0x4c, + 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x10, 0x53, - 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, - 0x42, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x2a, - 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x53, - 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, - 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x07, - 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x56, 0x72, + 0x66, 0x52, 0x65, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, + 0x52, 0x65, 0x67, 0x52, 0x06, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x22, 0x76, 0x0a, 0x0d, 0x53, + 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x12, 0x2a, 0x0a, 0x04, + 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x65, 0x67, + 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x56, 0x72, 0x66, 0x52, + 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, + 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x52, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, + 0x73, 0x67, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, + 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, + 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, - 0xd5, 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x3b, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, - 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x50, - 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x1a, 0x38, 0x0a, - 0x06, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, - 0x68, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x45, 0x0a, 0x0a, 0x53, 0x4c, 0x50, 0x61, 0x74, - 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x07, - 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x53, 0x4c, 0x4d, 0x70, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, - 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0x91, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, + 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x56, + 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, + 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, + 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, + 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, - 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, - 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, - 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x81, 0x02, 0x0a, - 0x0a, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x49, - 0x50, 0x76, 0x34, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x52, 0x07, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xf6, 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3b, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, + 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, + 0x07, 0x50, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x48, 0x00, 0x52, 0x09, 0x49, 0x50, 0x76, 0x34, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x49, 0x50, 0x76, 0x36, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x36, 0x48, 0x00, 0x52, 0x09, 0x49, 0x50, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, - 0x3a, 0x0a, 0x09, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, - 0x52, 0x09, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3a, 0x0a, 0x09, 0x50, - 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x07, 0x50, 0x67, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x1a, 0x38, 0x0a, 0x06, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, + 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x45, + 0x0a, 0x0a, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, + 0x50, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, + 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, + 0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x26, + 0x0a, 0x0e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xdf, 0x01, 0x0a, 0x0b, 0x53, 0x4c, 0x4d, 0x70, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x07, 0x4d, 0x70, 0x6c, 0x73, 0x4b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x4d, 0x70, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x12, + 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, + 0x09, 0x4d, 0x70, 0x6c, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x09, 0x4d, + 0x70, 0x6c, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x0b, 0x53, 0x4c, 0x41, + 0x46, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x49, 0x50, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x0d, 0x49, + 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3e, 0x0a, 0x0b, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, + 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x50, 0x61, - 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x22, 0x97, 0x02, 0x0a, 0x06, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, 0x12, 0x35, 0x0a, 0x08, 0x41, - 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x41, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x41, 0x46, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x07, 0x41, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x73, 0x70, 0x41, 0x43, 0x4b, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x07, 0x41, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x41, - 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, - 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x52, 0x73, 0x70, 0x41, 0x43, 0x4b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x0a, - 0x41, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x41, 0x63, - 0x6b, 0x43, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x0a, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x48, 0x00, 0x52, 0x07, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x4d, + 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x52, 0x73, 0x70, 0x41, 0x63, 0x6b, 0x43, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, - 0x41, 0x63, 0x6b, 0x43, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x0a, 0x53, - 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x47, 0x65, - 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xdb, 0x01, 0x0a, 0x10, - 0x53, 0x4c, 0x41, 0x46, 0x44, 0x65, 0x70, 0x46, 0x69, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x18, - 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x68, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x4d, 0x70, + 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3a, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x68, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, + 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x9a, 0x02, 0x0a, + 0x09, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, 0x4d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x08, 0x41, 0x46, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, + 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x41, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x07, 0x41, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x73, 0x70, 0x41, 0x43, 0x4b, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x07, 0x41, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x63, + 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x4b, 0x65, 0x79, - 0x48, 0x00, 0x52, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, - 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x68, 0x0a, 0x0d, 0x53, 0x4c, 0x41, - 0x46, 0x46, 0x69, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x44, 0x65, 0x70, 0x46, - 0x69, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x44, 0x65, 0x70, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x52, 0x73, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x41, 0x46, - 0x4f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, 0x52, - 0x04, 0x41, 0x46, 0x4f, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x0d, - 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, - 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, - 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, - 0x39, 0x0a, 0x06, 0x41, 0x46, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x41, 0x46, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x07, 0x53, - 0x4c, 0x41, 0x46, 0x4d, 0x73, 0x67, 0x12, 0x2d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, - 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x2d, 0x0a, 0x06, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, 0x52, 0x06, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xd8, - 0x01, 0x0a, 0x07, 0x53, 0x4c, 0x41, 0x46, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x4c, 0x52, 0x73, 0x70, 0x41, 0x43, 0x4b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x41, + 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x41, 0x63, 0x6b, + 0x43, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, - 0x52, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x0a, - 0x09, 0x46, 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x46, 0x69, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, - 0x46, 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x58, 0x0a, 0x0a, 0x53, 0x4c, 0x41, - 0x46, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x30, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x46, 0x52, 0x65, 0x64, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x72, 0x63, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x72, 0x63, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x11, 0x53, 0x4c, 0x41, - 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x49, - 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4b, 0x65, - 0x79, 0x2e, 0x53, 0x4c, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x48, 0x00, - 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x1a, 0xc2, 0x01, 0x0a, 0x0c, 0x53, 0x4c, - 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x4e, 0x65, - 0x78, 0x74, 0x48, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4c, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4c, 0x65, 0x6e, - 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x42, 0x0c, - 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x6b, 0x65, 0x79, 0x22, 0x55, 0x0a, 0x11, - 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4d, 0x73, - 0x67, 0x12, 0x40, 0x0a, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, - 0x70, 0x52, 0x65, 0x67, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x4b, 0x65, 0x79, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x52, 0x65, 0x67, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x09, 0x52, 0x65, 0x64, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x52, - 0x65, 0x64, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x09, 0x52, - 0x65, 0x64, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x42, 0x0a, 0x0a, 0x4e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, + 0x52, 0x73, 0x70, 0x41, 0x63, 0x6b, 0x43, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x41, + 0x63, 0x6b, 0x43, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x36, 0x0a, 0x10, 0x53, 0x4c, 0x41, + 0x46, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, + 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x43, 0x0a, 0x0f, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x41, 0x46, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x0d, 0x49, 0x50, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x48, 0x00, 0x52, + 0x0d, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3d, + 0x0a, 0x09, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4b, 0x65, 0x79, + 0x48, 0x00, 0x52, 0x09, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3d, 0x0a, + 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x48, 0x00, 0x52, + 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x22, 0x95, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x48, + 0x00, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x67, 0x65, 0x78, + 0x12, 0x20, 0x0a, 0x0a, 0x56, 0x78, 0x6c, 0x61, 0x6e, 0x56, 0x6e, 0x69, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x56, 0x78, 0x6c, 0x61, 0x6e, 0x56, 0x6e, 0x69, + 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x45, 0x0a, 0x10, 0x53, + 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x31, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, + 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x22, 0xad, 0x02, 0x0a, 0x0a, 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4c, 0x69, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x41, 0x6c, 0x6c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x41, 0x6c, 0x6c, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x01, 0x52, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, - 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x48, 0x00, - 0x52, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x42, 0x09, - 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x0c, 0x53, 0x4c, - 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x04, 0x4f, 0x70, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, - 0x67, 0x52, 0x65, 0x71, 0x52, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x22, 0x8a, - 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x73, 0x70, 0x12, - 0x3a, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x67, 0x52, 0x65, - 0x71, 0x52, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x12, 0x3e, 0x0a, 0x0b, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x46, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x01, 0x52, + 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x08, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x52, 0x73, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x07, 0x41, 0x46, 0x4f, + 0x70, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4f, + 0x70, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x41, 0x46, 0x4f, 0x70, 0x4d, 0x73, 0x67, 0x12, 0x3a, 0x0a, + 0x09, 0x46, 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xed, 0x02, 0x0a, 0x09, - 0x53, 0x4c, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x40, 0x0a, 0x0a, 0x4e, 0x65, 0x78, - 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4b, 0x65, 0x79, 0x52, - 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x0e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, - 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x72, 0x63, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x30, 0x0a, 0x05, 0x50, 0x61, 0x74, - 0x68, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0xa6, 0x03, 0x0a, 0x09, - 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x3f, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x46, 0x69, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, + 0x46, 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x0d, 0x53, 0x4c, + 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x73, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4b, 0x0a, 0x0b, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x53, 0x4c, 0x52, 0x65, 0x64, 0x69, - 0x73, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x09, 0x45, 0x6e, 0x64, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x53, 0x4c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x72, - 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x45, 0x6e, 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, - 0x12, 0x3f, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x34, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x07, - 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x1a, 0x42, 0x0a, 0x0e, 0x53, 0x4c, 0x52, 0x65, 0x64, - 0x69, 0x73, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0x5e, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, - 0x0a, 0x08, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x08, 0x41, 0x46, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x73, 0x32, 0xc8, 0x03, 0x0a, 0x04, 0x53, 0x4c, 0x41, 0x46, 0x12, 0x4d, 0x0a, - 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x1c, 0x2e, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x39, 0x0a, + 0x06, 0x41, 0x46, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x1f, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, - 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x0d, - 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x12, 0x1f, 0x2e, + 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x41, 0x46, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x07, 0x53, 0x4c, 0x41, + 0x46, 0x4d, 0x73, 0x67, 0x12, 0x2d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, 0x04, 0x4f, + 0x70, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, + 0x06, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x22, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, - 0x73, 0x70, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x06, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, 0x12, 0x16, + 0x41, 0x46, 0x4f, 0x70, 0x4d, 0x73, 0x67, 0x52, 0x06, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0xef, 0x01, 0x0a, 0x07, 0x53, 0x4c, 0x41, 0x46, 0x52, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x41, 0x46, 0x4d, 0x73, 0x67, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4d, 0x73, 0x67, 0x52, 0x73, - 0x70, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4d, 0x73, 0x67, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4d, 0x73, - 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x44, 0x0a, 0x07, 0x53, 0x4c, 0x41, 0x46, - 0x47, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1c, + 0x4c, 0x41, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, + 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x12, 0x3a, 0x0a, 0x09, 0x46, 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x46, 0x69, 0x62, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x46, 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x22, 0x58, 0x0a, 0x0a, 0x53, 0x4c, 0x41, 0x46, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x52, + 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x10, + 0x53, 0x4c, 0x41, 0x46, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, + 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x12, 0x30, + 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0x97, 0x02, 0x0a, 0x11, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x52, 0x65, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4b, 0x65, 0x79, 0x2e, 0x53, 0x4c, 0x4e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x1a, 0xa8, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, + 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x50, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x52, 0x09, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x50, 0x12, 0x1e, + 0x0a, 0x0a, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, + 0x0a, 0x0c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, + 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x6b, 0x65, 0x79, 0x22, 0x55, 0x0a, 0x11, 0x53, 0x4c, + 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x12, + 0x40, 0x0a, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, + 0x65, 0x67, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, + 0x79, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, + 0x65, 0x67, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x09, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x52, 0x65, 0x64, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x09, 0x52, 0x65, 0x64, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x42, 0x0a, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x52, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x0a, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x42, 0x09, 0x0a, 0x07, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4f, 0x70, + 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x3a, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x67, 0x52, + 0x65, 0x71, 0x52, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x22, 0x8a, 0x01, 0x0a, + 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, + 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x67, 0x52, 0x65, 0x71, 0x52, + 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x12, 0x3e, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x30, 0x01, 0x12, 0x4f, - 0x0a, 0x0f, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x1a, 0x1b, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc3, 0x02, 0x0a, 0x09, 0x53, 0x4c, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x40, 0x0a, 0x0a, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x4e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x0f, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x52, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, + 0x0b, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x12, + 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x30, 0x0a, + 0x05, 0x50, 0x61, 0x74, 0x68, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, + 0xa6, 0x03, 0x0a, 0x09, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x3f, 0x0a, + 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x73, 0x70, 0x48, + 0x00, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4b, + 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x53, 0x4c, + 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x09, 0x45, + 0x6e, 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x28, 0x01, 0x30, 0x01, 0x42, - 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, - 0x73, 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, - 0x6f, 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x53, 0x4c, 0x52, 0x65, 0x64, 0x69, 0x73, + 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x45, 0x6e, 0x64, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x48, 0x00, 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x1a, 0x42, 0x0a, 0x0e, 0x53, + 0x4c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x30, 0x0a, + 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x07, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x5e, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x08, + 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x32, 0xc8, 0x03, 0x0a, 0x04, 0x53, 0x4c, 0x41, + 0x46, 0x12, 0x4d, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, + 0x70, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, + 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, + 0x12, 0x56, 0x0a, 0x0d, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, + 0x74, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, + 0x73, 0x67, 0x1a, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, + 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x06, 0x53, 0x4c, 0x41, 0x46, + 0x4f, 0x70, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4d, 0x73, 0x67, 0x1a, 0x19, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4d, + 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x4c, 0x41, 0x46, 0x4f, 0x70, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4d, 0x73, 0x67, 0x1a, 0x19, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, + 0x41, 0x46, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x44, 0x0a, 0x07, + 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, + 0x73, 0x67, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, + 0x30, 0x01, 0x12, 0x4f, 0x0a, 0x0f, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, + 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x28, + 0x01, 0x30, 0x01, 0x42, 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x43, 0x69, 0x73, 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2d, 0x6f, 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, + 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2923,7 +3271,7 @@ func file_sl_af_proto_rawDescGZIP() []byte { return file_sl_af_proto_rawDescData } -var file_sl_af_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_sl_af_proto_msgTypes = make([]protoimpl.MessageInfo, 36) var file_sl_af_proto_goTypes = []interface{}{ (*SLAFVrfReg)(nil), // 0: service_layer.SLAFVrfReg (*SLAFVrfRegMsg)(nil), // 1: service_layer.SLAFVrfRegMsg @@ -2932,125 +3280,137 @@ var file_sl_af_proto_goTypes = []interface{}{ (*SLAFVrfRegGetMsg)(nil), // 4: service_layer.SLAFVrfRegGetMsg (*SLAFVrfRegGetMsgRsp)(nil), // 5: service_layer.SLAFVrfRegGetMsgRsp (*SLPathGroup)(nil), // 6: service_layer.SLPathGroup - (*SLMplsEntry)(nil), // 7: service_layer.SLMplsEntry - (*SLAFObject)(nil), // 8: service_layer.SLAFObject - (*SLAFOp)(nil), // 9: service_layer.SLAFOp - (*SLAFGetMsg)(nil), // 10: service_layer.SLAFGetMsg - (*SLAFDepFibStatus)(nil), // 11: service_layer.SLAFDepFibStatus - (*SLAFFibStatus)(nil), // 12: service_layer.SLAFFibStatus - (*SLAFGetMsgRspEntry)(nil), // 13: service_layer.SLAFGetMsgRspEntry - (*SLAFGetMsgRsp)(nil), // 14: service_layer.SLAFGetMsgRsp - (*SLAFMsg)(nil), // 15: service_layer.SLAFMsg - (*SLAFRes)(nil), // 16: service_layer.SLAFRes - (*SLAFMsgRsp)(nil), // 17: service_layer.SLAFMsgRsp - (*SLAFRedistRegMsg)(nil), // 18: service_layer.SLAFRedistRegMsg - (*SLAFNextHopRegKey)(nil), // 19: service_layer.SLAFNextHopRegKey - (*SLAFNextHopRegMsg)(nil), // 20: service_layer.SLAFNextHopRegMsg - (*SLAFNotifRegReq)(nil), // 21: service_layer.SLAFNotifRegReq - (*SLAFNotifReq)(nil), // 22: service_layer.SLAFNotifReq - (*SLAFNotifRsp)(nil), // 23: service_layer.SLAFNotifRsp - (*SLNextHop)(nil), // 24: service_layer.SLNextHop - (*SLAFNotif)(nil), // 25: service_layer.SLAFNotif - (*SLAFNotifMsg)(nil), // 26: service_layer.SLAFNotifMsg - (*SLPathGroup_SLPath)(nil), // 27: service_layer.SLPathGroup.SLPath - (*SLPathGroup_SLPathList)(nil), // 28: service_layer.SLPathGroup.SLPathList - (*SLAFNextHopRegKey_SLNextHopKey)(nil), // 29: service_layer.SLAFNextHopRegKey.SLNextHopKey - (*SLAFNotif_SLRedistMarker)(nil), // 30: service_layer.SLAFNotif.SLRedistMarker - (SLTableType)(0), // 31: service_layer.SLTableType - (*SLVrfReg)(nil), // 32: service_layer.SLVrfReg - (SLRegOp)(0), // 33: service_layer.SLRegOp - (*SLErrorStatus)(nil), // 34: service_layer.SLErrorStatus - (*SLObjectId)(nil), // 35: service_layer.SLObjectId - (*SLRoutePath)(nil), // 36: service_layer.SLRoutePath - (*SLPathGroupRefKey)(nil), // 37: service_layer.SLPathGroupRefKey - (*SLRoutev4)(nil), // 38: service_layer.SLRoutev4 - (*SLRoutev6)(nil), // 39: service_layer.SLRoutev6 - (SLRspACKType)(0), // 40: service_layer.SLRspACKType - (SLRspACKPermit)(0), // 41: service_layer.SLRspACKPermit - (SLRspAckCadence)(0), // 42: service_layer.SLRspAckCadence - (*SLRouteGetMatch)(nil), // 43: service_layer.SLRouteGetMatch - (SLObjectOp)(0), // 44: service_layer.SLObjectOp - (SLNotifOp)(0), // 45: service_layer.SLNotifOp - (*SLIpAddress)(nil), // 46: service_layer.SLIpAddress + (*SLMplsEntryKey)(nil), // 7: service_layer.SLMplsEntryKey + (*SLMplsEntry)(nil), // 8: service_layer.SLMplsEntry + (*SLAFIPRoute)(nil), // 9: service_layer.SLAFIPRoute + (*SLAFObject)(nil), // 10: service_layer.SLAFObject + (*SLAFOpMsg)(nil), // 11: service_layer.SLAFOpMsg + (*SLAFClientIDList)(nil), // 12: service_layer.SLAFClientIDList + (*SLTableTypeList)(nil), // 13: service_layer.SLTableTypeList + (*SLAFObjectKey)(nil), // 14: service_layer.SLAFObjectKey + (*SLAFGetMatch)(nil), // 15: service_layer.SLAFGetMatch + (*SLAFGetMatchList)(nil), // 16: service_layer.SLAFGetMatchList + (*SLAFGetMsg)(nil), // 17: service_layer.SLAFGetMsg + (*SLAFGetMsgRspEntry)(nil), // 18: service_layer.SLAFGetMsgRspEntry + (*SLAFGetMsgRsp)(nil), // 19: service_layer.SLAFGetMsgRsp + (*SLAFMsg)(nil), // 20: service_layer.SLAFMsg + (*SLAFRes)(nil), // 21: service_layer.SLAFRes + (*SLAFMsgRsp)(nil), // 22: service_layer.SLAFMsgRsp + (*SLAFRedistRegMsg)(nil), // 23: service_layer.SLAFRedistRegMsg + (*SLAFNextHopRegKey)(nil), // 24: service_layer.SLAFNextHopRegKey + (*SLAFNextHopRegMsg)(nil), // 25: service_layer.SLAFNextHopRegMsg + (*SLAFNotifRegReq)(nil), // 26: service_layer.SLAFNotifRegReq + (*SLAFNotifReq)(nil), // 27: service_layer.SLAFNotifReq + (*SLAFNotifRsp)(nil), // 28: service_layer.SLAFNotifRsp + (*SLNextHop)(nil), // 29: service_layer.SLNextHop + (*SLAFNotif)(nil), // 30: service_layer.SLAFNotif + (*SLAFNotifMsg)(nil), // 31: service_layer.SLAFNotifMsg + (*SLPathGroup_SLPath)(nil), // 32: service_layer.SLPathGroup.SLPath + (*SLPathGroup_SLPathList)(nil), // 33: service_layer.SLPathGroup.SLPathList + (*SLAFNextHopRegKey_SLNextHopKey)(nil), // 34: service_layer.SLAFNextHopRegKey.SLNextHopKey + (*SLAFNotif_SLRedistMarker)(nil), // 35: service_layer.SLAFNotif.SLRedistMarker + (SLTableType)(0), // 36: service_layer.SLTableType + (*SLVrfReg)(nil), // 37: service_layer.SLVrfReg + (SLRegOp)(0), // 38: service_layer.SLRegOp + (*SLErrorStatus)(nil), // 39: service_layer.SLErrorStatus + (*SLObjectId)(nil), // 40: service_layer.SLObjectId + (SLRouteFlags)(0), // 41: service_layer.SLRouteFlags + (*SLRoutePath)(nil), // 42: service_layer.SLRoutePath + (*SLRoutePrefix)(nil), // 43: service_layer.SLRoutePrefix + (*SLRouteCommon)(nil), // 44: service_layer.SLRouteCommon + (SLRspACKType)(0), // 45: service_layer.SLRspACKType + (SLRspACKPermit)(0), // 46: service_layer.SLRspACKPermit + (SLRspAckCadence)(0), // 47: service_layer.SLRspAckCadence + (SLAFFibStatus)(0), // 48: service_layer.SLAFFibStatus + (SLObjectOp)(0), // 49: service_layer.SLObjectOp + (SLNotifOp)(0), // 50: service_layer.SLNotifOp } var file_sl_af_proto_depIdxs = []int32{ - 31, // 0: service_layer.SLAFVrfReg.Table:type_name -> service_layer.SLTableType - 32, // 1: service_layer.SLAFVrfReg.VrfReg:type_name -> service_layer.SLVrfReg - 33, // 2: service_layer.SLAFVrfRegMsg.Oper:type_name -> service_layer.SLRegOp + 36, // 0: service_layer.SLAFVrfReg.Table:type_name -> service_layer.SLTableType + 37, // 1: service_layer.SLAFVrfReg.VrfReg:type_name -> service_layer.SLVrfReg + 38, // 2: service_layer.SLAFVrfRegMsg.Oper:type_name -> service_layer.SLRegOp 0, // 3: service_layer.SLAFVrfRegMsg.VrfRegMsgs:type_name -> service_layer.SLAFVrfReg - 34, // 4: service_layer.SLAFVrfRegMsgRes.ErrStatus:type_name -> service_layer.SLErrorStatus - 31, // 5: service_layer.SLAFVrfRegMsgRes.Table:type_name -> service_layer.SLTableType - 34, // 6: service_layer.SLAFVrfRegMsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus + 39, // 4: service_layer.SLAFVrfRegMsgRes.ErrStatus:type_name -> service_layer.SLErrorStatus + 36, // 5: service_layer.SLAFVrfRegMsgRes.Table:type_name -> service_layer.SLTableType + 39, // 6: service_layer.SLAFVrfRegMsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus 2, // 7: service_layer.SLAFVrfRegMsgRsp.Results:type_name -> service_layer.SLAFVrfRegMsgRes - 34, // 8: service_layer.SLAFVrfRegGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 31, // 9: service_layer.SLAFVrfRegGetMsgRsp.Table:type_name -> service_layer.SLTableType - 32, // 10: service_layer.SLAFVrfRegGetMsgRsp.Entries:type_name -> service_layer.SLVrfReg - 35, // 11: service_layer.SLPathGroup.PathGroupId:type_name -> service_layer.SLObjectId - 28, // 12: service_layer.SLPathGroup.PathList:type_name -> service_layer.SLPathGroup.SLPathList - 36, // 13: service_layer.SLMplsEntry.PathList:type_name -> service_layer.SLRoutePath - 37, // 14: service_layer.SLMplsEntry.PathGroupKey:type_name -> service_layer.SLPathGroupRefKey - 38, // 15: service_layer.SLAFObject.IPv4Route:type_name -> service_layer.SLRoutev4 - 39, // 16: service_layer.SLAFObject.IPv6Route:type_name -> service_layer.SLRoutev6 - 7, // 17: service_layer.SLAFObject.MplsLabel:type_name -> service_layer.SLMplsEntry - 6, // 18: service_layer.SLAFObject.PathGroup:type_name -> service_layer.SLPathGroup - 8, // 19: service_layer.SLAFOp.AFObject:type_name -> service_layer.SLAFObject - 40, // 20: service_layer.SLAFOp.AckType:type_name -> service_layer.SLRspACKType - 41, // 21: service_layer.SLAFOp.AckPermits:type_name -> service_layer.SLRspACKPermit - 42, // 22: service_layer.SLAFOp.AckCadence:type_name -> service_layer.SLRspAckCadence - 31, // 23: service_layer.SLAFGetMsg.Table:type_name -> service_layer.SLTableType - 43, // 24: service_layer.SLAFGetMsg.RouteMatch:type_name -> service_layer.SLRouteGetMatch - 34, // 25: service_layer.SLAFDepFibStatus.ErrorCode:type_name -> service_layer.SLErrorStatus - 37, // 26: service_layer.SLAFDepFibStatus.PathGroupKey:type_name -> service_layer.SLPathGroupRefKey - 11, // 27: service_layer.SLAFFibStatus.DepResult:type_name -> service_layer.SLAFDepFibStatus - 9, // 28: service_layer.SLAFGetMsgRspEntry.AFOp:type_name -> service_layer.SLAFOp - 34, // 29: service_layer.SLAFGetMsgRspEntry.ErrorCode:type_name -> service_layer.SLErrorStatus - 34, // 30: service_layer.SLAFGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 13, // 31: service_layer.SLAFGetMsgRsp.AFList:type_name -> service_layer.SLAFGetMsgRspEntry - 44, // 32: service_layer.SLAFMsg.Oper:type_name -> service_layer.SLObjectOp - 9, // 33: service_layer.SLAFMsg.OpList:type_name -> service_layer.SLAFOp - 34, // 34: service_layer.SLAFRes.ErrStatus:type_name -> service_layer.SLErrorStatus - 9, // 35: service_layer.SLAFRes.Operation:type_name -> service_layer.SLAFOp - 12, // 36: service_layer.SLAFRes.FIBStatus:type_name -> service_layer.SLAFFibStatus - 16, // 37: service_layer.SLAFMsgRsp.Results:type_name -> service_layer.SLAFRes - 31, // 38: service_layer.SLAFRedistRegMsg.Table:type_name -> service_layer.SLTableType - 29, // 39: service_layer.SLAFNextHopRegKey.NextHop:type_name -> service_layer.SLAFNextHopRegKey.SLNextHopKey - 19, // 40: service_layer.SLAFNextHopRegMsg.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey - 18, // 41: service_layer.SLAFNotifRegReq.RedistReq:type_name -> service_layer.SLAFRedistRegMsg - 20, // 42: service_layer.SLAFNotifRegReq.NextHopReq:type_name -> service_layer.SLAFNextHopRegMsg - 45, // 43: service_layer.SLAFNotifReq.Oper:type_name -> service_layer.SLNotifOp - 21, // 44: service_layer.SLAFNotifReq.NotifReq:type_name -> service_layer.SLAFNotifRegReq - 21, // 45: service_layer.SLAFNotifRsp.NotifReq:type_name -> service_layer.SLAFNotifRegReq - 34, // 46: service_layer.SLAFNotifRsp.NotifStatus:type_name -> service_layer.SLErrorStatus - 19, // 47: service_layer.SLNextHop.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey - 46, // 48: service_layer.SLNextHop.ResolvingRoute:type_name -> service_layer.SLIpAddress - 36, // 49: service_layer.SLNextHop.Paths:type_name -> service_layer.SLRoutePath - 23, // 50: service_layer.SLAFNotif.NotifStatus:type_name -> service_layer.SLAFNotifRsp - 30, // 51: service_layer.SLAFNotif.StartMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker - 30, // 52: service_layer.SLAFNotif.EndMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker - 8, // 53: service_layer.SLAFNotif.RedistObject:type_name -> service_layer.SLAFObject - 24, // 54: service_layer.SLAFNotif.NextHop:type_name -> service_layer.SLNextHop - 25, // 55: service_layer.SLAFNotifMsg.AFNotifs:type_name -> service_layer.SLAFNotif - 36, // 56: service_layer.SLPathGroup.SLPath.Path:type_name -> service_layer.SLRoutePath - 27, // 57: service_layer.SLPathGroup.SLPathList.Paths:type_name -> service_layer.SLPathGroup.SLPath - 46, // 58: service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHop:type_name -> service_layer.SLIpAddress - 31, // 59: service_layer.SLAFNotif.SLRedistMarker.Table:type_name -> service_layer.SLTableType - 1, // 60: service_layer.SLAF.SLAFVrfRegOp:input_type -> service_layer.SLAFVrfRegMsg - 4, // 61: service_layer.SLAF.SLAFVrfRegGet:input_type -> service_layer.SLAFVrfRegGetMsg - 15, // 62: service_layer.SLAF.SLAFOp:input_type -> service_layer.SLAFMsg - 15, // 63: service_layer.SLAF.SLAFOpStream:input_type -> service_layer.SLAFMsg - 10, // 64: service_layer.SLAF.SLAFGet:input_type -> service_layer.SLAFGetMsg - 22, // 65: service_layer.SLAF.SLAFNotifStream:input_type -> service_layer.SLAFNotifReq - 3, // 66: service_layer.SLAF.SLAFVrfRegOp:output_type -> service_layer.SLAFVrfRegMsgRsp - 5, // 67: service_layer.SLAF.SLAFVrfRegGet:output_type -> service_layer.SLAFVrfRegGetMsgRsp - 17, // 68: service_layer.SLAF.SLAFOp:output_type -> service_layer.SLAFMsgRsp - 17, // 69: service_layer.SLAF.SLAFOpStream:output_type -> service_layer.SLAFMsgRsp - 14, // 70: service_layer.SLAF.SLAFGet:output_type -> service_layer.SLAFGetMsgRsp - 26, // 71: service_layer.SLAF.SLAFNotifStream:output_type -> service_layer.SLAFNotifMsg - 66, // [66:72] is the sub-list for method output_type - 60, // [60:66] is the sub-list for method input_type - 60, // [60:60] is the sub-list for extension type_name - 60, // [60:60] is the sub-list for extension extendee - 0, // [0:60] is the sub-list for field type_name + 39, // 8: service_layer.SLAFVrfRegGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 36, // 9: service_layer.SLAFVrfRegGetMsgRsp.Table:type_name -> service_layer.SLTableType + 37, // 10: service_layer.SLAFVrfRegGetMsgRsp.Entries:type_name -> service_layer.SLVrfReg + 40, // 11: service_layer.SLPathGroup.PathGroupId:type_name -> service_layer.SLObjectId + 33, // 12: service_layer.SLPathGroup.PathList:type_name -> service_layer.SLPathGroup.SLPathList + 41, // 13: service_layer.SLPathGroup.PgFlags:type_name -> service_layer.SLRouteFlags + 7, // 14: service_layer.SLMplsEntry.MplsKey:type_name -> service_layer.SLMplsEntryKey + 42, // 15: service_layer.SLMplsEntry.PathList:type_name -> service_layer.SLRoutePath + 41, // 16: service_layer.SLMplsEntry.MplsFlags:type_name -> service_layer.SLRouteFlags + 43, // 17: service_layer.SLAFIPRoute.IPRoutePrefix:type_name -> service_layer.SLRoutePrefix + 44, // 18: service_layer.SLAFIPRoute.RouteCommon:type_name -> service_layer.SLRouteCommon + 42, // 19: service_layer.SLAFIPRoute.PathList:type_name -> service_layer.SLRoutePath + 9, // 20: service_layer.SLAFObject.IPRoute:type_name -> service_layer.SLAFIPRoute + 8, // 21: service_layer.SLAFObject.MplsLabel:type_name -> service_layer.SLMplsEntry + 6, // 22: service_layer.SLAFObject.PathGroup:type_name -> service_layer.SLPathGroup + 10, // 23: service_layer.SLAFOpMsg.AFObject:type_name -> service_layer.SLAFObject + 45, // 24: service_layer.SLAFOpMsg.AckType:type_name -> service_layer.SLRspACKType + 46, // 25: service_layer.SLAFOpMsg.AckPermits:type_name -> service_layer.SLRspACKPermit + 47, // 26: service_layer.SLAFOpMsg.AckCadence:type_name -> service_layer.SLRspAckCadence + 36, // 27: service_layer.SLTableTypeList.Table:type_name -> service_layer.SLTableType + 43, // 28: service_layer.SLAFObjectKey.IPRoutePrefix:type_name -> service_layer.SLRoutePrefix + 7, // 29: service_layer.SLAFObjectKey.MplsLabel:type_name -> service_layer.SLMplsEntryKey + 40, // 30: service_layer.SLAFObjectKey.PathGroupId:type_name -> service_layer.SLObjectId + 14, // 31: service_layer.SLAFGetMatch.Key:type_name -> service_layer.SLAFObjectKey + 15, // 32: service_layer.SLAFGetMatchList.Match:type_name -> service_layer.SLAFGetMatch + 12, // 33: service_layer.SLAFGetMsg.ClientIDList:type_name -> service_layer.SLAFClientIDList + 13, // 34: service_layer.SLAFGetMsg.TableList:type_name -> service_layer.SLTableTypeList + 16, // 35: service_layer.SLAFGetMsg.RouteMatchList:type_name -> service_layer.SLAFGetMatchList + 11, // 36: service_layer.SLAFGetMsgRspEntry.AFOpMsg:type_name -> service_layer.SLAFOpMsg + 48, // 37: service_layer.SLAFGetMsgRspEntry.FIBStatus:type_name -> service_layer.SLAFFibStatus + 39, // 38: service_layer.SLAFGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 18, // 39: service_layer.SLAFGetMsgRsp.AFList:type_name -> service_layer.SLAFGetMsgRspEntry + 49, // 40: service_layer.SLAFMsg.Oper:type_name -> service_layer.SLObjectOp + 11, // 41: service_layer.SLAFMsg.OpList:type_name -> service_layer.SLAFOpMsg + 39, // 42: service_layer.SLAFRes.Status:type_name -> service_layer.SLErrorStatus + 14, // 43: service_layer.SLAFRes.Key:type_name -> service_layer.SLAFObjectKey + 48, // 44: service_layer.SLAFRes.FIBStatus:type_name -> service_layer.SLAFFibStatus + 21, // 45: service_layer.SLAFMsgRsp.Results:type_name -> service_layer.SLAFRes + 36, // 46: service_layer.SLAFRedistRegMsg.Table:type_name -> service_layer.SLTableType + 34, // 47: service_layer.SLAFNextHopRegKey.NextHop:type_name -> service_layer.SLAFNextHopRegKey.SLNextHopKey + 24, // 48: service_layer.SLAFNextHopRegMsg.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey + 23, // 49: service_layer.SLAFNotifRegReq.RedistReq:type_name -> service_layer.SLAFRedistRegMsg + 25, // 50: service_layer.SLAFNotifRegReq.NextHopReq:type_name -> service_layer.SLAFNextHopRegMsg + 50, // 51: service_layer.SLAFNotifReq.Oper:type_name -> service_layer.SLNotifOp + 26, // 52: service_layer.SLAFNotifReq.NotifReq:type_name -> service_layer.SLAFNotifRegReq + 26, // 53: service_layer.SLAFNotifRsp.NotifReq:type_name -> service_layer.SLAFNotifRegReq + 39, // 54: service_layer.SLAFNotifRsp.NotifStatus:type_name -> service_layer.SLErrorStatus + 24, // 55: service_layer.SLNextHop.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey + 43, // 56: service_layer.SLNextHop.ResolvingPrefix:type_name -> service_layer.SLRoutePrefix + 42, // 57: service_layer.SLNextHop.Paths:type_name -> service_layer.SLRoutePath + 28, // 58: service_layer.SLAFNotif.NotifStatus:type_name -> service_layer.SLAFNotifRsp + 35, // 59: service_layer.SLAFNotif.StartMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker + 35, // 60: service_layer.SLAFNotif.EndMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker + 10, // 61: service_layer.SLAFNotif.RedistObject:type_name -> service_layer.SLAFObject + 29, // 62: service_layer.SLAFNotif.NextHop:type_name -> service_layer.SLNextHop + 30, // 63: service_layer.SLAFNotifMsg.AFNotifs:type_name -> service_layer.SLAFNotif + 42, // 64: service_layer.SLPathGroup.SLPath.Path:type_name -> service_layer.SLRoutePath + 32, // 65: service_layer.SLPathGroup.SLPathList.Paths:type_name -> service_layer.SLPathGroup.SLPath + 43, // 66: service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP:type_name -> service_layer.SLRoutePrefix + 36, // 67: service_layer.SLAFNotif.SLRedistMarker.Table:type_name -> service_layer.SLTableType + 1, // 68: service_layer.SLAF.SLAFVrfRegOp:input_type -> service_layer.SLAFVrfRegMsg + 4, // 69: service_layer.SLAF.SLAFVrfRegGet:input_type -> service_layer.SLAFVrfRegGetMsg + 20, // 70: service_layer.SLAF.SLAFOp:input_type -> service_layer.SLAFMsg + 20, // 71: service_layer.SLAF.SLAFOpStream:input_type -> service_layer.SLAFMsg + 17, // 72: service_layer.SLAF.SLAFGet:input_type -> service_layer.SLAFGetMsg + 27, // 73: service_layer.SLAF.SLAFNotifStream:input_type -> service_layer.SLAFNotifReq + 3, // 74: service_layer.SLAF.SLAFVrfRegOp:output_type -> service_layer.SLAFVrfRegMsgRsp + 5, // 75: service_layer.SLAF.SLAFVrfRegGet:output_type -> service_layer.SLAFVrfRegGetMsgRsp + 22, // 76: service_layer.SLAF.SLAFOp:output_type -> service_layer.SLAFMsgRsp + 22, // 77: service_layer.SLAF.SLAFOpStream:output_type -> service_layer.SLAFMsgRsp + 19, // 78: service_layer.SLAF.SLAFGet:output_type -> service_layer.SLAFGetMsgRsp + 31, // 79: service_layer.SLAF.SLAFNotifStream:output_type -> service_layer.SLAFNotifMsg + 74, // [74:80] is the sub-list for method output_type + 68, // [68:74] is the sub-list for method input_type + 68, // [68:68] is the sub-list for extension type_name + 68, // [68:68] is the sub-list for extension extendee + 0, // [0:68] is the sub-list for field type_name } func init() { file_sl_af_proto_init() } @@ -3060,8 +3420,6 @@ func file_sl_af_proto_init() { } file_sl_common_types_proto_init() file_sl_route_common_proto_init() - file_sl_route_ipv4_proto_init() - file_sl_route_ipv6_proto_init() if !protoimpl.UnsafeEnabled { file_sl_af_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SLAFVrfReg); i { @@ -3148,7 +3506,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsEntry); i { + switch v := v.(*SLMplsEntryKey); i { case 0: return &v.state case 1: @@ -3160,7 +3518,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFObject); i { + switch v := v.(*SLMplsEntry); i { case 0: return &v.state case 1: @@ -3172,7 +3530,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFOp); i { + switch v := v.(*SLAFIPRoute); i { case 0: return &v.state case 1: @@ -3184,7 +3542,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMsg); i { + switch v := v.(*SLAFObject); i { case 0: return &v.state case 1: @@ -3196,7 +3554,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFDepFibStatus); i { + switch v := v.(*SLAFOpMsg); i { case 0: return &v.state case 1: @@ -3208,7 +3566,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFFibStatus); i { + switch v := v.(*SLAFClientIDList); i { case 0: return &v.state case 1: @@ -3220,7 +3578,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMsgRspEntry); i { + switch v := v.(*SLTableTypeList); i { case 0: return &v.state case 1: @@ -3232,7 +3590,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMsgRsp); i { + switch v := v.(*SLAFObjectKey); i { case 0: return &v.state case 1: @@ -3244,7 +3602,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFMsg); i { + switch v := v.(*SLAFGetMatch); i { case 0: return &v.state case 1: @@ -3256,7 +3614,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFRes); i { + switch v := v.(*SLAFGetMatchList); i { case 0: return &v.state case 1: @@ -3268,7 +3626,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFMsgRsp); i { + switch v := v.(*SLAFGetMsg); i { case 0: return &v.state case 1: @@ -3280,7 +3638,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFRedistRegMsg); i { + switch v := v.(*SLAFGetMsgRspEntry); i { case 0: return &v.state case 1: @@ -3292,7 +3650,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNextHopRegKey); i { + switch v := v.(*SLAFGetMsgRsp); i { case 0: return &v.state case 1: @@ -3304,7 +3662,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNextHopRegMsg); i { + switch v := v.(*SLAFMsg); i { case 0: return &v.state case 1: @@ -3316,7 +3674,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotifRegReq); i { + switch v := v.(*SLAFRes); i { case 0: return &v.state case 1: @@ -3328,7 +3686,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotifReq); i { + switch v := v.(*SLAFMsgRsp); i { case 0: return &v.state case 1: @@ -3340,7 +3698,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotifRsp); i { + switch v := v.(*SLAFRedistRegMsg); i { case 0: return &v.state case 1: @@ -3352,7 +3710,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLNextHop); i { + switch v := v.(*SLAFNextHopRegKey); i { case 0: return &v.state case 1: @@ -3364,7 +3722,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotif); i { + switch v := v.(*SLAFNextHopRegMsg); i { case 0: return &v.state case 1: @@ -3376,7 +3734,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotifMsg); i { + switch v := v.(*SLAFNotifRegReq); i { case 0: return &v.state case 1: @@ -3388,7 +3746,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPathGroup_SLPath); i { + switch v := v.(*SLAFNotifReq); i { case 0: return &v.state case 1: @@ -3400,7 +3758,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPathGroup_SLPathList); i { + switch v := v.(*SLAFNotifRsp); i { case 0: return &v.state case 1: @@ -3412,7 +3770,7 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNextHopRegKey_SLNextHopKey); i { + switch v := v.(*SLNextHop); i { case 0: return &v.state case 1: @@ -3424,6 +3782,66 @@ func file_sl_af_proto_init() { } } file_sl_af_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLAFNotif); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_af_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLAFNotifMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_af_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLPathGroup_SLPath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_af_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLPathGroup_SLPathList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_af_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLAFNextHopRegKey_SLNextHopKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_af_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SLAFNotif_SLRedistMarker); i { case 0: return &v.state @@ -3439,26 +3857,35 @@ func file_sl_af_proto_init() { file_sl_af_proto_msgTypes[6].OneofWrappers = []interface{}{ (*SLPathGroup_PathList)(nil), } - file_sl_af_proto_msgTypes[7].OneofWrappers = []interface{}{ - (*SLMplsEntry_PathGroupKey)(nil), - } - file_sl_af_proto_msgTypes[8].OneofWrappers = []interface{}{ - (*SLAFObject_IPv4Route)(nil), - (*SLAFObject_IPv6Route)(nil), + file_sl_af_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*SLAFObject_IPRoute)(nil), (*SLAFObject_MplsLabel)(nil), (*SLAFObject_PathGroup)(nil), } - file_sl_af_proto_msgTypes[11].OneofWrappers = []interface{}{ - (*SLAFDepFibStatus_PathGroupKey)(nil), + file_sl_af_proto_msgTypes[14].OneofWrappers = []interface{}{ + (*SLAFObjectKey_IPRoutePrefix)(nil), + (*SLAFObjectKey_MplsLabel)(nil), + (*SLAFObjectKey_PathGroupId)(nil), + } + file_sl_af_proto_msgTypes[15].OneofWrappers = []interface{}{ + (*SLAFGetMatch_Key)(nil), + (*SLAFGetMatch_PathGroupRegex)(nil), + (*SLAFGetMatch_VxlanVniId)(nil), + } + file_sl_af_proto_msgTypes[17].OneofWrappers = []interface{}{ + (*SLAFGetMsg_ClientIDList)(nil), + (*SLAFGetMsg_AllClients)(nil), + (*SLAFGetMsg_TableList)(nil), + (*SLAFGetMsg_RouteMatchList)(nil), } - file_sl_af_proto_msgTypes[19].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[24].OneofWrappers = []interface{}{ (*SLAFNextHopRegKey_NextHop)(nil), } - file_sl_af_proto_msgTypes[21].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[26].OneofWrappers = []interface{}{ (*SLAFNotifRegReq_RedistReq)(nil), (*SLAFNotifRegReq_NextHopReq)(nil), } - file_sl_af_proto_msgTypes[25].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[30].OneofWrappers = []interface{}{ (*SLAFNotif_NotifStatus)(nil), (*SLAFNotif_StartMarker)(nil), (*SLAFNotif_EndMarker)(nil), @@ -3471,7 +3898,7 @@ func file_sl_af_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sl_af_proto_rawDesc, NumEnums: 0, - NumMessages: 31, + NumMessages: 36, NumExtensions: 0, NumServices: 1, }, diff --git a/grpc/go/src/gengo/sl_af_grpc.pb.go b/grpc/go/src/gengo/sl_af_grpc.pb.go index c7ed8bc..afe83b4 100644 --- a/grpc/go/src/gengo/sl_af_grpc.pb.go +++ b/grpc/go/src/gengo/sl_af_grpc.pb.go @@ -106,6 +106,8 @@ type SLAFClient interface { // Delete of a non-existant object is returned as success. SLAFOpStream(ctx context.Context, opts ...grpc.CallOption) (SLAF_SLAFOpStreamClient, error) // Retrieves object attributes. + // This RPC is unidirectional streaming from the server side + // Server will close the stream when all the entries have been returned. SLAFGet(ctx context.Context, in *SLAFGetMsg, opts ...grpc.CallOption) (SLAF_SLAFGetClient, error) // The route redistribution and next hop tracking RPC. // @@ -126,7 +128,8 @@ type SLAFClient interface { // The call takes a stream of per-VRF table notification requests. // Each notification request is first responded to with the result // of the registration operation itself, followed by any redistributed - // routes if requested and present, and any next hops if requested and present. + // routes if requested and present, and any next hops if requested and + // present. // From then on, any updates are notified as long as RPC is up. SLAFNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLAF_SLAFNotifStreamClient, error) } @@ -371,6 +374,8 @@ type SLAFServer interface { // Delete of a non-existant object is returned as success. SLAFOpStream(SLAF_SLAFOpStreamServer) error // Retrieves object attributes. + // This RPC is unidirectional streaming from the server side + // Server will close the stream when all the entries have been returned. SLAFGet(*SLAFGetMsg, SLAF_SLAFGetServer) error // The route redistribution and next hop tracking RPC. // @@ -391,7 +396,8 @@ type SLAFServer interface { // The call takes a stream of per-VRF table notification requests. // Each notification request is first responded to with the result // of the registration operation itself, followed by any redistributed - // routes if requested and present, and any next hops if requested and present. + // routes if requested and present, and any next hops if requested and + // present. // From then on, any updates are notified as long as RPC is up. SLAFNotifStream(SLAF_SLAFNotifStreamServer) error mustEmbedUnimplementedSLAFServer() diff --git a/grpc/go/src/gengo/sl_common_types.pb.go b/grpc/go/src/gengo/sl_common_types.pb.go index 4d90951..7f5aff7 100644 --- a/grpc/go/src/gengo/sl_common_types.pb.go +++ b/grpc/go/src/gengo/sl_common_types.pb.go @@ -2,7 +2,7 @@ // @brief Common definitions for all of the service layer proto files. // //--------------------------------------------------------------------- -// Copyright (c) 2019, 2024 by Cisco Systems, Inc. +// Copyright (c) 2019, 2024-2025 by Cisco Systems, Inc. // All rights reserved. //--------------------------------------------------------------------- // @@ -391,38 +391,41 @@ const ( // If the object in the operation is successfully applied to RIB, // SL_SUCCESS is returned. // - // If the object in the operation is not active and cannot be programmed to FIB, - // SL_FIB_INELIGIBLE is returned as a second response and the operation is - // considered complete. + // If the object in the operation is not active and cannot be programmed to + // FIB, SL_FIB_INELIGIBLE is returned as a second response and the + // operation is considered complete. // // As a result of an operation on an object, if another previously - // programmed object becomes ineligible, previously programmed object will be - // removed from FIB and SL_FIB_INELIGIBLE will be sent asynchronously with - // the last known OperationID for that object. However, the object will + // programmed object becomes ineligible, previously programmed object will + // be removed from FIB and SL_FIB_INELIGIBLE will be sent asynchronously + // with the last known OperationID for that object. However, the object will // continue to remain in RIB. // // Eventually, when the object becomes active, the object is sent to FIB - // and result of the hardware programming is returned asynchronously with the last - // known OperationID for that object. + // and result of the hardware programming is returned asynchronously with + // the last known OperationID for that object. // // **Note 1: while the object is waiting for FIB to be programmed, - // client can send another update on the object and the object remains in-active. + // client can send another update on the object and the object remains + // in-active. // The network element may coalesce such back to back operations. // In this scenario, only the last operation on the object is responded to - // with corresponding hardware programming result + // with corresponding hardware programming result. // - // **Note 2: relay fib programming status is supported only in server streaming RPC. - // However, the AckType RIB_AND_FIB_ACK is supported in both unary (SLAFOp) as well as - // streaming (SLAFOpStream) rpc. When unary rpc is used for programming an object - // with ackType as RIB_AND_FIB_ACK, fib programming will be tracked internally by - // the server and can be retrieved through get operation. + // **Note 2: relay of FIB programming status is supported only in server + // streaming RPC. + // However, the AckType RIB_AND_FIB_ACK is supported in both unary (SLAFOp) + // as well as streaming (SLAFOpStream) RPC. When unary RPC is used for + // programming an object with ackType as RIB_AND_FIB_ACK, FIB programming + // will be tracked internally by the server and can be retrieved + // through get operation. SLRspACKType_RIB_AND_FIB_ACK SLRspACKType = 1 - // When the operating mode is RIB_FIB_INUSE_ACK, along with the behavior - // explained above for RIB_AND_FIB_ACK, the client will receive an additional - // response of type SL_FIB_INUSE_SUCCESS. RIB_FIB_INUSE_ACK indicates that object - // has been programmed in FIB and is being actively used by one or more - // forwarding chains. - // RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup + // When the ack type is RIB_FIB_INUSE_ACK, along with the behavior + // explained above for RIB_AND_FIB_ACK, the client will receive an + // additional response of type SL_FIB_INUSE_SUCCESS. RIB_FIB_INUSE_ACK + // indicates that object has been programmed in FIB and is being actively + // used by one or more forwarding chains. + // // RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup. SLRspACKType_RIB_FIB_INUSE_ACK SLRspACKType = 2 ) @@ -467,54 +470,113 @@ func (SLRspACKType) EnumDescriptor() ([]byte, []int) { return file_sl_common_types_proto_rawDescGZIP(), []int{6} } -// SLRspACKPermit defines bit-field that control the types of hardware programming -// responses that the client is interested in. -// A set bit in the mask indicates PERMIT/ALLOW the corresponding response type. +// SLAFFibStatus defines possible status for hardware programming of +// the operaration. +type SLAFFibStatus int32 + +const ( + // Hardware programming status is not available for this operation at + // this time. + SLAFFibStatus_SL_FIB_UNKNOWN SLAFFibStatus = 0 + // The operation is successfully programmed in hardware. + SLAFFibStatus_SL_FIB_SUCCESS SLAFFibStatus = 1 + // Hardware programming failure + SLAFFibStatus_SL_FIB_FAILED SLAFFibStatus = 2 + // The object is not eligible (e.g. not best path, next hop down, etc.) + // to be programmed in hardware. + SLAFFibStatus_SL_FIB_INELIGIBLE SLAFFibStatus = 3 + // The forwarding chain using this object is fully active in hardware + // and is in-use by at least one referencing object that is also + // programmed in hardware. + SLAFFibStatus_SL_FIB_INUSE_SUCCESS SLAFFibStatus = 4 +) + +// Enum value maps for SLAFFibStatus. +var ( + SLAFFibStatus_name = map[int32]string{ + 0: "SL_FIB_UNKNOWN", + 1: "SL_FIB_SUCCESS", + 2: "SL_FIB_FAILED", + 3: "SL_FIB_INELIGIBLE", + 4: "SL_FIB_INUSE_SUCCESS", + } + SLAFFibStatus_value = map[string]int32{ + "SL_FIB_UNKNOWN": 0, + "SL_FIB_SUCCESS": 1, + "SL_FIB_FAILED": 2, + "SL_FIB_INELIGIBLE": 3, + "SL_FIB_INUSE_SUCCESS": 4, + } +) + +func (x SLAFFibStatus) Enum() *SLAFFibStatus { + p := new(SLAFFibStatus) + *p = x + return p +} + +func (x SLAFFibStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLAFFibStatus) Descriptor() protoreflect.EnumDescriptor { + return file_sl_common_types_proto_enumTypes[7].Descriptor() +} + +func (SLAFFibStatus) Type() protoreflect.EnumType { + return &file_sl_common_types_proto_enumTypes[7] +} + +func (x SLAFFibStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLAFFibStatus.Descriptor instead. +func (SLAFFibStatus) EnumDescriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{7} +} + +// SLRspACKPermit defines the list that control the types of hardware +// programming responses as defined in SLAFFibStatus that the client is +// interested in. // If the SL-API client is interested in only a subset of possible responses -// for hardware programming, then the corresponding bits are turned ON in the -// bit-field. +// for hardware programming, then the corresponding Permit types can be added +// to the list. // Control of response type is supported ONLY when ACK type is -// RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK and is NOT supported when ACK type is RIB_ACK. -// Errorcodes not listed in SLRspACKPermit such as parsing errors are -// always permitted and will be relayed to the client even when SLRspACKPermit -// is set to values other than SL_PERMIT_ALL. +// RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK and is NOT supported when ACK type +// is RIB_ACK. // When AckPermit is not set by the SL-API client, the SL-API server // will default to SL_PERMIT_ALL type SLRspACKPermit int32 const ( - // An undefined or 0 value Permits all SLErrorStatus to be relayed to client - SLRspACKPermit_SL_PERMIT_ALL SLRspACKPermit = 0 - // Permits SL_SUCCESS to be relayed to client - // Note: SL_SUCCESS cannot be suppressed if ACK type is RIB_ACK - SLRspACKPermit_SL_PERMIT_SL_SUCCESS SLRspACKPermit = 1 + // An undefined or 0 value Permits all SLAFFibStatus to be relayed to client + SLRspACKPermit_SL_PERMIT_FIB_STATUS_ALL SLRspACKPermit = 0 // Permits SL_FIB_SUCCESS to be relayed to client - SLRspACKPermit_SL_PERMIT_SL_FIB_SUCCESS SLRspACKPermit = 2 + SLRspACKPermit_SL_PERMIT_FIB_SUCCESS SLRspACKPermit = 1 // Permits SL_FIB_FAILED to be relayed to client - SLRspACKPermit_SL_PERMIT_SL_FIB_FAILED SLRspACKPermit = 3 + SLRspACKPermit_SL_PERMIT_FIB_FAILED SLRspACKPermit = 2 // Permits SL_FIB_INELIGIBLE to be relayed to client - SLRspACKPermit_SL_PERMIT_SL_FIB_INELIGIBLE SLRspACKPermit = 4 - // Permits SL_FIB_INUSE to be relayed to client - SLRspACKPermit_SL_PERMIT_SL_FIB_INUSE_SUCCESS SLRspACKPermit = 5 + SLRspACKPermit_SL_PERMIT_FIB_INELIGIBLE SLRspACKPermit = 3 + // Permits SL_FIB_INUSE_SUCCESS to be relayed to client + SLRspACKPermit_SL_PERMIT_FIB_INUSE_SUCCESS SLRspACKPermit = 4 ) // Enum value maps for SLRspACKPermit. var ( SLRspACKPermit_name = map[int32]string{ - 0: "SL_PERMIT_ALL", - 1: "SL_PERMIT_SL_SUCCESS", - 2: "SL_PERMIT_SL_FIB_SUCCESS", - 3: "SL_PERMIT_SL_FIB_FAILED", - 4: "SL_PERMIT_SL_FIB_INELIGIBLE", - 5: "SL_PERMIT_SL_FIB_INUSE_SUCCESS", + 0: "SL_PERMIT_FIB_STATUS_ALL", + 1: "SL_PERMIT_FIB_SUCCESS", + 2: "SL_PERMIT_FIB_FAILED", + 3: "SL_PERMIT_FIB_INELIGIBLE", + 4: "SL_PERMIT_FIB_INUSE_SUCCESS", } SLRspACKPermit_value = map[string]int32{ - "SL_PERMIT_ALL": 0, - "SL_PERMIT_SL_SUCCESS": 1, - "SL_PERMIT_SL_FIB_SUCCESS": 2, - "SL_PERMIT_SL_FIB_FAILED": 3, - "SL_PERMIT_SL_FIB_INELIGIBLE": 4, - "SL_PERMIT_SL_FIB_INUSE_SUCCESS": 5, + "SL_PERMIT_FIB_STATUS_ALL": 0, + "SL_PERMIT_FIB_SUCCESS": 1, + "SL_PERMIT_FIB_FAILED": 2, + "SL_PERMIT_FIB_INELIGIBLE": 3, + "SL_PERMIT_FIB_INUSE_SUCCESS": 4, } ) @@ -529,11 +591,11 @@ func (x SLRspACKPermit) String() string { } func (SLRspACKPermit) Descriptor() protoreflect.EnumDescriptor { - return file_sl_common_types_proto_enumTypes[7].Descriptor() + return file_sl_common_types_proto_enumTypes[8].Descriptor() } func (SLRspACKPermit) Type() protoreflect.EnumType { - return &file_sl_common_types_proto_enumTypes[7] + return &file_sl_common_types_proto_enumTypes[8] } func (x SLRspACKPermit) Number() protoreflect.EnumNumber { @@ -542,16 +604,16 @@ func (x SLRspACKPermit) Number() protoreflect.EnumNumber { // Deprecated: Use SLRspACKPermit.Descriptor instead. func (SLRspACKPermit) EnumDescriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{7} + return file_sl_common_types_proto_rawDescGZIP(), []int{8} } // SLRspAckCadence controls the cadence of hardware programming responses. // When SLRspAckCadence is NOT set by the SL-API client, the SL-API server -// will default to SL_RSP_CONTINOUS and send responses defined by SLRspACKPermit, -// for all hardware programming events including events that are internal -// to the router such as insertion or removal of line cards. -// Control of cadence is supported only when ACK type is RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK -// and SLRspACKPermit MUST be set with value other than SL_PERMIT_ALL. +// will default to SL_RSP_CONTINOUS and send responses defined by +// SLRspACKPermit, for all hardware programming events including events that +// are internal to the router such as insertion or removal of line cards. +// Control of cadence is supported only when ACK type is RIB_AND_FIB_ACK +// or RIB_FIB_INUSE_ACK. type SLRspAckCadence int32 const ( @@ -562,28 +624,40 @@ const ( // // For Example: // In the case where client sends - // Permit == SL_PERMIT_SL_FIB_INELIGIBLE | SL_PERMIT_SL_FIB_SUCCESS | SL_PERMIT_SL_FIB_FAILED - // Cadence == SL_RSP_JUST_ONCE and at the time of programming if the object was not viable - // to be programmed in hardware, then the first response would be SL_FIB_INELIGIBLE. - // There will no further notification when the object becomes viable and programmed in FIB. + // Permit == SL_PERMIT_FIB_INELIGIBLE | + // + // SL_PERMIT_FIB_SUCCESS | + // SL_PERMIT_FIB_FAILED + // + // Cadence == SL_RSP_JUST_ONCE and at the time of programming if the + // object was not viable to be programmed in hardware, then the first + // response would be SL_FIB_INELIGIBLE. + // There will no further notification even when the object becomes + // viable and programmed in FIB. SLRspAckCadence_SL_RSP_JUST_ONCE SLRspAckCadence = 1 // SL_RSP_ONCE_EACH cadence will allow only the first response for hardware // programming per response type defined by SLRspACKPermit // // For Example: // In the case where client sends - // Permit == SL_PERMIT_SL_FIB_INELIGIBLE | SL_PERMIT_SL_FIB_SUCCESS | SL_PERMIT_SL_FIB_FAILED - // and Cadence == SL_RSP_ONCE_EACH and at the time of programming if the object was not viable - // to be programmed in hardware, then the first response would be SL_FIB_INELIGIBLE. - // Later, whenever the route becomes viable and gets programmed in the FIB the - // corresponding result SL_FIB_SUCCESS/SL_FIB_FAILED will be also be notified. + // Permit == SL_PERMIT_FIB_INELIGIBLE | + // + // SL_PERMIT_FIB_SUCCESS | + // SL_PERMIT_FIB_FAILED + // + // and Cadence == SL_RSP_ONCE_EACH and at the time of programming if + // the object was not viable to be programmed in hardware, then the + // first response would be SL_FIB_INELIGIBLE. + // Later, whenever the route becomes viable and gets programmed in the + // FIB the corresponding result SL_FIB_SUCCESS/SL_FIB_FAILED will + // be also be notified. // This will be particularly useful in the case of out of order programming // where the prefix is ineligible until referenced PathGroup is programmed. SLRspAckCadence_SL_RSP_ONCE_EACH SLRspAckCadence = 2 // Blocks all response types. This option is used when client expects - // the hw-programming to be tracked internally within service-layer grpc + // the hw-programming to be tracked internally within service-layer gRPC // server but doesn't expect any notification to be sent to the client. - // This option makes any SLRspACKPermit value to be treated as don't care. + // When SL_RSP_NONE is used, the value of SLRspACKPermit is ignored. SLRspAckCadence_SL_RSP_NONE SLRspAckCadence = 3 ) @@ -614,11 +688,11 @@ func (x SLRspAckCadence) String() string { } func (SLRspAckCadence) Descriptor() protoreflect.EnumDescriptor { - return file_sl_common_types_proto_enumTypes[8].Descriptor() + return file_sl_common_types_proto_enumTypes[9].Descriptor() } func (SLRspAckCadence) Type() protoreflect.EnumType { - return &file_sl_common_types_proto_enumTypes[8] + return &file_sl_common_types_proto_enumTypes[9] } func (x SLRspAckCadence) Number() protoreflect.EnumNumber { @@ -627,7 +701,7 @@ func (x SLRspAckCadence) Number() protoreflect.EnumNumber { // Deprecated: Use SLRspAckCadence.Descriptor instead. func (SLRspAckCadence) EnumDescriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{8} + return file_sl_common_types_proto_rawDescGZIP(), []int{9} } type SLErrorStatus_SLErrno int32 @@ -704,9 +778,11 @@ const ( SLErrorStatus_SL_VRF_NOT_FOUND SLErrorStatus_SLErrno = 8194 // On a VRF registration, Table ID for the VRF is not found. 0x2003 SLErrorStatus_SL_VRF_NO_TABLE_ID SLErrorStatus_SLErrno = 8195 - // VRF add registration message with invalid administrative distance. 0x2004 + // VRF add registration message with invalid administrative distance. + // 0x2004 SLErrorStatus_SL_VRF_REG_INVALID_ADMIN_DISTANCE SLErrorStatus_SLErrno = 8196 - // On a VRF registration, Table cannot be added to persistent memory. 0x2005 + // On a VRF registration, Table cannot be added to persistent memory. + // 0x2005 SLErrorStatus_SL_VRF_TABLE_ADD_ERR SLErrorStatus_SLErrno = 8197 // VRF table cannot be registered with RIB. 0x2006 SLErrorStatus_SL_VRF_TABLE_REGISTRATION_ERR SLErrorStatus_SLErrno = 8198 @@ -764,9 +840,11 @@ const ( SLErrorStatus_SL_RPC_ROUTE_NOTIF_SRC_PROTO_TOOLONG SLErrorStatus_SLErrno = 12297 // Operation rejected as the request's SrcProtoTag is too long. 0x300a SLErrorStatus_SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG SLErrorStatus_SLErrno = 12298 - // Operation rejected as the requested match value/values/criteria is invalid. 0x300b + // Operation rejected as the requested match value/values/criteria + // is invalid. 0x300b SLErrorStatus_SL_RPC_ROUTE_GET_MATCH_INVALID SLErrorStatus_SLErrno = 12299 - // Operation rejected as the requested match value/values/criteria is not supported. 0x300c + // Operation rejected as the requested match value/values/criteria + // is not supported. 0x300c SLErrorStatus_SL_RPC_ROUTE_GET_MATCH_NOTSUP SLErrorStatus_SLErrno = 12300 // Offset for route errors. 0x4000 SLErrorStatus_SL_ROUTE_START_OFFSET SLErrorStatus_SLErrno = 16384 @@ -820,7 +898,8 @@ const ( SLErrorStatus_SL_PATH_NH_INTF_NOT_FOUND SLErrorStatus_SLErrno = 20482 // Number of labels in the path exceeds system capabilities. 0x5003 SLErrorStatus_SL_PATH_INVALID_LABEL_COUNT SLErrorStatus_SLErrno = 20483 - // Path ID assigned to the path falls outside the supported range. 0x5004 + // Path ID assigned to the path falls outside the supported range. + // 0x5004 SLErrorStatus_SL_PATH_INVALID_ID SLErrorStatus_SLErrno = 20484 // Path VRF name exceeds supported length. 0x5005 SLErrorStatus_SL_PATH_VRF_NAME_TOOLONG SLErrorStatus_SLErrno = 20485 @@ -869,7 +948,8 @@ const ( SLErrorStatus_SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH SLErrorStatus_SLErrno = 20506 // PATH router mac is not supported with VxLAN path attributes. 0x501b SLErrorStatus_SL_PATH_RTR_MAC_NOSUP SLErrorStatus_SLErrno = 20507 - // Path Encap type attribute does not match specified encapsulation. 0x501c + // Path Encap type attribute does not match specified encapsulation. + // 0x501c SLErrorStatus_SL_PATH_ENCAP_TYPE_MISMATCH SLErrorStatus_SLErrno = 20508 // Offset for BFD operation errors. 0x6000 SLErrorStatus_SL_RPC_BFD_START_OFFSET SLErrorStatus_SLErrno = 24576 @@ -975,7 +1055,8 @@ const ( SLErrorStatus_SL_ILM_ELSP_EXP_OR_DFLT_ALREADY_SET SLErrorStatus_SLErrno = 36878 // MPLS ILM add operation requested but no paths were provided. 0x900f SLErrorStatus_SL_ILM_ADD_NO_PATHS SLErrorStatus_SLErrno = 36879 - // MPLS ILM update operation requested but no paths were provided. 0x9010 + // MPLS ILM update operation requested but no paths were provided. + // 0x9010 SLErrorStatus_SL_ILM_UPDATE_NO_PATHS SLErrorStatus_SLErrno = 36880 // LSP and ELSP on the same label not supported. 0x9011 SLErrorStatus_SL_ILM_UNSUPPORTED_ELSP SLErrorStatus_SLErrno = 36881 @@ -1080,7 +1161,8 @@ const ( SLErrorStatus_SL_NHLFE_NON_CONTIGUOUS_SETIDS SLErrorStatus_SLErrno = 40994 // Paths with same EXP classification are not contiguous. 0xa023 SLErrorStatus_SL_NHLFE_NON_CONTIGUOUS_EXP SLErrorStatus_SLErrno = 40995 - // On a ILM, mix of NHLFE with EXP class and others without any EXP class are not allowed. 0xa024 + // On a ILM, mix of NHLFE with EXP class and others without any EXP + // class are not allowed. 0xa024 SLErrorStatus_SL_NHLFE_INCONSISTENT_EXP_ON_PATH SLErrorStatus_SLErrno = 40996 // Offset for label block errors. 0xb000 SLErrorStatus_SL_LABEL_BLK_ERR_OFFSET SLErrorStatus_SLErrno = 45056 @@ -1232,7 +1314,8 @@ const ( SLErrorStatus_SL_PG_VRF_NO_VRFID SLErrorStatus_SLErrno = 86018 // PathGroup's string key is too long. 0x15003 SLErrorStatus_SL_PG_STR_KEY_TOOLONG SLErrorStatus_SLErrno = 86019 - // ID of a next hop VRF in a path in the PathGroup cannot be determined. 0x15004 + // ID of a next hop VRF in a path in the PathGroup cannot be determined. + // 0x15004 SLErrorStatus_SL_PG_TARGET_VRF_NO_VRFID SLErrorStatus_SLErrno = 86020 // PathGroup's string key contains invalid characters. 0x15005 SLErrorStatus_SL_PG_STR_KEY_INVALID SLErrorStatus_SLErrno = 86021 @@ -1255,19 +1338,12 @@ const ( // Unable to program route redist registration to RIB. 0x16008 SLErrorStatus_SL_ROUTE_REDIST_RIB_ADD_FAILED SLErrorStatus_SLErrno = 90120 // Offset for Hardware Ack errors. 0x17000 - SLErrorStatus_SL_FIB_START_OFFSET SLErrorStatus_SLErrno = 94208 - // The operation is successfully programmed in hardware. 0x17001 - SLErrorStatus_SL_FIB_SUCCESS SLErrorStatus_SLErrno = 94209 - // FIB programming failure. 0x17002 - SLErrorStatus_SL_FIB_FAILED SLErrorStatus_SLErrno = 94210 - // The operation is not viable to be programmed in hardware at this time. 0x17003 - SLErrorStatus_SL_FIB_INELIGIBLE SLErrorStatus_SLErrno = 94211 - // The forwarding chain using this object is fully active in hardware. 0x17004 - SLErrorStatus_SL_FIB_INUSE_SUCCESS SLErrorStatus_SLErrno = 94212 - // Ack permit is not supported when ack type is not RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17005 - SLErrorStatus_SL_ACK_PERMIT_NOT_SUPPORTED SLErrorStatus_SLErrno = 94213 - // Given ack type is not permitted on object of this type. 0x17006 - SLErrorStatus_SL_INVALID_ACKTYPE SLErrorStatus_SLErrno = 94214 + SLErrorStatus_SL_ACK_START_OFFSET SLErrorStatus_SLErrno = 94208 + // Ack permit is supported only on streaming RPC with ack type set + // to RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17001 + SLErrorStatus_SL_ACK_PERMIT_NOT_SUPPORTED SLErrorStatus_SLErrno = 94209 + // The Ack type requested is not supported on the object type. 0x17002 + SLErrorStatus_SL_ACK_INVALID_TYPE SLErrorStatus_SLErrno = 94210 // Offset for policy object operations. 0x18000 SLErrorStatus_SL_POLICY_START_OFFSET SLErrorStatus_SLErrno = 98304 // Policy object could not be created. 0x18001 @@ -1344,6 +1420,8 @@ const ( SLErrorStatus_SL_POLICY_APPLY_NO_INTFS SLErrorStatus_SLErrno = 98340 // Policy unapply requested but no interfaces were provided. 0x18025 SLErrorStatus_SL_POLICY_UNAPPLY_NO_INTFS SLErrorStatus_SLErrno = 98341 + // Policy object replace failed. 0x18026 + SLErrorStatus_SL_POLICY_REPLACE_ERR SLErrorStatus_SLErrno = 98342 // Offset for Bgpls Topology errors. 0x19000 SLErrorStatus_SL_BGPLS_TOPO_START_OFFSET SLErrorStatus_SLErrno = 102400 // LSLIB Server which is required for BGPLS Topology Service @@ -1640,13 +1718,9 @@ var ( 90118: "SL_NEXT_HOP_INVALID_PREFIX_SZ", 90119: "SL_NEXT_HOP_RIB_ADD_FAILED", 90120: "SL_ROUTE_REDIST_RIB_ADD_FAILED", - 94208: "SL_FIB_START_OFFSET", - 94209: "SL_FIB_SUCCESS", - 94210: "SL_FIB_FAILED", - 94211: "SL_FIB_INELIGIBLE", - 94212: "SL_FIB_INUSE_SUCCESS", - 94213: "SL_ACK_PERMIT_NOT_SUPPORTED", - 94214: "SL_INVALID_ACKTYPE", + 94208: "SL_ACK_START_OFFSET", + 94209: "SL_ACK_PERMIT_NOT_SUPPORTED", + 94210: "SL_ACK_INVALID_TYPE", 98304: "SL_POLICY_START_OFFSET", 98305: "SL_POLICY_ADD_ERR", 98306: "SL_POLICY_EXISTS_ERR", @@ -1685,6 +1759,7 @@ var ( 98339: "SL_POLICY_RULE_DELETE_NO_RULES", 98340: "SL_POLICY_APPLY_NO_INTFS", 98341: "SL_POLICY_UNAPPLY_NO_INTFS", + 98342: "SL_POLICY_REPLACE_ERR", 102400: "SL_BGPLS_TOPO_START_OFFSET", 102401: "SL_BGPLS_SERVER_NOT_AVAILABLE", 102402: "SL_BGPLS_MAX_MATCH_FILTER_EXCEEDED", @@ -1972,13 +2047,9 @@ var ( "SL_NEXT_HOP_INVALID_PREFIX_SZ": 90118, "SL_NEXT_HOP_RIB_ADD_FAILED": 90119, "SL_ROUTE_REDIST_RIB_ADD_FAILED": 90120, - "SL_FIB_START_OFFSET": 94208, - "SL_FIB_SUCCESS": 94209, - "SL_FIB_FAILED": 94210, - "SL_FIB_INELIGIBLE": 94211, - "SL_FIB_INUSE_SUCCESS": 94212, - "SL_ACK_PERMIT_NOT_SUPPORTED": 94213, - "SL_INVALID_ACKTYPE": 94214, + "SL_ACK_START_OFFSET": 94208, + "SL_ACK_PERMIT_NOT_SUPPORTED": 94209, + "SL_ACK_INVALID_TYPE": 94210, "SL_POLICY_START_OFFSET": 98304, "SL_POLICY_ADD_ERR": 98305, "SL_POLICY_EXISTS_ERR": 98306, @@ -2017,6 +2088,7 @@ var ( "SL_POLICY_RULE_DELETE_NO_RULES": 98339, "SL_POLICY_APPLY_NO_INTFS": 98340, "SL_POLICY_UNAPPLY_NO_INTFS": 98341, + "SL_POLICY_REPLACE_ERR": 98342, "SL_BGPLS_TOPO_START_OFFSET": 102400, "SL_BGPLS_SERVER_NOT_AVAILABLE": 102401, "SL_BGPLS_MAX_MATCH_FILTER_EXCEEDED": 102402, @@ -2036,11 +2108,11 @@ func (x SLErrorStatus_SLErrno) String() string { } func (SLErrorStatus_SLErrno) Descriptor() protoreflect.EnumDescriptor { - return file_sl_common_types_proto_enumTypes[9].Descriptor() + return file_sl_common_types_proto_enumTypes[10].Descriptor() } func (SLErrorStatus_SLErrno) Type() protoreflect.EnumType { - return &file_sl_common_types_proto_enumTypes[9] + return &file_sl_common_types_proto_enumTypes[10] } func (x SLErrorStatus_SLErrno) Number() protoreflect.EnumNumber { @@ -2407,12 +2479,12 @@ var File_sl_common_types_proto protoreflect.FileDescriptor var file_sl_common_types_proto_rawDesc = []byte{ 0x0a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0xd4, 0x57, 0x0a, 0x0d, 0x53, 0x4c, 0x45, 0x72, 0x72, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x92, 0x57, 0x0a, 0x0d, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x52, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x84, 0x57, 0x0a, 0x07, 0x53, 0x4c, 0x45, 0x72, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc2, 0x56, 0x0a, 0x07, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, 0x5f, 0x45, @@ -3004,188 +3076,190 @@ var file_sl_common_types_proto_rawDesc = []byte{ 0x49, 0x42, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x87, 0xc0, 0x05, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0x88, 0xc0, 0x05, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x46, 0x49, - 0x42, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, - 0xe0, 0x05, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0x81, 0xe0, 0x05, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x4c, 0x5f, 0x46, - 0x49, 0x42, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x82, 0xe0, 0x05, 0x12, 0x17, 0x0a, - 0x11, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, - 0x4c, 0x45, 0x10, 0x83, 0xe0, 0x05, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, - 0x5f, 0x49, 0x4e, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x84, + 0x4c, 0x45, 0x44, 0x10, 0x88, 0xc0, 0x05, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x41, 0x43, + 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xe0, 0x05, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, - 0x44, 0x10, 0x85, 0xe0, 0x05, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x43, 0x4b, 0x54, 0x59, 0x50, 0x45, 0x10, 0x86, 0xe0, 0x05, 0x12, - 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x06, 0x12, 0x17, 0x0a, - 0x11, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x45, - 0x52, 0x52, 0x10, 0x81, 0x80, 0x06, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x82, - 0x80, 0x06, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, 0x80, 0x06, 0x12, 0x1c, - 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, - 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x84, 0x80, 0x06, 0x12, 0x1f, 0x0a, 0x19, - 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x45, - 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x85, 0x80, 0x06, 0x12, 0x1f, 0x0a, + 0x44, 0x10, 0x81, 0xe0, 0x05, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x41, 0x43, 0x4b, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x82, 0xe0, 0x05, + 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x06, 0x12, 0x17, + 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x44, 0x44, 0x5f, + 0x45, 0x52, 0x52, 0x10, 0x81, 0x80, 0x06, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x10, + 0x82, 0x80, 0x06, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, 0x80, 0x06, 0x12, + 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, + 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x84, 0x80, 0x06, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x86, 0x80, 0x06, 0x12, 0x19, - 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x4c, - 0x59, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x87, 0x80, 0x06, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, - 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x45, - 0x52, 0x52, 0x10, 0x88, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x49, 0x45, 0x53, 0x10, 0x89, 0x80, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, - 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, - 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x8a, 0x80, 0x06, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x50, - 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, - 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x8b, 0x80, 0x06, 0x12, 0x2a, 0x0a, 0x24, - 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, - 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x5f, - 0x52, 0x55, 0x4c, 0x45, 0x10, 0x8c, 0x80, 0x06, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, - 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x8d, 0x80, 0x06, 0x12, 0x1c, - 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x8e, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, - 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x8f, 0x80, 0x06, 0x12, - 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x5f, 0x49, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x90, 0x80, 0x06, 0x12, 0x2c, 0x0a, 0x26, - 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, - 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x91, 0x80, 0x06, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, - 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, - 0x44, 0x10, 0x92, 0x80, 0x06, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x93, 0x80, 0x06, 0x12, 0x1c, - 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x94, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, - 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4e, - 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x95, 0x80, 0x06, 0x12, - 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, 0x49, - 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, - 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x96, 0x80, 0x06, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, - 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0x97, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x49, 0x52, - 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x98, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, - 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x99, 0x80, 0x06, 0x12, 0x21, 0x0a, - 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, - 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x9a, 0x80, 0x06, - 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4d, 0x41, - 0x58, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x43, 0x48, 0x45, 0x44, 0x10, 0x9b, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, - 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, - 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x9c, 0x80, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, - 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x9d, 0x80, 0x06, 0x12, 0x26, 0x0a, - 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, - 0x47, 0x52, 0x50, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, - 0x47, 0x10, 0x9e, 0x80, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0x80, 0x06, 0x12, 0x22, 0x0a, 0x1c, - 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0xa0, 0x80, 0x06, - 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, - 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x52, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, - 0x4f, 0x4e, 0x47, 0x10, 0xa1, 0x80, 0x06, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4c, 0x49, - 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xa2, 0x80, 0x06, 0x12, - 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, - 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x55, 0x4c, 0x45, - 0x53, 0x10, 0xa3, 0x80, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, 0x54, 0x46, - 0x53, 0x10, 0xa4, 0x80, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, - 0x54, 0x46, 0x53, 0x10, 0xa5, 0x80, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, - 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x06, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0xa0, 0x06, 0x12, 0x28, - 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4d, - 0x41, 0x54, 0x43, 0x48, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x45, - 0x45, 0x44, 0x45, 0x44, 0x10, 0x82, 0xa0, 0x06, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, - 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x53, - 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x83, 0xa0, 0x06, 0x12, 0x1e, 0x0a, - 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x40, 0x22, 0x4a, 0x0a, - 0x0b, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x0b, 0x53, 0x4c, 0x49, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x09, 0x56, 0x34, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x56, - 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x09, 0x56, 0x36, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x56, - 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x2b, 0x0a, 0x0a, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x22, 0x6a, 0x0a, 0x11, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x66, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x3b, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, - 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x2a, 0x62, 0x0a, 0x07, - 0x53, 0x4c, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x45, - 0x47, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, - 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, - 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, - 0x50, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, - 0x0a, 0x0c, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x45, 0x4f, 0x46, 0x10, 0x03, - 0x2a, 0x5f, 0x0a, 0x0a, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x15, - 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, - 0x50, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4f, 0x42, - 0x4a, 0x4f, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, - 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, - 0x03, 0x2a, 0x53, 0x0a, 0x09, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4f, 0x70, 0x12, 0x17, - 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, - 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, - 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x16, - 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x44, 0x49, 0x53, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x2a, 0x89, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, - 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x12, - 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, - 0x49, 0x47, 0x48, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x0c, 0x12, 0x13, 0x0a, - 0x0f, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, - 0x10, 0x10, 0x2a, 0x4b, 0x0a, 0x0b, 0x53, 0x4c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x52, 0x45, - 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x45, - 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, - 0x53, 0x4c, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x10, 0x02, 0x2a, - 0x8d, 0x01, 0x0a, 0x0b, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, - 0x4c, 0x5f, 0x49, 0x50, 0x76, 0x34, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x50, 0x76, 0x36, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, - 0x13, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, - 0x48, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x2a, - 0x47, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x73, 0x70, 0x41, 0x43, 0x4b, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x52, 0x49, 0x42, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, - 0x52, 0x49, 0x42, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x41, 0x43, 0x4b, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x49, 0x42, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x55, - 0x53, 0x45, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x2a, 0xbd, 0x01, 0x0a, 0x0e, 0x53, 0x4c, 0x52, - 0x73, 0x70, 0x41, 0x43, 0x4b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x11, 0x0a, 0x0d, 0x53, - 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x18, - 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x54, 0x5f, 0x53, 0x4c, 0x5f, 0x53, - 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x50, - 0x45, 0x52, 0x4d, 0x49, 0x54, 0x5f, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x50, 0x45, 0x52, - 0x4d, 0x49, 0x54, 0x5f, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x54, - 0x5f, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, - 0x4c, 0x45, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, - 0x54, 0x5f, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x55, 0x53, 0x45, 0x5f, 0x53, - 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x05, 0x2a, 0x65, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x73, + 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x85, 0x80, 0x06, 0x12, 0x1f, + 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x86, 0x80, 0x06, 0x12, + 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x50, 0x50, + 0x4c, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x87, 0x80, 0x06, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, + 0x45, 0x52, 0x52, 0x10, 0x88, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, 0x10, 0x89, 0x80, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, + 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x8a, 0x80, 0x06, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, + 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x8b, 0x80, 0x06, 0x12, 0x2a, 0x0a, + 0x24, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, + 0x43, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, + 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x8c, 0x80, 0x06, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x8d, 0x80, 0x06, 0x12, + 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x8e, 0x80, 0x06, 0x12, 0x21, 0x0a, + 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, + 0x41, 0x44, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x8f, 0x80, 0x06, + 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x90, 0x80, 0x06, 0x12, 0x2c, 0x0a, + 0x26, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, + 0x49, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x91, 0x80, 0x06, 0x12, 0x19, 0x0a, 0x13, 0x53, + 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, + 0x4e, 0x44, 0x10, 0x92, 0x80, 0x06, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x93, 0x80, 0x06, 0x12, + 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4e, 0x41, 0x4d, + 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x94, 0x80, 0x06, 0x12, 0x21, 0x0a, + 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, + 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x95, 0x80, 0x06, + 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, + 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x49, + 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x96, 0x80, 0x06, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x10, 0x97, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, + 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x49, + 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x98, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, + 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x99, 0x80, 0x06, 0x12, 0x21, + 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x46, + 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x9a, 0x80, + 0x06, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4d, + 0x41, 0x58, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x9b, 0x80, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, + 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x9c, 0x80, 0x06, 0x12, 0x20, 0x0a, 0x1a, + 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x9d, 0x80, 0x06, 0x12, 0x26, + 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, + 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, + 0x4e, 0x47, 0x10, 0x9e, 0x80, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x4e, 0x41, 0x4d, + 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0x80, 0x06, 0x12, 0x22, 0x0a, + 0x1c, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0xa0, 0x80, + 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, + 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x52, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, + 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0xa1, 0x80, 0x06, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, + 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4c, + 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0xa2, 0x80, 0x06, + 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, + 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x55, 0x4c, + 0x45, 0x53, 0x10, 0xa3, 0x80, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, 0x54, + 0x46, 0x53, 0x10, 0xa4, 0x80, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, + 0x4e, 0x54, 0x46, 0x53, 0x10, 0xa5, 0x80, 0x06, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, + 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x45, 0x52, + 0x52, 0x10, 0xa6, 0x80, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, + 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, + 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x06, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, + 0x50, 0x4c, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, + 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0xa0, 0x06, 0x12, 0x28, 0x0a, 0x22, + 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, + 0x45, 0x44, 0x10, 0x82, 0xa0, 0x06, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, + 0x4c, 0x53, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x53, 0x5f, 0x45, + 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x83, 0xa0, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, + 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, + 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x40, 0x22, 0x4a, 0x0a, 0x0b, 0x53, + 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x18, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x00, 0x52, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x0b, 0x53, 0x4c, 0x49, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x09, 0x56, 0x34, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x56, 0x34, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x09, 0x56, 0x36, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x56, 0x36, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x2b, 0x0a, 0x0a, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x6a, + 0x0a, 0x11, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, + 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, + 0x0b, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, 0x0b, 0x50, + 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x2a, 0x62, 0x0a, 0x07, 0x53, 0x4c, + 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, + 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, + 0x52, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, + 0x55, 0x4e, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x45, 0x4f, 0x46, 0x10, 0x03, 0x2a, 0x5f, + 0x0a, 0x0a, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, + 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, + 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, + 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x2a, + 0x53, 0x0a, 0x09, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4f, 0x70, 0x12, 0x17, 0x0a, 0x13, + 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x4f, 0x50, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, + 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x02, 0x2a, 0x89, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, + 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, + 0x54, 0x59, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x14, 0x0a, + 0x10, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, + 0x48, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, + 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x0c, 0x12, 0x13, 0x0a, 0x0f, 0x53, + 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x10, + 0x2a, 0x4b, 0x0a, 0x0b, 0x53, 0x4c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x45, 0x4e, 0x43, + 0x41, 0x50, 0x5f, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x4c, + 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x10, 0x02, 0x2a, 0x8d, 0x01, + 0x0a, 0x0b, 0x53, 0x4c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x53, 0x4c, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, + 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, + 0x49, 0x50, 0x76, 0x34, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, + 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x50, 0x76, 0x36, 0x5f, 0x52, 0x4f, + 0x55, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, + 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x2a, 0x47, 0x0a, + 0x0c, 0x53, 0x4c, 0x52, 0x73, 0x70, 0x41, 0x43, 0x4b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, + 0x07, 0x52, 0x49, 0x42, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x49, + 0x42, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x52, 0x49, 0x42, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x55, 0x53, 0x45, + 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x2a, 0x7b, 0x0a, 0x0d, 0x53, 0x4c, 0x41, 0x46, 0x46, 0x69, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x46, 0x49, + 0x42, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, + 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, + 0x11, 0x0a, 0x0d, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x45, + 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, + 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x04, 0x2a, 0xa2, 0x01, 0x0a, 0x0e, 0x53, 0x4c, 0x52, 0x73, 0x70, 0x41, 0x43, 0x4b, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x50, 0x45, 0x52, + 0x4d, 0x49, 0x54, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, + 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, + 0x54, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, + 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x54, 0x5f, 0x46, 0x49, 0x42, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, + 0x50, 0x45, 0x52, 0x4d, 0x49, 0x54, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x45, 0x4c, 0x49, + 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x45, + 0x52, 0x4d, 0x49, 0x54, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x55, 0x53, 0x45, 0x5f, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x2a, 0x65, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x73, 0x70, 0x41, 0x63, 0x6b, 0x43, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x53, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x52, 0x53, 0x50, 0x5f, 0x4a, 0x55, 0x53, @@ -3212,7 +3286,7 @@ func file_sl_common_types_proto_rawDescGZIP() []byte { return file_sl_common_types_proto_rawDescData } -var file_sl_common_types_proto_enumTypes = make([]protoimpl.EnumInfo, 10) +var file_sl_common_types_proto_enumTypes = make([]protoimpl.EnumInfo, 11) var file_sl_common_types_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_sl_common_types_proto_goTypes = []interface{}{ (SLRegOp)(0), // 0: service_layer.SLRegOp @@ -3222,18 +3296,19 @@ var file_sl_common_types_proto_goTypes = []interface{}{ (SLEncapType)(0), // 4: service_layer.SLEncapType (SLTableType)(0), // 5: service_layer.SLTableType (SLRspACKType)(0), // 6: service_layer.SLRspACKType - (SLRspACKPermit)(0), // 7: service_layer.SLRspACKPermit - (SLRspAckCadence)(0), // 8: service_layer.SLRspAckCadence - (SLErrorStatus_SLErrno)(0), // 9: service_layer.SLErrorStatus.SLErrno - (*SLErrorStatus)(nil), // 10: service_layer.SLErrorStatus - (*SLInterface)(nil), // 11: service_layer.SLInterface - (*SLIpAddress)(nil), // 12: service_layer.SLIpAddress - (*SLObjectId)(nil), // 13: service_layer.SLObjectId - (*SLPathGroupRefKey)(nil), // 14: service_layer.SLPathGroupRefKey + (SLAFFibStatus)(0), // 7: service_layer.SLAFFibStatus + (SLRspACKPermit)(0), // 8: service_layer.SLRspACKPermit + (SLRspAckCadence)(0), // 9: service_layer.SLRspAckCadence + (SLErrorStatus_SLErrno)(0), // 10: service_layer.SLErrorStatus.SLErrno + (*SLErrorStatus)(nil), // 11: service_layer.SLErrorStatus + (*SLInterface)(nil), // 12: service_layer.SLInterface + (*SLIpAddress)(nil), // 13: service_layer.SLIpAddress + (*SLObjectId)(nil), // 14: service_layer.SLObjectId + (*SLPathGroupRefKey)(nil), // 15: service_layer.SLPathGroupRefKey } var file_sl_common_types_proto_depIdxs = []int32{ - 9, // 0: service_layer.SLErrorStatus.Status:type_name -> service_layer.SLErrorStatus.SLErrno - 13, // 1: service_layer.SLPathGroupRefKey.PathGroupId:type_name -> service_layer.SLObjectId + 10, // 0: service_layer.SLErrorStatus.Status:type_name -> service_layer.SLErrorStatus.SLErrno + 14, // 1: service_layer.SLPathGroupRefKey.PathGroupId:type_name -> service_layer.SLObjectId 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name @@ -3324,7 +3399,7 @@ func file_sl_common_types_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sl_common_types_proto_rawDesc, - NumEnums: 10, + NumEnums: 11, NumMessages: 5, NumExtensions: 0, NumServices: 0, diff --git a/grpc/go/src/gengo/sl_interface.pb.go b/grpc/go/src/gengo/sl_interface.pb.go index 6db9129..cd974a9 100644 --- a/grpc/go/src/gengo/sl_interface.pb.go +++ b/grpc/go/src/gengo/sl_interface.pb.go @@ -108,9 +108,9 @@ type SLInterfaceInfoMsgBw struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The New Bandwidth. + // The New Bandwidth (in Kbps). NewBandwidth uint64 `protobuf:"varint,1,opt,name=NewBandwidth,proto3" json:"NewBandwidth,omitempty"` - // The Old Bandwidth prior to the update. + // The Old Bandwidth prior to the update (in Kbps). OldBandwidth uint64 `protobuf:"varint,2,opt,name=OldBandwidth,proto3" json:"OldBandwidth,omitempty"` } diff --git a/grpc/go/src/gengo/sl_policy.pb.go b/grpc/go/src/gengo/sl_policy.pb.go index 7d82346..82e0fa9 100644 --- a/grpc/go/src/gengo/sl_policy.pb.go +++ b/grpc/go/src/gengo/sl_policy.pb.go @@ -1,7 +1,7 @@ // @file // @brief Client RPC proto file for Policy RPCs. -// Declares calls for adding, deleting, updating the policies -// and apply, unapply policies from interfaces. +// Declares RPC calls for adding, replacing, deleting policies, +// and applying/un-applying these policies on interfaces. // // ---------------------------------------------------------------- // Copyright (c) 2024-2025 by Cisco Systems, Inc. @@ -50,6 +50,8 @@ const ( SLPolicyObjectOp_SL_OBJOP_POLICY_APPLY SLPolicyObjectOp = 5 // Policy UnApply. 0x6 SLPolicyObjectOp_SL_OBJOP_POLICY_UNAPPLY SLPolicyObjectOp = 6 + // Policy Replace. 0x7 + SLPolicyObjectOp_SL_OBJOP_POLICY_REPLACE SLPolicyObjectOp = 7 ) // Enum value maps for SLPolicyObjectOp. @@ -62,6 +64,7 @@ var ( 4: "SL_OBJOP_RULE_DELETE", 5: "SL_OBJOP_POLICY_APPLY", 6: "SL_OBJOP_POLICY_UNAPPLY", + 7: "SL_OBJOP_POLICY_REPLACE", } SLPolicyObjectOp_value = map[string]int32{ "SL_OBJOP_POLICY_RESERVED": 0, @@ -71,6 +74,7 @@ var ( "SL_OBJOP_RULE_DELETE": 4, "SL_OBJOP_POLICY_APPLY": 5, "SL_OBJOP_POLICY_UNAPPLY": 6, + "SL_OBJOP_POLICY_REPLACE": 7, } ) @@ -992,7 +996,7 @@ type isSLPolicyRes_SLPolicyOpStatus interface { type SLPolicyRes_PolicyStatus struct { // Status of policy level operations - // like policy add and policy delete + // like policy add, replace and delete PolicyStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=PolicyStatus,proto3,oneof"` } @@ -1654,7 +1658,7 @@ var file_sl_policy_proto_rawDesc = []byte{ 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4d, 0x61, 0x78, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, - 0x78, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2a, 0xce, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x50, 0x6f, 0x6c, + 0x78, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2a, 0xeb, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, @@ -1667,38 +1671,40 @@ var file_sl_policy_proto_rawDesc = []byte{ 0x19, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, - 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x06, 0x2a, 0x3d, 0x0a, 0x0c, 0x53, 0x4c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x4d, - 0x5f, 0x50, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x50, 0x4d, 0x5f, 0x50, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x50, 0x42, 0x52, 0x10, 0x01, 0x2a, 0x4e, 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, - 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, - 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x41, 0x50, 0x50, - 0x4c, 0x59, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x32, 0x88, 0x02, 0x0a, 0x08, 0x53, 0x4c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x0a, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, - 0x70, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x4d, 0x73, 0x67, 0x1a, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x52, 0x73, 0x70, 0x12, 0x50, 0x0a, - 0x0b, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x73, + 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x4f, 0x42, + 0x4a, 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, + 0x43, 0x45, 0x10, 0x07, 0x2a, 0x3d, 0x0a, 0x0c, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x4d, 0x5f, 0x50, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, + 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x50, 0x4d, 0x5f, 0x50, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x42, + 0x52, 0x10, 0x01, 0x2a, 0x4e, 0x0a, 0x10, 0x53, 0x4c, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x41, 0x50, + 0x50, 0x4c, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, + 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, + 0x53, 0x10, 0x01, 0x32, 0x88, 0x02, 0x0a, 0x08, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x48, 0x0a, 0x0a, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x12, 0x1c, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, + 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x4d, 0x73, 0x67, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x20, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x30, 0x01, 0x12, - 0x60, 0x0a, 0x11, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x47, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x52, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0b, 0x53, 0x4c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, - 0x70, 0x42, 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x43, 0x69, 0x73, 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2d, 0x6f, 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x79, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x11, + 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x65, + 0x74, 0x12, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x42, 0x51, + 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, 0x73, + 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, 0x6f, + 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/grpc/go/src/gengo/sl_route_common.pb.go b/grpc/go/src/gengo/sl_route_common.pb.go index 8d96fa4..9e671a4 100644 --- a/grpc/go/src/gengo/sl_route_common.pb.go +++ b/grpc/go/src/gengo/sl_route_common.pb.go @@ -121,10 +121,10 @@ const ( // that label's programming this route. SLRouteFlags_SL_ROUTE_FLAG_DISABLE_LABEL_MERGE SLRouteFlags = 2 // Install viable paths only. See text in SLRoutecommon/PathGroup for more details - SLRouteFlags_SL_ROUTE_FLAG_VIABLE_PATHS_ONLY SLRouteFlags = 4 + SLRouteFlags_SL_ROUTE_FLAG_VIABLE_PATHS_ONLY SLRouteFlags = 3 // Route is considered active if there is atleast one viable path. // See text in SLRoutecommon/PathGroup for more details. - SLRouteFlags_SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH SLRouteFlags = 8 + SLRouteFlags_SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH SLRouteFlags = 4 ) // Enum value maps for SLRouteFlags. @@ -133,15 +133,15 @@ var ( 0: "SL_ROUTE_FLAG_RESERVED", 1: "SL_ROUTE_FLAG_PREFER_OVER_LDP", 2: "SL_ROUTE_FLAG_DISABLE_LABEL_MERGE", - 4: "SL_ROUTE_FLAG_VIABLE_PATHS_ONLY", - 8: "SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH", + 3: "SL_ROUTE_FLAG_VIABLE_PATHS_ONLY", + 4: "SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH", } SLRouteFlags_value = map[string]int32{ "SL_ROUTE_FLAG_RESERVED": 0, "SL_ROUTE_FLAG_PREFER_OVER_LDP": 1, "SL_ROUTE_FLAG_DISABLE_LABEL_MERGE": 2, - "SL_ROUTE_FLAG_VIABLE_PATHS_ONLY": 4, - "SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH": 8, + "SL_ROUTE_FLAG_VIABLE_PATHS_ONLY": 3, + "SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH": 4, } ) @@ -1246,92 +1246,6 @@ func (x *SLVrfNotif) GetStatus() SLObjectOp { return SLObjectOp_SL_OBJOP_RESERVED } -// Get objects whose attibutes match one of below entries. -// Specify a regular expression for PathGroup name -// or a numerical value for Vxlan VNI. -type SLRouteGetMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Entry: - // - // *SLRouteGetMatch_PathGroupRegex - // *SLRouteGetMatch_VxlanVniId - Entry isSLRouteGetMatch_Entry `protobuf_oneof:"entry"` -} - -func (x *SLRouteGetMatch) Reset() { - *x = SLRouteGetMatch{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRouteGetMatch) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRouteGetMatch) ProtoMessage() {} - -func (x *SLRouteGetMatch) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRouteGetMatch.ProtoReflect.Descriptor instead. -func (*SLRouteGetMatch) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{16} -} - -func (m *SLRouteGetMatch) GetEntry() isSLRouteGetMatch_Entry { - if m != nil { - return m.Entry - } - return nil -} - -func (x *SLRouteGetMatch) GetPathGroupRegex() string { - if x, ok := x.GetEntry().(*SLRouteGetMatch_PathGroupRegex); ok { - return x.PathGroupRegex - } - return "" -} - -func (x *SLRouteGetMatch) GetVxlanVniId() uint32 { - if x, ok := x.GetEntry().(*SLRouteGetMatch_VxlanVniId); ok { - return x.VxlanVniId - } - return 0 -} - -type isSLRouteGetMatch_Entry interface { - isSLRouteGetMatch_Entry() -} - -type SLRouteGetMatch_PathGroupRegex struct { - // SLAFGetMsgRsp.AFList.AFOp.AFObject.entry.PathGroupKey.PathGroupId.Name - PathGroupRegex string `protobuf:"bytes,1,opt,name=PathGroupRegex,proto3,oneof"` -} - -type SLRouteGetMatch_VxlanVniId struct { - // SLAFGetMsgRsp.AFList.AFOp.AFObject.PathList.VxLANPath.VNI - VxlanVniId uint32 `protobuf:"varint,2,opt,name=VxlanVniId,proto3,oneof"` -} - -func (*SLRouteGetMatch_PathGroupRegex) isSLRouteGetMatch_Entry() {} - -func (*SLRouteGetMatch_VxlanVniId) isSLRouteGetMatch_Entry() {} - // Common IPv4/IPv6 route attributes. type SLRouteCommon struct { state protoimpl.MessageState @@ -1423,13 +1337,13 @@ type SLRouteCommon struct { // whether this route should be considered in best route calculations. // // All others are reserved. - Flags uint32 `protobuf:"varint,6,opt,name=Flags,proto3" json:"Flags,omitempty"` + RouteFlags []SLRouteFlags `protobuf:"varint,7,rep,packed,name=RouteFlags,proto3,enum=service_layer.SLRouteFlags" json:"RouteFlags,omitempty"` } func (x *SLRouteCommon) Reset() { *x = SLRouteCommon{} if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[17] + mi := &file_sl_route_common_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1442,7 +1356,7 @@ func (x *SLRouteCommon) String() string { func (*SLRouteCommon) ProtoMessage() {} func (x *SLRouteCommon) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[17] + mi := &file_sl_route_common_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1455,7 +1369,7 @@ func (x *SLRouteCommon) ProtoReflect() protoreflect.Message { // Deprecated: Use SLRouteCommon.ProtoReflect.Descriptor instead. func (*SLRouteCommon) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{17} + return file_sl_route_common_proto_rawDescGZIP(), []int{16} } func (x *SLRouteCommon) GetAdminDistance() uint32 { @@ -1493,11 +1407,11 @@ func (x *SLRouteCommon) GetSrcProtoTag() string { return "" } -func (x *SLRouteCommon) GetFlags() uint32 { +func (x *SLRouteCommon) GetRouteFlags() []SLRouteFlags { if x != nil { - return x.Flags + return x.RouteFlags } - return 0 + return nil } // Attributes for constructing VxLAN encapsulation for a IP packet. @@ -1521,7 +1435,7 @@ type SLVxLANPath struct { func (x *SLVxLANPath) Reset() { *x = SLVxLANPath{} if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[18] + mi := &file_sl_route_common_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1534,7 +1448,7 @@ func (x *SLVxLANPath) String() string { func (*SLVxLANPath) ProtoMessage() {} func (x *SLVxLANPath) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[18] + mi := &file_sl_route_common_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1547,7 +1461,7 @@ func (x *SLVxLANPath) ProtoReflect() protoreflect.Message { // Deprecated: Use SLVxLANPath.ProtoReflect.Descriptor instead. func (*SLVxLANPath) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{18} + return file_sl_route_common_proto_rawDescGZIP(), []int{17} } func (x *SLVxLANPath) GetVNI() uint32 { @@ -1624,6 +1538,8 @@ type SLRoutePath struct { // Route Metric. // The metric is typically based on information like load, hop count, // MTU, reliability of the path, etc. + // If a non-zero metric value is set in the route, the value set will override + // any metric value in the associated SLRoutePath Metric uint32 `protobuf:"varint,5,opt,name=Metric,proto3" json:"Metric,omitempty"` // Path identifier. // Path-id is used to uniquely identify a path when it comes to @@ -1682,6 +1598,8 @@ type SLRoutePath struct { // For N+1 backup labels, N remote backup addresses must be specified. RemoteAddress []*SLIpAddress `protobuf:"bytes,9,rep,name=RemoteAddress,proto3" json:"RemoteAddress,omitempty"` // For VxLAN, Encapsulation type must be set to SL_ENCAP_VXLAN + // + // Deprecated: Do not use. EncapType SLEncapType `protobuf:"varint,10,opt,name=EncapType,proto3,enum=service_layer.SLEncapType" json:"EncapType,omitempty"` // VTEP (VxLAN tunnel end point) router MAC address. // A unique system MAC address that other VTEPs can use for inter-VNI @@ -1692,19 +1610,29 @@ type SLRoutePath struct { // // This field and VxLANPath are mutually exclusive. This field // is deprecated and will eventually be removed. + // + // Deprecated: Do not use. VtepRouterMacAddress []byte `protobuf:"bytes,11,opt,name=VtepRouterMacAddress,proto3" json:"VtepRouterMacAddress,omitempty"` // Create L3 VxLAN tunnel endpoint. Apply VxLAN encapsulation // on the IP packet. VxLANPath *SLVxLANPath `protobuf:"bytes,12,opt,name=VxLANPath,proto3" json:"VxLANPath,omitempty"` // Path Flags. Each flag is indicated as a bit field. Supported values are: // - 0x00000001 = SINGLE_PATH_OPT Enables hardware optimization for single path VxLAN tunnels. - Flags uint32 `protobuf:"varint,13,opt,name=Flags,proto3" json:"Flags,omitempty"` + PathFlags []SLPathFlags `protobuf:"varint,14,rep,packed,name=PathFlags,proto3,enum=service_layer.SLPathFlags" json:"PathFlags,omitempty"` + // Reference to the Path Group for this route. The attribute is oneof + // to allow for future extension. + // If any field in the oneof is set, all other fields are ignored + // + // Types that are assignable to Entry: + // + // *SLRoutePath_PathGroupKey + Entry isSLRoutePath_Entry `protobuf_oneof:"entry"` } func (x *SLRoutePath) Reset() { *x = SLRoutePath{} if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[19] + mi := &file_sl_route_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1717,7 +1645,7 @@ func (x *SLRoutePath) String() string { func (*SLRoutePath) ProtoMessage() {} func (x *SLRoutePath) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[19] + mi := &file_sl_route_common_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1730,7 +1658,7 @@ func (x *SLRoutePath) ProtoReflect() protoreflect.Message { // Deprecated: Use SLRoutePath.ProtoReflect.Descriptor instead. func (*SLRoutePath) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{19} + return file_sl_route_common_proto_rawDescGZIP(), []int{18} } func (x *SLRoutePath) GetNexthopAddress() *SLIpAddress { @@ -1796,6 +1724,7 @@ func (x *SLRoutePath) GetRemoteAddress() []*SLIpAddress { return nil } +// Deprecated: Do not use. func (x *SLRoutePath) GetEncapType() SLEncapType { if x != nil { return x.EncapType @@ -1803,6 +1732,7 @@ func (x *SLRoutePath) GetEncapType() SLEncapType { return SLEncapType_SL_ENCAP_RESERVED } +// Deprecated: Do not use. func (x *SLRoutePath) GetVtepRouterMacAddress() []byte { if x != nil { return x.VtepRouterMacAddress @@ -1817,9 +1747,92 @@ func (x *SLRoutePath) GetVxLANPath() *SLVxLANPath { return nil } -func (x *SLRoutePath) GetFlags() uint32 { +func (x *SLRoutePath) GetPathFlags() []SLPathFlags { + if x != nil { + return x.PathFlags + } + return nil +} + +func (m *SLRoutePath) GetEntry() isSLRoutePath_Entry { + if m != nil { + return m.Entry + } + return nil +} + +func (x *SLRoutePath) GetPathGroupKey() *SLPathGroupRefKey { + if x, ok := x.GetEntry().(*SLRoutePath_PathGroupKey); ok { + return x.PathGroupKey + } + return nil +} + +type isSLRoutePath_Entry interface { + isSLRoutePath_Entry() +} + +type SLRoutePath_PathGroupKey struct { + // Path group reference key + PathGroupKey *SLPathGroupRefKey `protobuf:"bytes,15,opt,name=PathGroupKey,proto3,oneof"` +} + +func (*SLRoutePath_PathGroupKey) isSLRoutePath_Entry() {} + +// IP Route Prefix and Prefix Length +type SLRoutePrefix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // IPv4 or IPv6 address + Prefix *SLIpAddress `protobuf:"bytes,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + // Prefix length + PrefixLen uint32 `protobuf:"varint,2,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` +} + +func (x *SLRoutePrefix) Reset() { + *x = SLRoutePrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRoutePrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRoutePrefix) ProtoMessage() {} + +func (x *SLRoutePrefix) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRoutePrefix.ProtoReflect.Descriptor instead. +func (*SLRoutePrefix) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{19} +} + +func (x *SLRoutePrefix) GetPrefix() *SLIpAddress { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *SLRoutePrefix) GetPrefixLen() uint32 { if x != nil { - return x.Flags + return x.PrefixLen } return 0 } @@ -1947,114 +1960,126 @@ var file_sl_route_common_proto_rawDesc = []byte{ 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x4f, 0x70, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x66, 0x0a, 0x0f, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x28, - 0x0a, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x67, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0a, 0x56, 0x78, 0x6c, 0x61, - 0x6e, 0x56, 0x6e, 0x69, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, - 0x56, 0x78, 0x6c, 0x61, 0x6e, 0x56, 0x6e, 0x69, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x54, - 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x72, 0x63, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x0b, 0x53, 0x4c, 0x56, 0x78, 0x4c, 0x41, 0x4e, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x4e, 0x49, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, - 0x56, 0x4e, 0x49, 0x12, 0x2a, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x63, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x63, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x53, 0x72, 0x63, 0x49, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x74, 0x4f, 0x70, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xef, 0x01, 0x0a, 0x0d, + 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x24, 0x0a, + 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x54, 0x61, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x54, 0x61, 0x67, 0x12, 0x3b, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, + 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xf5, 0x01, + 0x0a, 0x0b, 0x53, 0x4c, 0x56, 0x78, 0x4c, 0x41, 0x4e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, + 0x03, 0x56, 0x4e, 0x49, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x56, 0x4e, 0x49, 0x12, + 0x2a, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x44, + 0x65, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x53, 0x72, 0x63, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x53, 0x72, 0x63, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x44, 0x65, 0x73, 0x74, 0x49, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x44, 0x65, 0x73, 0x74, 0x49, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x05, 0x0a, 0x0b, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x42, 0x0a, 0x0e, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x53, 0x72, 0x63, 0x49, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x44, 0x65, 0x73, 0x74, 0x49, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x44, 0x65, 0x73, 0x74, - 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xd5, 0x04, 0x0a, 0x0b, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x42, 0x0a, 0x0e, 0x4e, 0x65, 0x78, - 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x4e, - 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x46, 0x0a, + 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x4e, 0x65, 0x78, 0x74, 0x68, + 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x4e, 0x65, 0x78, + 0x74, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x10, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x52, 0x10, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, - 0x30, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, - 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x13, 0x50, 0x72, - 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x69, 0x74, 0x6d, 0x61, - 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x12, 0x40, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x09, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x50, + 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x69, 0x74, 0x6d, + 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x13, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x1e, 0x0a, + 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x40, 0x0a, + 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x3c, 0x0a, 0x09, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x09, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, + 0x14, 0x56, 0x74, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x14, 0x56, 0x74, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x56, 0x74, 0x65, - 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x38, 0x0a, 0x09, 0x56, 0x78, 0x4c, 0x41, 0x4e, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x78, 0x4c, 0x41, 0x4e, 0x50, 0x61, 0x74, 0x68, - 0x52, 0x09, 0x56, 0x78, 0x4c, 0x41, 0x4e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x2a, 0xca, 0x01, 0x0a, 0x0b, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, - 0x13, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x02, - 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x52, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x4d, - 0x41, 0x52, 0x4b, 0x45, 0x52, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x10, 0x06, 0x2a, 0xc2, - 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, - 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x50, 0x52, 0x45, - 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x44, 0x50, 0x10, 0x01, 0x12, 0x25, - 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, - 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4d, 0x45, - 0x52, 0x47, 0x45, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x56, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x41, - 0x54, 0x48, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4c, - 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x56, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x54, - 0x48, 0x10, 0x08, 0x2a, 0x4a, 0x0a, 0x0b, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x49, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x01, 0x42, - 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, - 0x73, 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, - 0x6f, 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x56, 0x78, 0x4c, 0x41, 0x4e, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x78, 0x4c, 0x41, 0x4e, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x09, 0x56, 0x78, 0x4c, 0x41, 0x4e, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x38, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x09, + 0x50, 0x61, 0x74, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x50, 0x61, 0x74, + 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x4b, 0x65, + 0x79, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, + 0x79, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, + 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x61, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x32, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x2a, 0xca, 0x01, 0x0a, 0x0b, 0x53, + 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, + 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, + 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x52, + 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x52, 0x10, 0x05, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x56, 0x52, 0x46, 0x10, 0x06, 0x2a, 0xc2, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x52, + 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, + 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x4f, 0x56, 0x45, + 0x52, 0x5f, 0x4c, 0x44, 0x50, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x52, 0x4f, + 0x55, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, + 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x10, 0x02, 0x12, 0x23, + 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, + 0x56, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, + 0x59, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x56, + 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x04, 0x2a, 0x4a, 0x0a, 0x0b, + 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x53, + 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, + 0x48, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x41, + 0x54, 0x48, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x01, 0x42, 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, 0x73, 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, 0x6f, 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2091,10 +2116,10 @@ var file_sl_route_common_proto_goTypes = []interface{}{ (*SLRouteNotifStatus)(nil), // 16: service_layer.SLRouteNotifStatus (*SLRouteNotifMarker)(nil), // 17: service_layer.SLRouteNotifMarker (*SLVrfNotif)(nil), // 18: service_layer.SLVrfNotif - (*SLRouteGetMatch)(nil), // 19: service_layer.SLRouteGetMatch - (*SLRouteCommon)(nil), // 20: service_layer.SLRouteCommon - (*SLVxLANPath)(nil), // 21: service_layer.SLVxLANPath - (*SLRoutePath)(nil), // 22: service_layer.SLRoutePath + (*SLRouteCommon)(nil), // 19: service_layer.SLRouteCommon + (*SLVxLANPath)(nil), // 20: service_layer.SLVxLANPath + (*SLRoutePath)(nil), // 21: service_layer.SLRoutePath + (*SLRoutePrefix)(nil), // 22: service_layer.SLRoutePrefix (*SLErrorStatus)(nil), // 23: service_layer.SLErrorStatus (SLRegOp)(0), // 24: service_layer.SLRegOp (SLNotifOp)(0), // 25: service_layer.SLNotifOp @@ -2102,6 +2127,7 @@ var file_sl_route_common_proto_goTypes = []interface{}{ (*SLIpAddress)(nil), // 27: service_layer.SLIpAddress (*SLInterface)(nil), // 28: service_layer.SLInterface (SLEncapType)(0), // 29: service_layer.SLEncapType + (*SLPathGroupRefKey)(nil), // 30: service_layer.SLPathGroupRefKey } var file_sl_route_common_proto_depIdxs = []int32{ 23, // 0: service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus @@ -2118,18 +2144,22 @@ var file_sl_route_common_proto_depIdxs = []int32{ 25, // 11: service_layer.SLRouteGetNotifMsg.Oper:type_name -> service_layer.SLNotifOp 23, // 12: service_layer.SLRouteNotifStatus.NotifStatus:type_name -> service_layer.SLErrorStatus 26, // 13: service_layer.SLVrfNotif.Status:type_name -> service_layer.SLObjectOp - 27, // 14: service_layer.SLVxLANPath.SrcIpAddress:type_name -> service_layer.SLIpAddress - 27, // 15: service_layer.SLVxLANPath.DestIpAddress:type_name -> service_layer.SLIpAddress - 27, // 16: service_layer.SLRoutePath.NexthopAddress:type_name -> service_layer.SLIpAddress - 28, // 17: service_layer.SLRoutePath.NexthopInterface:type_name -> service_layer.SLInterface - 27, // 18: service_layer.SLRoutePath.RemoteAddress:type_name -> service_layer.SLIpAddress - 29, // 19: service_layer.SLRoutePath.EncapType:type_name -> service_layer.SLEncapType - 21, // 20: service_layer.SLRoutePath.VxLANPath:type_name -> service_layer.SLVxLANPath - 21, // [21:21] is the sub-list for method output_type - 21, // [21:21] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 1, // 14: service_layer.SLRouteCommon.RouteFlags:type_name -> service_layer.SLRouteFlags + 27, // 15: service_layer.SLVxLANPath.SrcIpAddress:type_name -> service_layer.SLIpAddress + 27, // 16: service_layer.SLVxLANPath.DestIpAddress:type_name -> service_layer.SLIpAddress + 27, // 17: service_layer.SLRoutePath.NexthopAddress:type_name -> service_layer.SLIpAddress + 28, // 18: service_layer.SLRoutePath.NexthopInterface:type_name -> service_layer.SLInterface + 27, // 19: service_layer.SLRoutePath.RemoteAddress:type_name -> service_layer.SLIpAddress + 29, // 20: service_layer.SLRoutePath.EncapType:type_name -> service_layer.SLEncapType + 20, // 21: service_layer.SLRoutePath.VxLANPath:type_name -> service_layer.SLVxLANPath + 2, // 22: service_layer.SLRoutePath.PathFlags:type_name -> service_layer.SLPathFlags + 30, // 23: service_layer.SLRoutePath.PathGroupKey:type_name -> service_layer.SLPathGroupRefKey + 27, // 24: service_layer.SLRoutePrefix.Prefix:type_name -> service_layer.SLIpAddress + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_sl_route_common_proto_init() } @@ -2332,7 +2362,7 @@ func file_sl_route_common_proto_init() { } } file_sl_route_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGetMatch); i { + switch v := v.(*SLRouteCommon); i { case 0: return &v.state case 1: @@ -2344,7 +2374,7 @@ func file_sl_route_common_proto_init() { } } file_sl_route_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteCommon); i { + switch v := v.(*SLVxLANPath); i { case 0: return &v.state case 1: @@ -2356,7 +2386,7 @@ func file_sl_route_common_proto_init() { } } file_sl_route_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVxLANPath); i { + switch v := v.(*SLRoutePath); i { case 0: return &v.state case 1: @@ -2368,7 +2398,7 @@ func file_sl_route_common_proto_init() { } } file_sl_route_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutePath); i { + switch v := v.(*SLRoutePrefix); i { case 0: return &v.state case 1: @@ -2380,9 +2410,8 @@ func file_sl_route_common_proto_init() { } } } - file_sl_route_common_proto_msgTypes[16].OneofWrappers = []interface{}{ - (*SLRouteGetMatch_PathGroupRegex)(nil), - (*SLRouteGetMatch_VxlanVniId)(nil), + file_sl_route_common_proto_msgTypes[18].OneofWrappers = []interface{}{ + (*SLRoutePath_PathGroupKey)(nil), } type x struct{} out := protoimpl.TypeBuilder{ diff --git a/grpc/go/src/gengo/sl_route_ipv4.pb.go b/grpc/go/src/gengo/sl_route_ipv4.pb.go index 6806c78..c5ef01c 100644 --- a/grpc/go/src/gengo/sl_route_ipv4.pb.go +++ b/grpc/go/src/gengo/sl_route_ipv4.pb.go @@ -47,13 +47,6 @@ type SLRoutev4 struct { // List of route paths for this route. // Specifying more than one path is allowed for ECMP/UCMP cases. PathList []*SLRoutePath `protobuf:"bytes,4,rep,name=PathList,proto3" json:"PathList,omitempty"` - // Reference to the Path Group for this route. The attribute is oneof - // to allow for future extension. - // - // Types that are assignable to Entry: - // - // *SLRoutev4_PathGroupKey - Entry isSLRoutev4_Entry `protobuf_oneof:"entry"` } func (x *SLRoutev4) Reset() { @@ -116,31 +109,6 @@ func (x *SLRoutev4) GetPathList() []*SLRoutePath { return nil } -func (m *SLRoutev4) GetEntry() isSLRoutev4_Entry { - if m != nil { - return m.Entry - } - return nil -} - -func (x *SLRoutev4) GetPathGroupKey() *SLPathGroupRefKey { - if x, ok := x.GetEntry().(*SLRoutev4_PathGroupKey); ok { - return x.PathGroupKey - } - return nil -} - -type isSLRoutev4_Entry interface { - isSLRoutev4_Entry() -} - -type SLRoutev4_PathGroupKey struct { - // Path group reference key - PathGroupKey *SLPathGroupRefKey `protobuf:"bytes,5,opt,name=PathGroupKey,proto3,oneof"` -} - -func (*SLRoutev4_PathGroupKey) isSLRoutev4_Entry() {} - // List of routes for bulk download type SLRoutev4Msg struct { state protoimpl.MessageState @@ -780,7 +748,7 @@ var file_sl_route_ipv4_proto_rawDesc = []byte{ 0x61, 0x79, 0x65, 0x72, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, 0x09, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, + 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x09, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, 0x65, @@ -791,163 +759,158 @@ var file_sl_route_ipv4_proto_rawDesc = []byte{ 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, - 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x66, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, - 0xa9, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, - 0x12, 0x2d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa9, + 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x12, + 0x2d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x76, 0x34, 0x52, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x0c, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0xc6, 0x01, + 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x52, 0x73, + 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x35, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, + 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, + 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, + 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x76, 0x34, 0x52, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x0c, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, - 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, - 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0xc6, - 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x52, - 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x12, 0x35, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x52, 0x65, 0x73, 0x52, 0x07, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, - 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, - 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, - 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, - 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x12, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, - 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, - 0x6f, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, - 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, - 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x76, 0x34, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x13, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, - 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, + 0x66, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x22, 0x80, 0x03, 0x0a, 0x0e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x12, 0x38, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, - 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x00, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x0b, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, - 0x3b, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x03, - 0x56, 0x72, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x48, 0x00, 0x52, 0x03, 0x56, 0x72, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x32, 0x98, 0x07, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x34, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x76, 0x34, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x23, 0x2e, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x76, 0x34, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x13, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x07, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x17, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x47, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x2a, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x22, 0x80, 0x03, 0x0a, 0x0e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x12, 0x38, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, + 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, + 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x0b, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3b, + 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x11, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, - 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, - 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, - 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, - 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, - 0x70, 0x12, 0x59, 0x0a, 0x14, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x56, 0x72, - 0x66, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, - 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0b, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4f, 0x70, 0x12, 0x1b, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x34, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x03, 0x56, + 0x72, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x48, 0x00, 0x52, 0x03, 0x56, 0x72, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x32, 0x98, 0x07, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, + 0x34, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x76, 0x34, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x17, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x47, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, - 0x01, 0x12, 0x5b, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x11, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x1a, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, + 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, + 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x12, + 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x20, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, + 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, + 0x12, 0x59, 0x0a, 0x14, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x56, 0x72, 0x66, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, + 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0b, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4f, 0x70, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, + 0x34, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, - 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5f, - 0x0a, 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, + 0x34, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x53, 0x4c, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, + 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x28, 0x01, 0x30, 0x01, 0x42, - 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, - 0x73, 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, - 0x6f, 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x5b, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5f, 0x0a, + 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x76, 0x34, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x28, 0x01, 0x30, 0x01, 0x42, 0x51, + 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, 0x73, + 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, 0x6f, + 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -974,67 +937,65 @@ var file_sl_route_ipv4_proto_goTypes = []interface{}{ (*SLRoutev4Notif)(nil), // 7: service_layer.SLRoutev4Notif (*SLRouteCommon)(nil), // 8: service_layer.SLRouteCommon (*SLRoutePath)(nil), // 9: service_layer.SLRoutePath - (*SLPathGroupRefKey)(nil), // 10: service_layer.SLPathGroupRefKey - (SLObjectOp)(0), // 11: service_layer.SLObjectOp - (*SLErrorStatus)(nil), // 12: service_layer.SLErrorStatus - (SLNotifType)(0), // 13: service_layer.SLNotifType - (*SLRouteNotifStatus)(nil), // 14: service_layer.SLRouteNotifStatus - (*SLRouteNotifMarker)(nil), // 15: service_layer.SLRouteNotifMarker - (*SLVrfNotif)(nil), // 16: service_layer.SLVrfNotif - (*SLRouteGlobalsGetMsg)(nil), // 17: service_layer.SLRouteGlobalsGetMsg - (*SLRouteGlobalStatsGetMsg)(nil), // 18: service_layer.SLRouteGlobalStatsGetMsg - (*SLVrfRegMsg)(nil), // 19: service_layer.SLVrfRegMsg - (*SLVrfRegGetMsg)(nil), // 20: service_layer.SLVrfRegGetMsg - (*SLRouteGetNotifMsg)(nil), // 21: service_layer.SLRouteGetNotifMsg - (*SLRouteGlobalsGetMsgRsp)(nil), // 22: service_layer.SLRouteGlobalsGetMsgRsp - (*SLRouteGlobalStatsGetMsgRsp)(nil), // 23: service_layer.SLRouteGlobalStatsGetMsgRsp - (*SLVrfRegMsgRsp)(nil), // 24: service_layer.SLVrfRegMsgRsp - (*SLVrfRegGetMsgRsp)(nil), // 25: service_layer.SLVrfRegGetMsgRsp - (*SLVRFGetStatsMsgRsp)(nil), // 26: service_layer.SLVRFGetStatsMsgRsp + (SLObjectOp)(0), // 10: service_layer.SLObjectOp + (*SLErrorStatus)(nil), // 11: service_layer.SLErrorStatus + (SLNotifType)(0), // 12: service_layer.SLNotifType + (*SLRouteNotifStatus)(nil), // 13: service_layer.SLRouteNotifStatus + (*SLRouteNotifMarker)(nil), // 14: service_layer.SLRouteNotifMarker + (*SLVrfNotif)(nil), // 15: service_layer.SLVrfNotif + (*SLRouteGlobalsGetMsg)(nil), // 16: service_layer.SLRouteGlobalsGetMsg + (*SLRouteGlobalStatsGetMsg)(nil), // 17: service_layer.SLRouteGlobalStatsGetMsg + (*SLVrfRegMsg)(nil), // 18: service_layer.SLVrfRegMsg + (*SLVrfRegGetMsg)(nil), // 19: service_layer.SLVrfRegGetMsg + (*SLRouteGetNotifMsg)(nil), // 20: service_layer.SLRouteGetNotifMsg + (*SLRouteGlobalsGetMsgRsp)(nil), // 21: service_layer.SLRouteGlobalsGetMsgRsp + (*SLRouteGlobalStatsGetMsgRsp)(nil), // 22: service_layer.SLRouteGlobalStatsGetMsgRsp + (*SLVrfRegMsgRsp)(nil), // 23: service_layer.SLVrfRegMsgRsp + (*SLVrfRegGetMsgRsp)(nil), // 24: service_layer.SLVrfRegGetMsgRsp + (*SLVRFGetStatsMsgRsp)(nil), // 25: service_layer.SLVRFGetStatsMsgRsp } var file_sl_route_ipv4_proto_depIdxs = []int32{ 8, // 0: service_layer.SLRoutev4.RouteCommon:type_name -> service_layer.SLRouteCommon 9, // 1: service_layer.SLRoutev4.PathList:type_name -> service_layer.SLRoutePath - 10, // 2: service_layer.SLRoutev4.PathGroupKey:type_name -> service_layer.SLPathGroupRefKey - 11, // 3: service_layer.SLRoutev4Msg.Oper:type_name -> service_layer.SLObjectOp - 0, // 4: service_layer.SLRoutev4Msg.Routes:type_name -> service_layer.SLRoutev4 - 12, // 5: service_layer.SLRoutev4Res.ErrStatus:type_name -> service_layer.SLErrorStatus - 12, // 6: service_layer.SLRoutev4MsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus - 2, // 7: service_layer.SLRoutev4MsgRsp.Results:type_name -> service_layer.SLRoutev4Res - 12, // 8: service_layer.SLRoutev4GetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 0, // 9: service_layer.SLRoutev4GetMsgRsp.Entries:type_name -> service_layer.SLRoutev4 - 0, // 10: service_layer.SLRoutev4NotifRoute.Entries:type_name -> service_layer.SLRoutev4 - 13, // 11: service_layer.SLRoutev4Notif.EventType:type_name -> service_layer.SLNotifType - 12, // 12: service_layer.SLRoutev4Notif.ErrStatus:type_name -> service_layer.SLErrorStatus - 14, // 13: service_layer.SLRoutev4Notif.NotifStatus:type_name -> service_layer.SLRouteNotifStatus - 6, // 14: service_layer.SLRoutev4Notif.Route:type_name -> service_layer.SLRoutev4NotifRoute - 15, // 15: service_layer.SLRoutev4Notif.Marker:type_name -> service_layer.SLRouteNotifMarker - 16, // 16: service_layer.SLRoutev4Notif.Vrf:type_name -> service_layer.SLVrfNotif - 17, // 17: service_layer.SLRoutev4Oper.SLRoutev4GlobalsGet:input_type -> service_layer.SLRouteGlobalsGetMsg - 18, // 18: service_layer.SLRoutev4Oper.SLRoutev4GlobalStatsGet:input_type -> service_layer.SLRouteGlobalStatsGetMsg - 19, // 19: service_layer.SLRoutev4Oper.SLRoutev4VrfRegOp:input_type -> service_layer.SLVrfRegMsg - 20, // 20: service_layer.SLRoutev4Oper.SLRoutev4VrfRegGet:input_type -> service_layer.SLVrfRegGetMsg - 20, // 21: service_layer.SLRoutev4Oper.SLRoutev4VrfGetStats:input_type -> service_layer.SLVrfRegGetMsg - 1, // 22: service_layer.SLRoutev4Oper.SLRoutev4Op:input_type -> service_layer.SLRoutev4Msg - 4, // 23: service_layer.SLRoutev4Oper.SLRoutev4Get:input_type -> service_layer.SLRoutev4GetMsg - 1, // 24: service_layer.SLRoutev4Oper.SLRoutev4OpStream:input_type -> service_layer.SLRoutev4Msg - 4, // 25: service_layer.SLRoutev4Oper.SLRoutev4GetStream:input_type -> service_layer.SLRoutev4GetMsg - 21, // 26: service_layer.SLRoutev4Oper.SLRoutev4GetNotifStream:input_type -> service_layer.SLRouteGetNotifMsg - 22, // 27: service_layer.SLRoutev4Oper.SLRoutev4GlobalsGet:output_type -> service_layer.SLRouteGlobalsGetMsgRsp - 23, // 28: service_layer.SLRoutev4Oper.SLRoutev4GlobalStatsGet:output_type -> service_layer.SLRouteGlobalStatsGetMsgRsp - 24, // 29: service_layer.SLRoutev4Oper.SLRoutev4VrfRegOp:output_type -> service_layer.SLVrfRegMsgRsp - 25, // 30: service_layer.SLRoutev4Oper.SLRoutev4VrfRegGet:output_type -> service_layer.SLVrfRegGetMsgRsp - 26, // 31: service_layer.SLRoutev4Oper.SLRoutev4VrfGetStats:output_type -> service_layer.SLVRFGetStatsMsgRsp - 3, // 32: service_layer.SLRoutev4Oper.SLRoutev4Op:output_type -> service_layer.SLRoutev4MsgRsp - 5, // 33: service_layer.SLRoutev4Oper.SLRoutev4Get:output_type -> service_layer.SLRoutev4GetMsgRsp - 3, // 34: service_layer.SLRoutev4Oper.SLRoutev4OpStream:output_type -> service_layer.SLRoutev4MsgRsp - 5, // 35: service_layer.SLRoutev4Oper.SLRoutev4GetStream:output_type -> service_layer.SLRoutev4GetMsgRsp - 7, // 36: service_layer.SLRoutev4Oper.SLRoutev4GetNotifStream:output_type -> service_layer.SLRoutev4Notif - 27, // [27:37] is the sub-list for method output_type - 17, // [17:27] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 10, // 2: service_layer.SLRoutev4Msg.Oper:type_name -> service_layer.SLObjectOp + 0, // 3: service_layer.SLRoutev4Msg.Routes:type_name -> service_layer.SLRoutev4 + 11, // 4: service_layer.SLRoutev4Res.ErrStatus:type_name -> service_layer.SLErrorStatus + 11, // 5: service_layer.SLRoutev4MsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus + 2, // 6: service_layer.SLRoutev4MsgRsp.Results:type_name -> service_layer.SLRoutev4Res + 11, // 7: service_layer.SLRoutev4GetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 0, // 8: service_layer.SLRoutev4GetMsgRsp.Entries:type_name -> service_layer.SLRoutev4 + 0, // 9: service_layer.SLRoutev4NotifRoute.Entries:type_name -> service_layer.SLRoutev4 + 12, // 10: service_layer.SLRoutev4Notif.EventType:type_name -> service_layer.SLNotifType + 11, // 11: service_layer.SLRoutev4Notif.ErrStatus:type_name -> service_layer.SLErrorStatus + 13, // 12: service_layer.SLRoutev4Notif.NotifStatus:type_name -> service_layer.SLRouteNotifStatus + 6, // 13: service_layer.SLRoutev4Notif.Route:type_name -> service_layer.SLRoutev4NotifRoute + 14, // 14: service_layer.SLRoutev4Notif.Marker:type_name -> service_layer.SLRouteNotifMarker + 15, // 15: service_layer.SLRoutev4Notif.Vrf:type_name -> service_layer.SLVrfNotif + 16, // 16: service_layer.SLRoutev4Oper.SLRoutev4GlobalsGet:input_type -> service_layer.SLRouteGlobalsGetMsg + 17, // 17: service_layer.SLRoutev4Oper.SLRoutev4GlobalStatsGet:input_type -> service_layer.SLRouteGlobalStatsGetMsg + 18, // 18: service_layer.SLRoutev4Oper.SLRoutev4VrfRegOp:input_type -> service_layer.SLVrfRegMsg + 19, // 19: service_layer.SLRoutev4Oper.SLRoutev4VrfRegGet:input_type -> service_layer.SLVrfRegGetMsg + 19, // 20: service_layer.SLRoutev4Oper.SLRoutev4VrfGetStats:input_type -> service_layer.SLVrfRegGetMsg + 1, // 21: service_layer.SLRoutev4Oper.SLRoutev4Op:input_type -> service_layer.SLRoutev4Msg + 4, // 22: service_layer.SLRoutev4Oper.SLRoutev4Get:input_type -> service_layer.SLRoutev4GetMsg + 1, // 23: service_layer.SLRoutev4Oper.SLRoutev4OpStream:input_type -> service_layer.SLRoutev4Msg + 4, // 24: service_layer.SLRoutev4Oper.SLRoutev4GetStream:input_type -> service_layer.SLRoutev4GetMsg + 20, // 25: service_layer.SLRoutev4Oper.SLRoutev4GetNotifStream:input_type -> service_layer.SLRouteGetNotifMsg + 21, // 26: service_layer.SLRoutev4Oper.SLRoutev4GlobalsGet:output_type -> service_layer.SLRouteGlobalsGetMsgRsp + 22, // 27: service_layer.SLRoutev4Oper.SLRoutev4GlobalStatsGet:output_type -> service_layer.SLRouteGlobalStatsGetMsgRsp + 23, // 28: service_layer.SLRoutev4Oper.SLRoutev4VrfRegOp:output_type -> service_layer.SLVrfRegMsgRsp + 24, // 29: service_layer.SLRoutev4Oper.SLRoutev4VrfRegGet:output_type -> service_layer.SLVrfRegGetMsgRsp + 25, // 30: service_layer.SLRoutev4Oper.SLRoutev4VrfGetStats:output_type -> service_layer.SLVRFGetStatsMsgRsp + 3, // 31: service_layer.SLRoutev4Oper.SLRoutev4Op:output_type -> service_layer.SLRoutev4MsgRsp + 5, // 32: service_layer.SLRoutev4Oper.SLRoutev4Get:output_type -> service_layer.SLRoutev4GetMsgRsp + 3, // 33: service_layer.SLRoutev4Oper.SLRoutev4OpStream:output_type -> service_layer.SLRoutev4MsgRsp + 5, // 34: service_layer.SLRoutev4Oper.SLRoutev4GetStream:output_type -> service_layer.SLRoutev4GetMsgRsp + 7, // 35: service_layer.SLRoutev4Oper.SLRoutev4GetNotifStream:output_type -> service_layer.SLRoutev4Notif + 26, // [26:36] is the sub-list for method output_type + 16, // [16:26] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_sl_route_ipv4_proto_init() } @@ -1142,9 +1103,6 @@ func file_sl_route_ipv4_proto_init() { } } } - file_sl_route_ipv4_proto_msgTypes[0].OneofWrappers = []interface{}{ - (*SLRoutev4_PathGroupKey)(nil), - } file_sl_route_ipv4_proto_msgTypes[7].OneofWrappers = []interface{}{ (*SLRoutev4Notif_ErrStatus)(nil), (*SLRoutev4Notif_NotifStatus)(nil), diff --git a/grpc/go/src/gengo/sl_route_ipv6.pb.go b/grpc/go/src/gengo/sl_route_ipv6.pb.go index 31fe39b..870326a 100644 --- a/grpc/go/src/gengo/sl_route_ipv6.pb.go +++ b/grpc/go/src/gengo/sl_route_ipv6.pb.go @@ -46,13 +46,6 @@ type SLRoutev6 struct { // List of route paths for this route. // Specifying more than one path is allowed for ECMP/UCMP cases PathList []*SLRoutePath `protobuf:"bytes,4,rep,name=PathList,proto3" json:"PathList,omitempty"` - // Reference to the Path Group for this route. - // The attribute is oneof to allow for future extension. - // - // Types that are assignable to Entry: - // - // *SLRoutev6_PathGroupKey - Entry isSLRoutev6_Entry `protobuf_oneof:"entry"` } func (x *SLRoutev6) Reset() { @@ -115,31 +108,6 @@ func (x *SLRoutev6) GetPathList() []*SLRoutePath { return nil } -func (m *SLRoutev6) GetEntry() isSLRoutev6_Entry { - if m != nil { - return m.Entry - } - return nil -} - -func (x *SLRoutev6) GetPathGroupKey() *SLPathGroupRefKey { - if x, ok := x.GetEntry().(*SLRoutev6_PathGroupKey); ok { - return x.PathGroupKey - } - return nil -} - -type isSLRoutev6_Entry interface { - isSLRoutev6_Entry() -} - -type SLRoutev6_PathGroupKey struct { - // Path group reference key - PathGroupKey *SLPathGroupRefKey `protobuf:"bytes,5,opt,name=PathGroupKey,proto3,oneof"` -} - -func (*SLRoutev6_PathGroupKey) isSLRoutev6_Entry() {} - // List of routes for bulk download type SLRoutev6Msg struct { state protoimpl.MessageState @@ -779,7 +747,7 @@ var file_sl_route_ipv6_proto_rawDesc = []byte{ 0x61, 0x79, 0x65, 0x72, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, 0x09, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, + 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x09, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, 0x65, @@ -790,163 +758,158 @@ var file_sl_route_ipv6_proto_rawDesc = []byte{ 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, - 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x66, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, - 0xa9, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, - 0x12, 0x2d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa9, + 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x12, + 0x2d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x76, 0x36, 0x52, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x0c, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0xc6, 0x01, + 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, + 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x35, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, + 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, + 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, + 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x76, 0x36, 0x52, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x0c, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, - 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, - 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0xc6, - 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, - 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x12, 0x35, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x65, 0x73, 0x52, 0x07, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, - 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, - 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, - 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, - 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x12, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, - 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, - 0x6f, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, - 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, - 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x76, 0x36, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x13, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, - 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, + 0x66, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x22, 0x80, 0x03, 0x0a, 0x0e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x12, 0x38, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, - 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x00, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x0b, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, - 0x3b, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x03, - 0x56, 0x72, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x48, 0x00, 0x52, 0x03, 0x56, 0x72, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x32, 0x98, 0x07, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x36, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x23, 0x2e, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x76, 0x36, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x13, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x07, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x17, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x47, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x2a, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x22, 0x80, 0x03, 0x0a, 0x0e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x12, 0x38, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, + 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, + 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x0b, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3b, + 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x11, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, - 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, - 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, - 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, - 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, - 0x70, 0x12, 0x59, 0x0a, 0x14, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, - 0x66, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, - 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0b, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x12, 0x1b, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x03, 0x56, + 0x72, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x48, 0x00, 0x52, 0x03, 0x56, 0x72, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x32, 0x98, 0x07, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, + 0x36, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x17, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x47, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, - 0x01, 0x12, 0x5b, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x11, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x1a, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, + 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, + 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x12, + 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x20, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, + 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, + 0x12, 0x59, 0x0a, 0x14, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, + 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0b, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, + 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, - 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5f, - 0x0a, 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, + 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x53, 0x4c, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, + 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x28, 0x01, 0x30, 0x01, 0x42, - 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, - 0x73, 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, - 0x6f, 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x5b, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5f, 0x0a, + 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x76, 0x36, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x28, 0x01, 0x30, 0x01, 0x42, 0x51, + 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x69, 0x73, + 0x63, 0x6f, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2d, 0x6f, + 0x62, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -973,67 +936,65 @@ var file_sl_route_ipv6_proto_goTypes = []interface{}{ (*SLRoutev6Notif)(nil), // 7: service_layer.SLRoutev6Notif (*SLRouteCommon)(nil), // 8: service_layer.SLRouteCommon (*SLRoutePath)(nil), // 9: service_layer.SLRoutePath - (*SLPathGroupRefKey)(nil), // 10: service_layer.SLPathGroupRefKey - (SLObjectOp)(0), // 11: service_layer.SLObjectOp - (*SLErrorStatus)(nil), // 12: service_layer.SLErrorStatus - (SLNotifType)(0), // 13: service_layer.SLNotifType - (*SLRouteNotifStatus)(nil), // 14: service_layer.SLRouteNotifStatus - (*SLRouteNotifMarker)(nil), // 15: service_layer.SLRouteNotifMarker - (*SLVrfNotif)(nil), // 16: service_layer.SLVrfNotif - (*SLRouteGlobalsGetMsg)(nil), // 17: service_layer.SLRouteGlobalsGetMsg - (*SLRouteGlobalStatsGetMsg)(nil), // 18: service_layer.SLRouteGlobalStatsGetMsg - (*SLVrfRegMsg)(nil), // 19: service_layer.SLVrfRegMsg - (*SLVrfRegGetMsg)(nil), // 20: service_layer.SLVrfRegGetMsg - (*SLRouteGetNotifMsg)(nil), // 21: service_layer.SLRouteGetNotifMsg - (*SLRouteGlobalsGetMsgRsp)(nil), // 22: service_layer.SLRouteGlobalsGetMsgRsp - (*SLRouteGlobalStatsGetMsgRsp)(nil), // 23: service_layer.SLRouteGlobalStatsGetMsgRsp - (*SLVrfRegMsgRsp)(nil), // 24: service_layer.SLVrfRegMsgRsp - (*SLVrfRegGetMsgRsp)(nil), // 25: service_layer.SLVrfRegGetMsgRsp - (*SLVRFGetStatsMsgRsp)(nil), // 26: service_layer.SLVRFGetStatsMsgRsp + (SLObjectOp)(0), // 10: service_layer.SLObjectOp + (*SLErrorStatus)(nil), // 11: service_layer.SLErrorStatus + (SLNotifType)(0), // 12: service_layer.SLNotifType + (*SLRouteNotifStatus)(nil), // 13: service_layer.SLRouteNotifStatus + (*SLRouteNotifMarker)(nil), // 14: service_layer.SLRouteNotifMarker + (*SLVrfNotif)(nil), // 15: service_layer.SLVrfNotif + (*SLRouteGlobalsGetMsg)(nil), // 16: service_layer.SLRouteGlobalsGetMsg + (*SLRouteGlobalStatsGetMsg)(nil), // 17: service_layer.SLRouteGlobalStatsGetMsg + (*SLVrfRegMsg)(nil), // 18: service_layer.SLVrfRegMsg + (*SLVrfRegGetMsg)(nil), // 19: service_layer.SLVrfRegGetMsg + (*SLRouteGetNotifMsg)(nil), // 20: service_layer.SLRouteGetNotifMsg + (*SLRouteGlobalsGetMsgRsp)(nil), // 21: service_layer.SLRouteGlobalsGetMsgRsp + (*SLRouteGlobalStatsGetMsgRsp)(nil), // 22: service_layer.SLRouteGlobalStatsGetMsgRsp + (*SLVrfRegMsgRsp)(nil), // 23: service_layer.SLVrfRegMsgRsp + (*SLVrfRegGetMsgRsp)(nil), // 24: service_layer.SLVrfRegGetMsgRsp + (*SLVRFGetStatsMsgRsp)(nil), // 25: service_layer.SLVRFGetStatsMsgRsp } var file_sl_route_ipv6_proto_depIdxs = []int32{ 8, // 0: service_layer.SLRoutev6.RouteCommon:type_name -> service_layer.SLRouteCommon 9, // 1: service_layer.SLRoutev6.PathList:type_name -> service_layer.SLRoutePath - 10, // 2: service_layer.SLRoutev6.PathGroupKey:type_name -> service_layer.SLPathGroupRefKey - 11, // 3: service_layer.SLRoutev6Msg.Oper:type_name -> service_layer.SLObjectOp - 0, // 4: service_layer.SLRoutev6Msg.Routes:type_name -> service_layer.SLRoutev6 - 12, // 5: service_layer.SLRoutev6Res.ErrStatus:type_name -> service_layer.SLErrorStatus - 12, // 6: service_layer.SLRoutev6MsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus - 2, // 7: service_layer.SLRoutev6MsgRsp.Results:type_name -> service_layer.SLRoutev6Res - 12, // 8: service_layer.SLRoutev6GetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 0, // 9: service_layer.SLRoutev6GetMsgRsp.Entries:type_name -> service_layer.SLRoutev6 - 0, // 10: service_layer.SLRoutev6NotifRoute.Entries:type_name -> service_layer.SLRoutev6 - 13, // 11: service_layer.SLRoutev6Notif.EventType:type_name -> service_layer.SLNotifType - 12, // 12: service_layer.SLRoutev6Notif.ErrStatus:type_name -> service_layer.SLErrorStatus - 14, // 13: service_layer.SLRoutev6Notif.NotifStatus:type_name -> service_layer.SLRouteNotifStatus - 6, // 14: service_layer.SLRoutev6Notif.Route:type_name -> service_layer.SLRoutev6NotifRoute - 15, // 15: service_layer.SLRoutev6Notif.Marker:type_name -> service_layer.SLRouteNotifMarker - 16, // 16: service_layer.SLRoutev6Notif.Vrf:type_name -> service_layer.SLVrfNotif - 17, // 17: service_layer.SLRoutev6Oper.SLRoutev6GlobalsGet:input_type -> service_layer.SLRouteGlobalsGetMsg - 18, // 18: service_layer.SLRoutev6Oper.SLRoutev6GlobalStatsGet:input_type -> service_layer.SLRouteGlobalStatsGetMsg - 19, // 19: service_layer.SLRoutev6Oper.SLRoutev6VrfRegOp:input_type -> service_layer.SLVrfRegMsg - 20, // 20: service_layer.SLRoutev6Oper.SLRoutev6VrfRegGet:input_type -> service_layer.SLVrfRegGetMsg - 20, // 21: service_layer.SLRoutev6Oper.SLRoutev6VrfGetStats:input_type -> service_layer.SLVrfRegGetMsg - 1, // 22: service_layer.SLRoutev6Oper.SLRoutev6Op:input_type -> service_layer.SLRoutev6Msg - 4, // 23: service_layer.SLRoutev6Oper.SLRoutev6Get:input_type -> service_layer.SLRoutev6GetMsg - 1, // 24: service_layer.SLRoutev6Oper.SLRoutev6OpStream:input_type -> service_layer.SLRoutev6Msg - 4, // 25: service_layer.SLRoutev6Oper.SLRoutev6GetStream:input_type -> service_layer.SLRoutev6GetMsg - 21, // 26: service_layer.SLRoutev6Oper.SLRoutev6GetNotifStream:input_type -> service_layer.SLRouteGetNotifMsg - 22, // 27: service_layer.SLRoutev6Oper.SLRoutev6GlobalsGet:output_type -> service_layer.SLRouteGlobalsGetMsgRsp - 23, // 28: service_layer.SLRoutev6Oper.SLRoutev6GlobalStatsGet:output_type -> service_layer.SLRouteGlobalStatsGetMsgRsp - 24, // 29: service_layer.SLRoutev6Oper.SLRoutev6VrfRegOp:output_type -> service_layer.SLVrfRegMsgRsp - 25, // 30: service_layer.SLRoutev6Oper.SLRoutev6VrfRegGet:output_type -> service_layer.SLVrfRegGetMsgRsp - 26, // 31: service_layer.SLRoutev6Oper.SLRoutev6VrfGetStats:output_type -> service_layer.SLVRFGetStatsMsgRsp - 3, // 32: service_layer.SLRoutev6Oper.SLRoutev6Op:output_type -> service_layer.SLRoutev6MsgRsp - 5, // 33: service_layer.SLRoutev6Oper.SLRoutev6Get:output_type -> service_layer.SLRoutev6GetMsgRsp - 3, // 34: service_layer.SLRoutev6Oper.SLRoutev6OpStream:output_type -> service_layer.SLRoutev6MsgRsp - 5, // 35: service_layer.SLRoutev6Oper.SLRoutev6GetStream:output_type -> service_layer.SLRoutev6GetMsgRsp - 7, // 36: service_layer.SLRoutev6Oper.SLRoutev6GetNotifStream:output_type -> service_layer.SLRoutev6Notif - 27, // [27:37] is the sub-list for method output_type - 17, // [17:27] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 10, // 2: service_layer.SLRoutev6Msg.Oper:type_name -> service_layer.SLObjectOp + 0, // 3: service_layer.SLRoutev6Msg.Routes:type_name -> service_layer.SLRoutev6 + 11, // 4: service_layer.SLRoutev6Res.ErrStatus:type_name -> service_layer.SLErrorStatus + 11, // 5: service_layer.SLRoutev6MsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus + 2, // 6: service_layer.SLRoutev6MsgRsp.Results:type_name -> service_layer.SLRoutev6Res + 11, // 7: service_layer.SLRoutev6GetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 0, // 8: service_layer.SLRoutev6GetMsgRsp.Entries:type_name -> service_layer.SLRoutev6 + 0, // 9: service_layer.SLRoutev6NotifRoute.Entries:type_name -> service_layer.SLRoutev6 + 12, // 10: service_layer.SLRoutev6Notif.EventType:type_name -> service_layer.SLNotifType + 11, // 11: service_layer.SLRoutev6Notif.ErrStatus:type_name -> service_layer.SLErrorStatus + 13, // 12: service_layer.SLRoutev6Notif.NotifStatus:type_name -> service_layer.SLRouteNotifStatus + 6, // 13: service_layer.SLRoutev6Notif.Route:type_name -> service_layer.SLRoutev6NotifRoute + 14, // 14: service_layer.SLRoutev6Notif.Marker:type_name -> service_layer.SLRouteNotifMarker + 15, // 15: service_layer.SLRoutev6Notif.Vrf:type_name -> service_layer.SLVrfNotif + 16, // 16: service_layer.SLRoutev6Oper.SLRoutev6GlobalsGet:input_type -> service_layer.SLRouteGlobalsGetMsg + 17, // 17: service_layer.SLRoutev6Oper.SLRoutev6GlobalStatsGet:input_type -> service_layer.SLRouteGlobalStatsGetMsg + 18, // 18: service_layer.SLRoutev6Oper.SLRoutev6VrfRegOp:input_type -> service_layer.SLVrfRegMsg + 19, // 19: service_layer.SLRoutev6Oper.SLRoutev6VrfRegGet:input_type -> service_layer.SLVrfRegGetMsg + 19, // 20: service_layer.SLRoutev6Oper.SLRoutev6VrfGetStats:input_type -> service_layer.SLVrfRegGetMsg + 1, // 21: service_layer.SLRoutev6Oper.SLRoutev6Op:input_type -> service_layer.SLRoutev6Msg + 4, // 22: service_layer.SLRoutev6Oper.SLRoutev6Get:input_type -> service_layer.SLRoutev6GetMsg + 1, // 23: service_layer.SLRoutev6Oper.SLRoutev6OpStream:input_type -> service_layer.SLRoutev6Msg + 4, // 24: service_layer.SLRoutev6Oper.SLRoutev6GetStream:input_type -> service_layer.SLRoutev6GetMsg + 20, // 25: service_layer.SLRoutev6Oper.SLRoutev6GetNotifStream:input_type -> service_layer.SLRouteGetNotifMsg + 21, // 26: service_layer.SLRoutev6Oper.SLRoutev6GlobalsGet:output_type -> service_layer.SLRouteGlobalsGetMsgRsp + 22, // 27: service_layer.SLRoutev6Oper.SLRoutev6GlobalStatsGet:output_type -> service_layer.SLRouteGlobalStatsGetMsgRsp + 23, // 28: service_layer.SLRoutev6Oper.SLRoutev6VrfRegOp:output_type -> service_layer.SLVrfRegMsgRsp + 24, // 29: service_layer.SLRoutev6Oper.SLRoutev6VrfRegGet:output_type -> service_layer.SLVrfRegGetMsgRsp + 25, // 30: service_layer.SLRoutev6Oper.SLRoutev6VrfGetStats:output_type -> service_layer.SLVRFGetStatsMsgRsp + 3, // 31: service_layer.SLRoutev6Oper.SLRoutev6Op:output_type -> service_layer.SLRoutev6MsgRsp + 5, // 32: service_layer.SLRoutev6Oper.SLRoutev6Get:output_type -> service_layer.SLRoutev6GetMsgRsp + 3, // 33: service_layer.SLRoutev6Oper.SLRoutev6OpStream:output_type -> service_layer.SLRoutev6MsgRsp + 5, // 34: service_layer.SLRoutev6Oper.SLRoutev6GetStream:output_type -> service_layer.SLRoutev6GetMsgRsp + 7, // 35: service_layer.SLRoutev6Oper.SLRoutev6GetNotifStream:output_type -> service_layer.SLRoutev6Notif + 26, // [26:36] is the sub-list for method output_type + 16, // [16:26] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_sl_route_ipv6_proto_init() } @@ -1141,9 +1102,6 @@ func file_sl_route_ipv6_proto_init() { } } } - file_sl_route_ipv6_proto_msgTypes[0].OneofWrappers = []interface{}{ - (*SLRoutev6_PathGroupKey)(nil), - } file_sl_route_ipv6_proto_msgTypes[7].OneofWrappers = []interface{}{ (*SLRoutev6Notif_ErrStatus)(nil), (*SLRoutev6Notif_NotifStatus)(nil), diff --git a/grpc/protos/sl_af.proto b/grpc/protos/sl_af.proto index 0985f53..a455e15 100644 --- a/grpc/protos/sl_af.proto +++ b/grpc/protos/sl_af.proto @@ -7,7 +7,7 @@ // change without notice and such changes can break backwards compatibility. // // ---------------------------------------------------------------- -// Copyright (c) 2023, 2024 by Cisco Systems, Inc. +// Copyright (c) 2023-2025 by Cisco Systems, Inc. // All rights reserved. // ----------------------------------------------------------------- // @@ -21,8 +21,6 @@ package service_layer; import "sl_common_types.proto"; import "sl_route_common.proto"; -import "sl_route_ipv4.proto"; -import "sl_route_ipv6.proto"; option go_package="github.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer"; @@ -42,7 +40,7 @@ option go_package="github.com/Cisco-service-layer/service-layer-objmodel/grpc/pr // Each client application MUST use a unique client ID identifying itself // that is separate from other clients programming the server. If there // are multiple instances of the client application, then each such -// instance MUST be uniquely idenified. +// instance MUST be uniquely identified. // // If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes // a default client id of 0 for that RPC invocation and associates @@ -83,7 +81,7 @@ service SLAF { // any other object (e.g. IP Route and MPLS label object) created by // ANY other client. // - // Only the client that created the object (IP/MPLS and Path Group included) + // Only the client that created the object (IP/MPLS and Path Group included) // can manipulate that object. // @@ -171,6 +169,8 @@ service SLAF { rpc SLAFOpStream(stream SLAFMsg) returns (stream SLAFMsgRsp); // Retrieves object attributes. + // This RPC is unidirectional streaming from the server side + // Server will close the stream when all the entries have been returned. rpc SLAFGet(SLAFGetMsg) returns (stream SLAFGetMsgRsp); // The route redistribution and next hop tracking RPC. @@ -193,7 +193,8 @@ service SLAF { // The call takes a stream of per-VRF table notification requests. // Each notification request is first responded to with the result // of the registration operation itself, followed by any redistributed - // routes if requested and present, and any next hops if requested and present. + // routes if requested and present, and any next hops if requested and + // present. // From then on, any updates are notified as long as RPC is up. rpc SLAFNotifStream(stream SLAFNotifReq) returns (stream SLAFNotifMsg); @@ -205,7 +206,7 @@ message SLAFVrfReg { // Registration message is applied on VRF's identified table SLTableType Table = 1; - // VRF registration attibutes + // VRF registration attributes SLVrfReg VrfReg = 2; } @@ -252,7 +253,8 @@ message SLAFVrfRegMsgRsp { // Returns the VRF registrations done for all table types. message SLAFVrfRegGetMsg { // If true, returns VRF registrations for all clients. - // If false, returns VRF registrations for this client as identified by the gRPC metadata. + // If false, returns VRF registrations for this client as identified by + // the gRPC metadata. bool GetAll = 1; } @@ -304,11 +306,10 @@ message SLPathGroup { } // Flags to control programming of the PathGroup to Routing - // Information Base. Each flag is indicated as a bit field. - // See SLRouteFlags for flag enumerations. + // Information Base. See SLRouteFlags for flag enumerations. // Supported values are: // - // SL_ROUTE_FLAG_VIABLE_PATHS_ONLY. + // SL_ROUTE_FLAG_VIABLE_PATHS_ONLY. // - If the flag is not set, all paths in the PathList are installed in // the PathGroup's load balance group, even if paths are unviable. // The Network element does not automatically update the PathGroup's @@ -326,7 +327,7 @@ message SLPathGroup { // based on their administrative distance. PathGroup's viability // is not considered as a criterion to determine the routes' and // MPLS entries' activeness. The network element does not automatically - // promote or demote the routes and MPLS entries as viability of the + // promote or demote the routes and MPLS entries as viability of the // PathGroup changes. // // - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also @@ -335,43 +336,42 @@ message SLPathGroup { // on their administrative distance AND viability of the PathGroup. // At least one path in the PathGroup must be viable for the // PathGroup to be viable. The network element automatically promotes or - // demotes the routes and MPLS entries as viability of the PathGroup changes. + // demotes the routes and MPLS entries as viability of the PathGroup + // changes. // // Others - Reserved. - uint32 Flags = 4; + repeated SLRouteFlags PgFlags = 4; +} + +// Key for a MPLS label entry +message SLMplsEntryKey { + // Local Label + uint32 Label = 1; } // MPLS entry. // This message defines an entry in the MPLS forwarding table. message SLMplsEntry { - // Local Label - uint32 LocalLabel = 1; + // MPLS Key + SLMplsEntryKey MplsKey = 1; // Administrative distance of the MPLS label. Possible values // are [0-255]. RIB uses this field to break the tie when multiple // sources install the same incoming MPLS label. Lower distance is // preferred over higher distance. The per MPLS label object admin distance - // overrides the default admin distance set at VRF registration. see SLVrfReg. + // overrides the default admin distance set at VRF registration. + // see SLVrfReg. uint32 AdminDistance = 2; - // For ADD or UPDATE operation, only one of PathList or - // SLPathGroupRefKey must be specified. For DELETE, neither - // are required. + // For ADD or UPDATE operation, atleast one path in the PathList + // must be specified. For DELETE, PathList is ignored. // List of paths for this MPLS label entry. // Specifying more than one path is allowed for ECMP/UCMP cases. repeated SLRoutePath PathList = 3; - // Reference to the Path Group for this MPLS label entry. - // The attribute is oneof to allow for future extension. - oneof entry { - // Path group reference key - SLPathGroupRefKey PathGroupKey = 4; - } - // Flags to control programming of the MPLS Entry to Routing - // Information Base. Each flag is indicated as a bit field. - // See SLRouteFlags for flag enumerations. + // Information Base. See SLRouteFlags for flag enumerations. // Supported values are: // // SL_ROUTE_FLAG_VIABLE_PATHS_ONLY - This flag on the MPLS Entry @@ -388,8 +388,8 @@ message SLMplsEntry { // The Network element also automatically updates the MPLS Entry's // load balance group when path viability changes. // - // - If the MPLS Entry refers to the PathGroup, then a programming error is - // returned and the corresponding setting on the PathGroup dictates + // - If the MPLS Entry refers to the PathGroup, then a programming error is + // returned and the corresponding setting on the PathGroup dictates // path programming. // // SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH - This flag is supported only for @@ -410,33 +410,52 @@ message SLMplsEntry { // are no longer viable. // // - If the MPLS Entry refers to the PathGroup, - // then a programming error is returned and the corresponding setting on - // PathGroup dictates whether this route should be considered in best + // then a programming error is returned and the corresponding setting on + // PathGroup dictates whether this route should be considered in best // route calculations. // // Others - Reserved. - uint32 Flags = 5; + repeated SLRouteFlags MplsFlags = 4; +} + +// SL IPv4 or IPv6 Unicast Route Object +message SLAFIPRoute { + // IP Route Prefix + SLRoutePrefix IPRoutePrefix = 1; + + // Common route attributes + SLRouteCommon RouteCommon = 2; + + // List of route paths for this route. + // Specifying more than one path is allowed for ECMP/UCMP cases. + repeated SLRoutePath PathList = 3; } // One of AF objects message SLAFObject { oneof entry { - SLRoutev4 IPv4Route = 1; - SLRoutev6 IPv6Route = 2; - SLMplsEntry MplsLabel = 3; - SLPathGroup PathGroup = 4; + // IPv4 or IPv6 Unicast Route Object + SLAFIPRoute IPRoute = 1; + + // MPLS Label Object + SLMplsEntry MplsLabel = 2; + + // Path Group Object + SLPathGroup PathGroup = 3; } } // Operation on a forwarding table object -message SLAFOp { - +message SLAFOpMsg { + // Object SLAFObject AFObject = 1; // Unique operationID sent by the client to corelate the responses. // The responses from network element can be out of order, and client can - // use operation ID to correlate the response for the operation on the object. - // Operation Id should be monotonically increasing for the life of the client. + // use operation ID to correlate the response for the operation on the + // object. + // Operation Id should be monotonically increasing for the life of the + // client. uint64 OperationID = 2; // The type of Acknowledgment that the controller or agent expects from @@ -445,12 +464,14 @@ message SLAFOp { // ACKPermit and AckCadence are parameters that can be used to control // and filter hardware programming responses sent from SL-API server - // to the SL-API client based on the response type carried by SLAFRes.ErrStatus. - // These parameters are supported only for objects programmed with AckType as - // RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. + // to the SL-API client based on the response type carried by + // SLAFRes.Status. + // These parameters are supported only for objects programmed with AckType + // as RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. // These parameters only affect the responses sent to the SL-API client. // SL-API server will keep record of the latest hardware programming - // response for each object programmed with AckType as RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. + // response for each object programmed with AckType as RIB_AND_FIB_ACK or + // RIB_FIB_INUSE_ACK. // SL-API client can do a SLAFGet() RPC to retrieve the latest hardware // programming response regardless of what is defined in ACKPermit and // AckCadence. @@ -467,75 +488,99 @@ message SLAFOp { SLRspAckCadence AckCadence = 5; } -// Used to retrieve objects in a VRF table. -// Only objects produced by this client (as indicated in the RPC's metadata) -// are returned unless the GetAllClients is set to true. In that case, all -// the objects produced by all the clients is returned. -message SLAFGetMsg { - // VRF name. If VRF name is not specified or is nil, get objects from - // all VRFs. - string VrfName = 1; - - // If Table is set to SL_TABLE_TYPE_RESERVED, or is unset, objects from - // all tables for selected VRFs are returned - SLTableType Table = 2; - - // Get objects programmed by all clients, ignoring any RPC ClientID - // metadata - bool GetAllClients = 3; +// List of Client IDs for which entries will be returned +message SLAFClientIDList { + // List of Client IDs + repeated uint64 ClientIDList = 1; +} - // Get objects that match the value - repeated SLRouteGetMatch RouteMatch = 4; +// List of table types from whom objects for selected VRFs will be returned. +// Table type SL_TABLE_TYPE_RESERVED should not be used +message SLTableTypeList { + repeated SLTableType Table = 1; } -// FIB programming result of the dependent operation -message SLAFDepFibStatus { - // Error code associated with hardware programming - SLErrorStatus ErrorCode = 1; +// Key for a AF object +message SLAFObjectKey { + oneof key { + // IP Route Prefix Key + SLRoutePrefix IPRoutePrefix = 1; - // Operation ID of the dependent object - uint64 OperationID = 2; + // MPLS Label Object Key + SLMplsEntryKey MplsLabel = 2; - // Version of the dependent object. A valid version is - // a non-zero positive number. - uint64 Version = 3; + // Path Group Object Key + SLObjectId PathGroupId = 3; + } +} - // Key of the dependent object. This attribute is oneof to allow for future extension. - // If the parent object is programmed with reference to a path-group, - // the key of dependent path-group is returned here. +// Get objects whose attributes match one of below entries. +// Specify a regular expression for PathGroup name +// or a numerical value for Vxlan VNI +// or a specific IPv4, IPv6, MPLS or PG route key. +message SLAFGetMatch { oneof entry { - // Path group reference key - SLPathGroupRefKey PathGroupKey = 4; + // Return objects matching the specified object key (exact match) + SLAFObjectKey Key = 1; + + // Path Group Name Regex + string PathGroupRegex = 2; + + // Return VxLAN encap IP routes matching VNI ID + uint32 VxlanVniId = 3; } } -// FIB programming result of an object -message SLAFFibStatus { - // Version generated by the device for this operation. A valid version is - // a non-zero positive number - uint64 Version = 1; +// List of match criteria to return objects that match either of the criteria +// specified. +message SLAFGetMatchList { + // Match criteria to check objects to return + repeated SLAFGetMatch Match = 1; +} + +// Used to retrieve objects in a VRF table. This RPC +// can only be used to get objects programmed by this service. +message SLAFGetMsg { + + // VRF name. If VRF name is specified, the specified VRF + // is a candidate for object search. + // If VRF name is not specified or is nil, + // all VRFs are candidates for object search. + string VrfName = 1; + + // Search objects produced by either all clients or clients + // specified in the ClientIDList. If not specified, + // objects of the current client are searched. + oneof client { + // Search objects programmed by clients in the Client ID List + // Maximum number of entries allowed in the list is 32. All client ids + // specified after the maximum are discarded. + SLAFClientIDList ClientIDList = 2; + + // Search objects programmed by all clients + bool AllClients = 3; + } + + // If match is not specified, all objects of the searched + // VRFs and Client IDs are returned. + oneof match { + // Return only objects of specified table types. + SLTableTypeList TableList = 4; - // DepResult is the result of any object that this operation's object depends on. - // For example: if this operation is about programming an IPv4 or IPv6 - // route that is pointing to a Path Group, then the DepResult that will carry - // the FIB result of the operation that programmed that Path Group. - // Note, DepResult is returned on ADD and UPDATE operations only. - SLAFDepFibStatus DepResult = 2; + // Return objects that match the specified match criteria. + SLAFGetMatchList RouteMatchList = 5; + } } // Object and its programming status returned on Get message SLAFGetMsgRspEntry { // Object - SLAFOp AFOp = 1; + SLAFOpMsg AFOpMsg = 1; // If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - // or RIB_FIB_INUSE_ACK then ErrorCode indicates result of hardware programming of the - // operation - SLErrorStatus ErrorCode = 2; - - // If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - // or RIB_FIB_INUSE_ACK then Version is the last version number assigned by the device. - uint64 Version = 3; + // or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware + // programming of the operation. + SLAFFibStatus FIBStatus = 2; } // Get AF message response. The objects can be returned in @@ -577,26 +622,36 @@ message SLAFMsg { string VrfName = 2; // List of operations - repeated SLAFOp OpList = 3; + repeated SLAFOpMsg OpList = 3; } // Result of an operation on the object message SLAFRes { - // Error code - SLErrorStatus ErrStatus = 1; + // Status of Operation. + // Status == SL_SUCCESS implies that the object is programmed in RIB. + // Any other value implies some failure. + SLErrorStatus Status = 1; - // The operation, expected to carry only the part that is considered - // the key to uniquely identify the object that is programmed - SLAFOp Operation = 2; + // Object key + SLAFObjectKey Key = 2; - // Descriptive string describing error if any, on the hardware programming - string ErrorString = 3; + // Unique operationID sent by the client to corelate the responses. + // The responses from network element can be out of order, and client can + // use operation ID to correlate the response for the operation on the + // object. + // Operation Id should be monotonically increasing for the lifetime of the + // client. + uint64 OperationID = 3; // If the operation was programmed with ACK type set to RIB_AND_FIB_ACK, - // or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware programming of the - // operation + // or RIB_FIB_INUSE_ACK, then FIBStatus indicates status of hardware + // programming of the operation. SLAFFibStatus FIBStatus = 4; + + // In case Status or FIBStatus indicates failure, the ErrorString MAY + // provide more descriptive context about the failure. + string ErrorString = 5; } // Route operations result status @@ -631,24 +686,22 @@ message SLAFRedistRegMsg { // Next hop registration request key message SLAFNextHopRegKey { message SLNextHopKey { - // Next Hop IP to resolve - SLIpAddress NextHop = 1; - // Length of Next Hop IP address to use for resolution - uint32 NextHopLen = 2; + // Next Hop IP to resolve + SLRoutePrefix NextHopIP = 1; // Chose exact vs. best match - bool ExactMatch = 3; + bool ExactMatch = 2; // Allow default route to be returned - bool AllowDefault = 4; + bool AllowDefault = 3; // If this flag is not set or set to False, only the immediate // viable path list is returned. If set to True, recursively resolve // the next hop's paths and return the flattened path list. // If the list exceeds MaxPathsInNexthopNotif, then only the // first MaxPathsInNexthopNotif will be returned. - bool Recurse = 5; + bool Recurse = 4; } // Notification request key @@ -727,43 +780,42 @@ message SLAFNotifRsp { } // Next hop Notification. -// If there are no viable paths to the next hop, ResolvingRoute, -// ResolvingRouteLen, SrcProto are not set, AdminDistance/Metric are set to -// UINT32_MAX. +// If there are no viable paths to the next hop, then: +// 1. ResolvingPrefix, SrcProto are not set, and +// 2. AdminDistance and Metric are set to UINT32_MAX. message SLNextHop { + // Next hop registration key SLAFNextHopRegKey NextHopKey = 1; // Prefix of the route resolving the nexthop - SLIpAddress ResolvingRoute = 2; - - // Resolving route's prefix length - uint32 ResolvingRouteLen = 3; + SLRoutePrefix ResolvingPrefix = 2; // Source Protocol. // Contact Cisco for supported protocol string names. - string SrcProto = 4; + string SrcProto = 3; // Source Protocol Tag. This can be empty if N/A. // Contact Cisco for supported protocol tags. // This field is optional. - string SrcProtoTag = 5; + string SrcProtoTag = 4; // Nexthop route distance - uint32 AdminDistance = 6; + uint32 AdminDistance = 5; // Nexthop route metric - uint32 Metric = 7; + uint32 Metric = 6; // Nexthop's path list. Paths indicate paths available // for the next hop. In case of recursive next hop resolution, // the returned path list consists of flattened directly connected // paths. - // Returned attributes in Path are NexthopAddress, NexthopInterface, VrfName. + // Returned attributes in Path are NexthopAddress, NexthopInterface, + // VrfName. // // If this field is not present, // then no viable path to the next hop exist. - repeated SLRoutePath Paths = 8; + repeated SLRoutePath Paths = 7; } // AF Notification message @@ -773,7 +825,7 @@ message SLAFNotif { // Table type for the Marker. SLTableType Table = 1; } - + oneof Event { // This field carries the status of the SLAFNotifReq message SLAFNotifRsp NotifStatus = 1; @@ -781,10 +833,10 @@ message SLAFNotif { // This field carries the start marker per VRF per Tabletype. // Server sends this event before any notifications are sent under // following conditions: - // - If there are no previous redistribution registrations for the VRF and - // table type, and new redistribution requests are registered, then - // when the first route matching any of the redistribution registrations - // is available. + // - If there are no previous redistribution registrations for the + // VRF and table type, and new redistribution requests are registered, + // then when the first route matching any of the redistribution + // registrations is available. // - On a RIB restart if there are previous redistribution registrations // on the VRF and table type. // This allows the client to stale any previous notifications in its @@ -798,8 +850,8 @@ message SLAFNotif { // - On redistribution registrations from the client when // all routes matching the outstanding redistribution registrations // have been sent to the client. - // - On RIB restart, after all routes matching the outstanding - // registrations on the VRF and table type have been notified to the + // - On RIB restart, after all routes matching the outstanding + // registrations on the VRF and table type have been notified to the // client. // The client can now reconcile and sweep any stale notifications. SLRedistMarker EndMarker = 3; @@ -810,8 +862,8 @@ message SLAFNotif { // for forwarding. If the route is deleted, or no paths are available // for forwarding, the PathList is not returned. // If the route is programmed with PathGroupRefKey, the redistributed - // route contains PathGroupRefKey. If the route is deleted, or the path group - // is unviable, the PathGroupRefKey is not returned. + // route contains PathGroupRefKey. If the route is deleted, or the + // path group is unviable, the PathGroupRefKey is not returned. SLAFObject RedistObject = 4; // Next hop change notification diff --git a/grpc/protos/sl_common_types.proto b/grpc/protos/sl_common_types.proto index ec889e2..64daa4c 100644 --- a/grpc/protos/sl_common_types.proto +++ b/grpc/protos/sl_common_types.proto @@ -1,8 +1,8 @@ // @file -// @brief Common definitions for all of the service layer proto files. +// @brief Common definitions for all of the service layer proto files. // //--------------------------------------------------------------------- -// Copyright (c) 2019, 2024 by Cisco Systems, Inc. +// Copyright (c) 2019, 2024-2025 by Cisco Systems, Inc. // All rights reserved. //--------------------------------------------------------------------- // @@ -98,7 +98,7 @@ message SLErrorStatus { SL_RPC_VRF_SERVER_NOT_INITIALIZED = 0x1002; // Operation not supported in auto-register mode. 0x1003 SL_RPC_VRF_OP_NOTSUP_WITH_AUTOREG = 0x1003; - + // !!! Error codes for VRF objects. // Offset for VRF errors. 0x2000 @@ -109,9 +109,11 @@ message SLErrorStatus { SL_VRF_NOT_FOUND = 0x2002; // On a VRF registration, Table ID for the VRF is not found. 0x2003 SL_VRF_NO_TABLE_ID = 0x2003; - // VRF add registration message with invalid administrative distance. 0x2004 + // VRF add registration message with invalid administrative distance. + // 0x2004 SL_VRF_REG_INVALID_ADMIN_DISTANCE = 0x2004; - // On a VRF registration, Table cannot be added to persistent memory. 0x2005 + // On a VRF registration, Table cannot be added to persistent memory. + // 0x2005 SL_VRF_TABLE_ADD_ERR = 0x2005; // VRF table cannot be registered with RIB. 0x2006 SL_VRF_TABLE_REGISTRATION_ERR = 0x2006; @@ -141,7 +143,7 @@ message SLErrorStatus { SL_VRF_V6_ROUTE_REPLAY_OK = 0x2013; // !!! Error codes for Route operations. - + // Offset for Route operation errors. 0x3000 SL_RPC_ROUTE_START_OFFSET = 0x3000; // Operation rejected for ALL routes due to too many routes in the @@ -172,9 +174,11 @@ message SLErrorStatus { SL_RPC_ROUTE_NOTIF_SRC_PROTO_TOOLONG = 0x3009; // Operation rejected as the request's SrcProtoTag is too long. 0x300a SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG = 0x300a; - // Operation rejected as the requested match value/values/criteria is invalid. 0x300b + // Operation rejected as the requested match value/values/criteria + // is invalid. 0x300b SL_RPC_ROUTE_GET_MATCH_INVALID = 0x300b; - // Operation rejected as the requested match value/values/criteria is not supported. 0x300c + // Operation rejected as the requested match value/values/criteria + // is not supported. 0x300c SL_RPC_ROUTE_GET_MATCH_NOTSUP = 0x300c; // !!! Error codes for Route objects. @@ -205,7 +209,7 @@ message SLErrorStatus { // One or more paths could not be programmed in RIB as number of paths // reached system limit. 0x400b SL_ROUTE_ERR_RIB_TOOMANYPATHS = 0x400b; - // This route already exists in the database. 0x400c + // This route already exists in the database. 0x400c SL_ROUTE_EEXIST = 0x400c; // Route prefix has host bits set. 0x400d SL_ROUTE_HOST_BITS_SET = 0x400d; @@ -234,7 +238,8 @@ message SLErrorStatus { SL_PATH_NH_INTF_NOT_FOUND = 0x5002; // Number of labels in the path exceeds system capabilities. 0x5003 SL_PATH_INVALID_LABEL_COUNT = 0x5003; - // Path ID assigned to the path falls outside the supported range. 0x5004 + // Path ID assigned to the path falls outside the supported range. + // 0x5004 SL_PATH_INVALID_ID = 0x5004; // Path VRF name exceeds supported length. 0x5005 SL_PATH_VRF_NAME_TOOLONG = 0x5005; @@ -283,7 +288,8 @@ message SLErrorStatus { SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH = 0x501a; // PATH router mac is not supported with VxLAN path attributes. 0x501b SL_PATH_RTR_MAC_NOSUP = 0x501b; - // Path Encap type attribute does not match specified encapsulation. 0x501c + // Path Encap type attribute does not match specified encapsulation. + // 0x501c SL_PATH_ENCAP_TYPE_MISMATCH = 0x501c; // !!! Error codes for BFD opertations. @@ -314,7 +320,7 @@ message SLErrorStatus { SL_BFD_INTF_NAME_TOOLONG = 0x7001; // BFD Session's interface not found. 0x7002 SL_BFD_INTF_NOT_FOUND = 0x7002; - // BFD Session's tx interval or multiplier are beyond the + // BFD Session's tx interval or multiplier are beyond the // supported range. 0x7003 SL_BFD_INVALID_ATTRIBUTE = 0x7003; // BFD Session's interface name is missing. 0x7004 @@ -325,7 +331,7 @@ message SLErrorStatus { SL_BFD_INVALID_NBR = 0x7006; // BFD Session's VRF Name is too long. 0x7007 SL_BFD_VRF_NAME_TOOLONG = 0x7007; - // BFD Session's one or more parameters are invalid. + // BFD Session's one or more parameters are invalid. // For example, Multihop BFD can not have the interface name set. 0x7008 SL_BFD_BAD_PARAMETER = 0x7008; // BFD Session failed with internal error. 0x7009 @@ -401,7 +407,8 @@ message SLErrorStatus { SL_ILM_ELSP_EXP_OR_DFLT_ALREADY_SET = 0x900e; // MPLS ILM add operation requested but no paths were provided. 0x900f SL_ILM_ADD_NO_PATHS = 0x900f; - // MPLS ILM update operation requested but no paths were provided. 0x9010 + // MPLS ILM update operation requested but no paths were provided. + // 0x9010 SL_ILM_UPDATE_NO_PATHS = 0x9010; // LSP and ELSP on the same label not supported. 0x9011 SL_ILM_UNSUPPORTED_ELSP = 0x9011; @@ -449,7 +456,7 @@ message SLErrorStatus { SL_NHLFE_NH_INF_NAME_MISSING = 0xa005; // Interface name exceeds supported length. 0xa006 SL_NHLFE_NH_INTF_NAME_TOOLONG = 0xa006; - // Number of labels in the path incompatible with system capabilities + // Number of labels in the path incompatible with system capabilities // for the given label action. 0xa007 SL_NHLFE_INVALID_LABEL_COUNT = 0xa007; // Path id is invalid in NHLFE. 0xa008 @@ -509,7 +516,8 @@ message SLErrorStatus { SL_NHLFE_NON_CONTIGUOUS_SETIDS = 0xa022; // Paths with same EXP classification are not contiguous. 0xa023 SL_NHLFE_NON_CONTIGUOUS_EXP = 0xa023; - // On a ILM, mix of NHLFE with EXP class and others without any EXP class are not allowed. 0xa024 + // On a ILM, mix of NHLFE with EXP class and others without any EXP + // class are not allowed. 0xa024 SL_NHLFE_INCONSISTENT_EXP_ON_PATH = 0xa024; // !!! MPLS Label block Error codes @@ -559,7 +567,7 @@ message SLErrorStatus { SL_RPC_INTF_TOO_MANY_INTERFACES = 0xd001; // Interface Operation rejected as server is not initialized. 0xd002 SL_RPC_INTF_SERVER_NOT_INITIALIZED = 0xd002; - // Interface Operation failed as server is not registered with + // Interface Operation failed as server is not registered with // interface manager. 0xd003 SL_RPC_INTF_API_CLIENT_NOT_REGISTERED = 0xd003; @@ -571,7 +579,7 @@ message SLErrorStatus { SL_INTF_INTERFACE_NAME_MISSING = 0xe001; // Interface object's interface name exceeds supported length. 0xe002 SL_INTF_INTERFACE_NAME_TOOLONG = 0xe002; - // Interface internal registration error. 0xe003 + // Interface internal registration error. 0xe003 SL_INTF_INTERFACE_REG_ERR = 0xe003; // Internal database error. 0xe004 SL_INTF_INTERNAL_DB_ERROR = 0xe004; @@ -694,7 +702,8 @@ message SLErrorStatus { SL_PG_VRF_NO_VRFID = 0x15002; // PathGroup's string key is too long. 0x15003 SL_PG_STR_KEY_TOOLONG = 0x15003; - // ID of a next hop VRF in a path in the PathGroup cannot be determined. 0x15004 + // ID of a next hop VRF in a path in the PathGroup cannot be determined. + // 0x15004 SL_PG_TARGET_VRF_NO_VRFID = 0x15004; // PathGroup's string key contains invalid characters. 0x15005 SL_PG_STR_KEY_INVALID = 0x15005; @@ -721,19 +730,12 @@ message SLErrorStatus { SL_ROUTE_REDIST_RIB_ADD_FAILED = 0x16008; // Offset for Hardware Ack errors. 0x17000 - SL_FIB_START_OFFSET = 0x17000; - // The operation is successfully programmed in hardware. 0x17001 - SL_FIB_SUCCESS = 0x17001; - // FIB programming failure. 0x17002 - SL_FIB_FAILED = 0x17002; - // The operation is not viable to be programmed in hardware at this time. 0x17003 - SL_FIB_INELIGIBLE = 0x17003; - // The forwarding chain using this object is fully active in hardware. 0x17004 - SL_FIB_INUSE_SUCCESS = 0x17004; - // Ack permit is not supported when ack type is not RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17005 - SL_ACK_PERMIT_NOT_SUPPORTED = 0x17005; - // Given ack type is not permitted on object of this type. 0x17006 - SL_INVALID_ACKTYPE = 0x17006; + SL_ACK_START_OFFSET = 0x17000; + // Ack permit is supported only on streaming RPC with ack type set + // to RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17001 + SL_ACK_PERMIT_NOT_SUPPORTED = 0x17001; + // The Ack type requested is not supported on the object type. 0x17002 + SL_ACK_INVALID_TYPE = 0x17002; // !!! Error codes for operations on policy objects. @@ -768,7 +770,7 @@ message SLErrorStatus { // Rule belongs to a different policy. 0x1800e SL_POLICY_INVALID_RULE = 0x1800e; // Rule add operation requested but no rules were provided. 0x1800f - SL_POLICY_RULE_ADD_NO_RULES = 0x1800f; + SL_POLICY_RULE_ADD_NO_RULES = 0x1800f; // Rule add operation requested but no matches were provided. 0x18010 SL_POLICY_INVALID_MATCH_COUNT_IN_RULE = 0x18010; // Rule add operation requested but no actions were provided. 0x18011 @@ -779,17 +781,17 @@ message SLErrorStatus { SL_POLICY_INVALID = 0x18013; // Policy name missing. 0x18014 SL_POLICY_NAME_MISSING = 0x18014; - // Rule name missing. 0x18015 + // Rule name missing. 0x18015 SL_POLICY_RULE_NAME_MISSING = 0x18015; // Priority missing in rule. 0x18016 SL_POLICY_PRIORITY_MISSING_IN_RULE = 0x18016; - // Invalid policy type. 0x18017 + // Invalid policy type. 0x18017 SL_POLICY_TYPE_INVALID = 0x18017; // Invalid policy direction. 0x18018 SL_POLICY_INVALID_DIRECTION = 0x18018; // Policy object's interface name exceeds supported length. 0x18019 SL_POLICY_INTF_NAME_TOOLONG = 0x18019; - // Policy object's interface name is missing. 0x1801a + // Policy object's interface name is missing. 0x1801a SL_POLICY_INTF_NAME_MISSING = 0x1801a; // Max rule limit within a policy is reached. 0x1801b SL_POLICY_MAX_RULE_LIMIT_REACHED = 0x1801b; @@ -803,7 +805,7 @@ message SLErrorStatus { SL_POLICY_PATH_GRP_NAME_MISSING = 0x1801f; // Invalid Dscp Value. 0x18020 SL_POLICY_INVALID_DSCP_VALUE = 0x18020; - // Priority string too long. 0x18021 + // Priority string too long. 0x18021 SL_POLICY_PRIORITY_STR_TOO_LONG = 0x18021; // Max interfaces limit in policy reached. 0x18022 SL_POLICY_MAX_INTF_LIMIT_REACHED = 0x18022; @@ -813,11 +815,13 @@ message SLErrorStatus { SL_POLICY_APPLY_NO_INTFS = 0x18024; // Policy unapply requested but no interfaces were provided. 0x18025 SL_POLICY_UNAPPLY_NO_INTFS = 0x18025; + // Policy object replace failed. 0x18026 + SL_POLICY_REPLACE_ERR = 0x18026; // !!! Error codes for Bgpls Topology objects. // Offset for Bgpls Topology errors. 0x19000 - SL_BGPLS_TOPO_START_OFFSET = 0x19000; + SL_BGPLS_TOPO_START_OFFSET = 0x19000; // LSLIB Server which is required for BGPLS Topology Service // is not available. 0x19001 @@ -829,7 +833,6 @@ message SLErrorStatus { // Maximum SLBgplsTopoNotifStream exceeded. 0x19003 SL_BGPLS_MAX_STREAMS_EXCEEDED = 0x19003; - // !!! Error codes Reserved for internal errors. // Offset for Internal errors. 0x100000 @@ -965,84 +968,104 @@ enum SLRspACKType { // If the object in the operation is successfully applied to RIB, // SL_SUCCESS is returned. // - // If the object in the operation is not active and cannot be programmed to FIB, - // SL_FIB_INELIGIBLE is returned as a second response and the operation is - // considered complete. + // If the object in the operation is not active and cannot be programmed to + // FIB, SL_FIB_INELIGIBLE is returned as a second response and the + // operation is considered complete. // // As a result of an operation on an object, if another previously - // programmed object becomes ineligible, previously programmed object will be - // removed from FIB and SL_FIB_INELIGIBLE will be sent asynchronously with - // the last known OperationID for that object. However, the object will + // programmed object becomes ineligible, previously programmed object will + // be removed from FIB and SL_FIB_INELIGIBLE will be sent asynchronously + // with the last known OperationID for that object. However, the object will // continue to remain in RIB. // // Eventually, when the object becomes active, the object is sent to FIB - // and result of the hardware programming is returned asynchronously with the last - // known OperationID for that object. + // and result of the hardware programming is returned asynchronously with + // the last known OperationID for that object. // // **Note 1: while the object is waiting for FIB to be programmed, - // client can send another update on the object and the object remains in-active. + // client can send another update on the object and the object remains + // in-active. // The network element may coalesce such back to back operations. // In this scenario, only the last operation on the object is responded to - // with corresponding hardware programming result + // with corresponding hardware programming result. // - // **Note 2: relay fib programming status is supported only in server streaming RPC. - // However, the AckType RIB_AND_FIB_ACK is supported in both unary (SLAFOp) as well as - // streaming (SLAFOpStream) rpc. When unary rpc is used for programming an object - // with ackType as RIB_AND_FIB_ACK, fib programming will be tracked internally by - // the server and can be retrieved through get operation. + // **Note 2: relay of FIB programming status is supported only in server + // streaming RPC. + // However, the AckType RIB_AND_FIB_ACK is supported in both unary (SLAFOp) + // as well as streaming (SLAFOpStream) RPC. When unary RPC is used for + // programming an object with ackType as RIB_AND_FIB_ACK, FIB programming + // will be tracked internally by the server and can be retrieved + // through get operation. RIB_AND_FIB_ACK = 1; - // When the operating mode is RIB_FIB_INUSE_ACK, along with the behavior - // explained above for RIB_AND_FIB_ACK, the client will receive an additional - // response of type SL_FIB_INUSE_SUCCESS. RIB_FIB_INUSE_ACK indicates that object - // has been programmed in FIB and is being actively used by one or more - // forwarding chains. - // RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup + // When the ack type is RIB_FIB_INUSE_ACK, along with the behavior + // explained above for RIB_AND_FIB_ACK, the client will receive an + // additional response of type SL_FIB_INUSE_SUCCESS. RIB_FIB_INUSE_ACK + // indicates that object has been programmed in FIB and is being actively + // used by one or more forwarding chains. + // // RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup. RIB_FIB_INUSE_ACK = 2; } +// SLAFFibStatus defines possible status for hardware programming of +// the operaration. +enum SLAFFibStatus { + // Hardware programming status is not available for this operation at + // this time. + SL_FIB_UNKNOWN = 0; + + // The operation is successfully programmed in hardware. + SL_FIB_SUCCESS = 1; + + // Hardware programming failure + SL_FIB_FAILED = 2; + + // The object is not eligible (e.g. not best path, next hop down, etc.) + // to be programmed in hardware. + SL_FIB_INELIGIBLE = 3; -// SLRspACKPermit defines bit-field that control the types of hardware programming -// responses that the client is interested in. -// A set bit in the mask indicates PERMIT/ALLOW the corresponding response type. + // The forwarding chain using this object is fully active in hardware + // and is in-use by at least one referencing object that is also + // programmed in hardware. + SL_FIB_INUSE_SUCCESS = 4; +} + + +// SLRspACKPermit defines the list that control the types of hardware +// programming responses as defined in SLAFFibStatus that the client is +// interested in. // If the SL-API client is interested in only a subset of possible responses -// for hardware programming, then the corresponding bits are turned ON in the -// bit-field. +// for hardware programming, then the corresponding Permit types can be added +// to the list. // Control of response type is supported ONLY when ACK type is -// RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK and is NOT supported when ACK type is RIB_ACK. -// Errorcodes not listed in SLRspACKPermit such as parsing errors are -// always permitted and will be relayed to the client even when SLRspACKPermit -// is set to values other than SL_PERMIT_ALL. +// RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK and is NOT supported when ACK type +// is RIB_ACK. // When AckPermit is not set by the SL-API client, the SL-API server // will default to SL_PERMIT_ALL enum SLRspACKPermit { - // An undefined or 0 value Permits all SLErrorStatus to be relayed to client - SL_PERMIT_ALL = 0; - - // Permits SL_SUCCESS to be relayed to client - // Note: SL_SUCCESS cannot be suppressed if ACK type is RIB_ACK - SL_PERMIT_SL_SUCCESS = 1; + // An undefined or 0 value Permits all SLAFFibStatus to be relayed to client + SL_PERMIT_FIB_STATUS_ALL = 0; // Permits SL_FIB_SUCCESS to be relayed to client - SL_PERMIT_SL_FIB_SUCCESS = 2; + SL_PERMIT_FIB_SUCCESS = 1; // Permits SL_FIB_FAILED to be relayed to client - SL_PERMIT_SL_FIB_FAILED = 3; + SL_PERMIT_FIB_FAILED = 2; // Permits SL_FIB_INELIGIBLE to be relayed to client - SL_PERMIT_SL_FIB_INELIGIBLE = 4; + SL_PERMIT_FIB_INELIGIBLE = 3; - // Permits SL_FIB_INUSE to be relayed to client - SL_PERMIT_SL_FIB_INUSE_SUCCESS = 5; + // Permits SL_FIB_INUSE_SUCCESS to be relayed to client + SL_PERMIT_FIB_INUSE_SUCCESS = 4; } // SLRspAckCadence controls the cadence of hardware programming responses. // When SLRspAckCadence is NOT set by the SL-API client, the SL-API server -// will default to SL_RSP_CONTINOUS and send responses defined by SLRspACKPermit, -// for all hardware programming events including events that are internal -// to the router such as insertion or removal of line cards. -// Control of cadence is supported only when ACK type is RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK -// and SLRspACKPermit MUST be set with value other than SL_PERMIT_ALL. +// will default to SL_RSP_CONTINOUS and send responses defined by +// SLRspACKPermit, for all hardware programming events including events that +// are internal to the router such as insertion or removal of line cards. +// Control of cadence is supported only when ACK type is RIB_AND_FIB_ACK +// or RIB_FIB_INUSE_ACK. enum SLRspAckCadence { // Continuous relay of hardware programming/re-programming responses SL_RSP_CONTINUOUS = 0; @@ -1052,10 +1075,14 @@ enum SLRspAckCadence { // // For Example: // In the case where client sends - // Permit == SL_PERMIT_SL_FIB_INELIGIBLE | SL_PERMIT_SL_FIB_SUCCESS | SL_PERMIT_SL_FIB_FAILED - // Cadence == SL_RSP_JUST_ONCE and at the time of programming if the object was not viable - // to be programmed in hardware, then the first response would be SL_FIB_INELIGIBLE. - // There will no further notification when the object becomes viable and programmed in FIB. + // Permit == SL_PERMIT_FIB_INELIGIBLE | + // SL_PERMIT_FIB_SUCCESS | + // SL_PERMIT_FIB_FAILED + // Cadence == SL_RSP_JUST_ONCE and at the time of programming if the + // object was not viable to be programmed in hardware, then the first + // response would be SL_FIB_INELIGIBLE. + // There will no further notification even when the object becomes + // viable and programmed in FIB. SL_RSP_JUST_ONCE = 1; // SL_RSP_ONCE_EACH cadence will allow only the first response for hardware @@ -1063,19 +1090,23 @@ enum SLRspAckCadence { // // For Example: // In the case where client sends - // Permit == SL_PERMIT_SL_FIB_INELIGIBLE | SL_PERMIT_SL_FIB_SUCCESS | SL_PERMIT_SL_FIB_FAILED - // and Cadence == SL_RSP_ONCE_EACH and at the time of programming if the object was not viable - // to be programmed in hardware, then the first response would be SL_FIB_INELIGIBLE. - // Later, whenever the route becomes viable and gets programmed in the FIB the - // corresponding result SL_FIB_SUCCESS/SL_FIB_FAILED will be also be notified. + // Permit == SL_PERMIT_FIB_INELIGIBLE | + // SL_PERMIT_FIB_SUCCESS | + // SL_PERMIT_FIB_FAILED + // and Cadence == SL_RSP_ONCE_EACH and at the time of programming if + // the object was not viable to be programmed in hardware, then the + // first response would be SL_FIB_INELIGIBLE. + // Later, whenever the route becomes viable and gets programmed in the + // FIB the corresponding result SL_FIB_SUCCESS/SL_FIB_FAILED will + // be also be notified. // This will be particularly useful in the case of out of order programming // where the prefix is ineligible until referenced PathGroup is programmed. SL_RSP_ONCE_EACH = 2; // Blocks all response types. This option is used when client expects - // the hw-programming to be tracked internally within service-layer grpc + // the hw-programming to be tracked internally within service-layer gRPC // server but doesn't expect any notification to be sent to the client. - // This option makes any SLRspACKPermit value to be treated as don't care. + // When SL_RSP_NONE is used, the value of SLRspACKPermit is ignored. SL_RSP_NONE = 3; } @@ -1084,14 +1115,16 @@ enum SLRspAckCadence { // A field not set or not defined will take the value of 0, So // SLRspACKPermit will default to SL_PERMIT_ALL // SLRspAckCadence will default to SL_RSP_CONTINUOUS -// +-------------+-------------+--------------------------------------------------------+ -// | Permit | Cadence | Behavior | -// |-------------+-------------+--------------------------------------------------------+ -// | Not Set | Not Set | Stream all responses (default) | -// | Set | Not Set | Stream only the permitted response types continuously. | -// | Not Set | Set | Supported only for SL_RSP_NONE. | -// | Set | Set | Permitted responses will be sent according to cadence | -// +-------------+-------------+--------------------------------------------------------+ +// +--------+-------------+----------------------------------------------------+ +// | Permit | Cadence | Behavior | +// |--------+-------------+----------------------------------------------------+ +// | Not Set| Not Set | Stream all responses (default) | +// | Set | Not Set | Stream the permitted response types continuously. | +// | XXX | SL_RSP_NONE | No responses will be streamed. | +// | Not Set| Set | Supported only for SL_RSP_NONE. | +// | Set | Set | Permitted responses will be sent according to | +// | | | cadence | +// +--------+-------------+----------------------------------------------------+ // Common Object Identifier. message SLObjectId { diff --git a/grpc/protos/sl_interface.proto b/grpc/protos/sl_interface.proto index c91620f..c0e69fb 100644 --- a/grpc/protos/sl_interface.proto +++ b/grpc/protos/sl_interface.proto @@ -64,10 +64,10 @@ enum SLInterfaceState { } message SLInterfaceInfoMsgBw { - // The New Bandwidth. + // The New Bandwidth (in Kbps). uint64 NewBandwidth = 1; - // The Old Bandwidth prior to the update. + // The Old Bandwidth prior to the update (in Kbps). uint64 OldBandwidth = 2; } diff --git a/grpc/protos/sl_policy.proto b/grpc/protos/sl_policy.proto index 3b85e55..44e5951 100644 --- a/grpc/protos/sl_policy.proto +++ b/grpc/protos/sl_policy.proto @@ -1,7 +1,7 @@ // @file // @brief Client RPC proto file for Policy RPCs. -// Declares calls for adding, deleting, updating the policies -// and apply, unapply policies from interfaces. +// Declares RPC calls for adding, replacing, deleting policies, +// and applying/un-applying these policies on interfaces. // // ---------------------------------------------------------------- // Copyright (c) 2024-2025 by Cisco Systems, Inc. @@ -19,9 +19,12 @@ option go_package="github.com/Cisco-service-layer/service-layer-objmodel/grpc/pr // @defgroup SLPolicy // @ingroup Policy -// Used for policy creation and deletion, add and delete rules from policy, -// apply and un-apply policy from interfaces. -// Defines the RPC for operations on policy, interface and get requests. +// Used for: +// - Policy creation, replacement, and deletion +// - Rule addition, and deletion from Policy +// - Apply and Un-apply Policy from Interfaces +// +// Defines the RPC for operations on Policy, Interface and get requests. // @{ service SLPolicy { //@addtogroup SLPolicy @@ -70,6 +73,41 @@ service SLPolicy { // affected. // + // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_REPLACE + // Replace an existing Policy Object with the incoming Policy Object. + // Add a new Policy Object if it does not exist in the server. + // As part of Replace, + // - Rule Objects specified in the incoming Policy Object that do not + // exist in the server's Policy Object will be created. + // - Rule Objects that do not change (idempotent) are not impacted. + // - If the server's Policy Object contains a Rule Object that is being + // modified in the incoming request, the existing Rule Object in the + // server will be modified. + // - Rule Objects that exist in the server's Policy Object and are not + // specified in the incoming Policy Object will be deleted. + // + // Example, + // P{r1, r2, r3} + POLICY_REPLACE(P{r1*, r3, r4}) -> P{r1*, r3, r4} + // i.e., for an existing Policy P{r1, r2, r3} on server side, + // perform POLICY_REPLACE(P{r1*, r3, r4}) where r1* denotes a modified + // Rule Object, r3 is idempotent (i.e., matches, action, priority are + // exactly same) with the server Rule Object. + // The final Policy Object in the server will be: P{r1*, r3, r4} + // Note: No change to r3 since it is idempotent. No traffic impact for + // such rule(s). + // + // Response for the operation will contain a status for each Rule Object + // within the Policy (including for existing Rule Objects that would + // be deleted if not specified in the request). + // + // The order of Rule Objects in the request does not matter i.e., + // POLICY_REPLACE(P{r1*, r3, r4}) and POLICY_REPLACE(P{r4, r3, r1*}) + // will have same behavior. + // + // Note: SL-Policy RPC operations are best-effort. Failure in individual + // Rule Objects does not revert other successfully processed Rule Objects + // in the REPLACE request. + // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_DELETE // Delete the policy object. The object's key is enough to delete the // object. Other attributes if present are ignored. Delete of a non- @@ -97,6 +135,7 @@ service SLPolicy { // Apply the policy on an interface. Only the policy object key // and the interface where it needs to be applied will be verified // and used. Other attributes are ignored. + // // SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_UNAPPLY // Unapply the policy on an interface. Only the policy object key @@ -104,6 +143,7 @@ service SLPolicy { // verified and used, other attributes are ignored. // + // // The device can be programmed by only one active instance of // this RPC. @@ -161,6 +201,8 @@ enum SLPolicyObjectOp { // Policy UnApply. 0x6 SL_OBJOP_POLICY_UNAPPLY = 0x6; + // Policy Replace. 0x7 + SL_OBJOP_POLICY_REPLACE = 0x7; } @@ -300,7 +342,7 @@ message SLPolicyRes { oneof SLPolicyOpStatus { // Status of policy level operations - // like policy add and policy delete + // like policy add, replace and delete SLErrorStatus PolicyStatus = 2; // Status of rule operations on a policy SLPolicyRuleStatusList RulesStatus = 3; diff --git a/grpc/protos/sl_route_common.proto b/grpc/protos/sl_route_common.proto index 39375f2..827d5ff 100644 --- a/grpc/protos/sl_route_common.proto +++ b/grpc/protos/sl_route_common.proto @@ -210,24 +210,24 @@ enum SLRouteFlags { // Each flag is indicated as a bit field. Supported values are: // Reserved. - SL_ROUTE_FLAG_RESERVED = 0x00; + SL_ROUTE_FLAG_RESERVED = 0; // This route takes precedence over a route // learnt by LDP. - SL_ROUTE_FLAG_PREFER_OVER_LDP = 0x01; - + SL_ROUTE_FLAG_PREFER_OVER_LDP = 1; + // If this route is preferred over any other producer of the same prefix // and the latter is programmed with a SR label as well, do not merge // that label's programming this route. - SL_ROUTE_FLAG_DISABLE_LABEL_MERGE = 0x2; + SL_ROUTE_FLAG_DISABLE_LABEL_MERGE = 2; // Install viable paths only. See text in SLRoutecommon/PathGroup for more details - SL_ROUTE_FLAG_VIABLE_PATHS_ONLY = 0x04; + SL_ROUTE_FLAG_VIABLE_PATHS_ONLY = 3; - // Route is considered active if there is atleast one viable path. + // Route is considered active if there is atleast one viable path. // See text in SLRoutecommon/PathGroup for more details. - SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH = 0x08; - + SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH = 4; + // All others are reserved. } @@ -236,10 +236,10 @@ enum SLPathFlags { // Each flag is indicated as a bit field. Supported values are: // Reserved. - SL_PATH_FLAG_RESERVED = 0x00; + SL_PATH_FLAG_RESERVED = 0; // Enables hardware optimization for single path VxLAN tunnels. - SL_PATH_FLAG_SINGLE_PATH_OPT = 0x01; + SL_PATH_FLAG_SINGLE_PATH_OPT = 1; } // Common Get Notifications message @@ -303,20 +303,11 @@ message SLVrfNotif { SLObjectOp Status = 2; } -// Get objects whose attibutes match one of below entries. -// Specify a regular expression for PathGroup name -// or a numerical value for Vxlan VNI. -message SLRouteGetMatch { - oneof entry { - // SLAFGetMsgRsp.AFList.AFOp.AFObject.entry.PathGroupKey.PathGroupId.Name - string PathGroupRegex = 1; - // SLAFGetMsgRsp.AFList.AFOp.AFObject.PathList.VxLANPath.VNI - uint32 VxlanVniId = 2; - } -} - // Common IPv4/IPv6 route attributes. message SLRouteCommon { + reserved 6; + reserved "Flags"; + // Adminstrative distance of the route. [0-255]. // RIB uses this field to break the tie when multiple // sources install the same route. @@ -407,7 +398,7 @@ message SLRouteCommon { // whether this route should be considered in best route calculations. // // All others are reserved. - uint32 Flags = 6; + repeated SLRouteFlags RouteFlags = 7; } // Attributes for constructing VxLAN encapsulation for a IP packet. @@ -441,6 +432,9 @@ message SLVxLANPath { // link down, BFD, etc.). Revertion is mainly timeout based. The timeout // value is platform specific and is not configurable. message SLRoutePath { + reserved 13; + reserved "Flags"; + // One of IPv4 or IPv6 address. // For ENCAP_VXLAN, this field is not supported and will be ignored. SLIpAddress NexthopAddress = 1; @@ -467,6 +461,8 @@ message SLRoutePath { // Route Metric. // The metric is typically based on information like load, hop count, // MTU, reliability of the path, etc. + // If a non-zero metric value is set in the route, the value set will override + // any metric value in the associated SLRoutePath uint32 Metric = 5; // Path identifier. @@ -528,7 +524,7 @@ message SLRoutePath { repeated SLIpAddress RemoteAddress = 9; // For VxLAN, Encapsulation type must be set to SL_ENCAP_VXLAN - SLEncapType EncapType = 10; + SLEncapType EncapType = 10 [deprecated = true]; // VTEP (VxLAN tunnel end point) router MAC address. // A unique system MAC address that other VTEPs can use for inter-VNI @@ -539,15 +535,32 @@ message SLRoutePath { // // This field and VxLANPath are mutually exclusive. This field // is deprecated and will eventually be removed. - bytes VtepRouterMacAddress = 11; + bytes VtepRouterMacAddress = 11 [deprecated = true]; // Create L3 VxLAN tunnel endpoint. Apply VxLAN encapsulation // on the IP packet. SLVxLANPath VxLANPath = 12; - + // Path Flags. Each flag is indicated as a bit field. Supported values are: // - 0x00000001 = SINGLE_PATH_OPT Enables hardware optimization for single path VxLAN tunnels. - uint32 Flags = 13; + repeated SLPathFlags PathFlags = 14; + + // Reference to the Path Group for this route. The attribute is oneof + // to allow for future extension. + // If any field in the oneof is set, all other fields are ignored + oneof entry { + // Path group reference key + SLPathGroupRefKey PathGroupKey = 15; + } +} + +// IP Route Prefix and Prefix Length +message SLRoutePrefix { + // IPv4 or IPv6 address + SLIpAddress Prefix = 1; + + // Prefix length + uint32 PrefixLen = 2; } // @} diff --git a/grpc/protos/sl_route_ipv4.proto b/grpc/protos/sl_route_ipv4.proto index 156c4fb..3a4a744 100644 --- a/grpc/protos/sl_route_ipv4.proto +++ b/grpc/protos/sl_route_ipv4.proto @@ -163,13 +163,6 @@ message SLRoutev4 { // List of route paths for this route. // Specifying more than one path is allowed for ECMP/UCMP cases. repeated SLRoutePath PathList = 4; - - // Reference to the Path Group for this route. The attribute is oneof - // to allow for future extension. - oneof entry { - // Path group reference key - SLPathGroupRefKey PathGroupKey = 5; - } } // List of routes for bulk download diff --git a/grpc/protos/sl_route_ipv6.proto b/grpc/protos/sl_route_ipv6.proto index 1b2fe4c..681a898 100644 --- a/grpc/protos/sl_route_ipv6.proto +++ b/grpc/protos/sl_route_ipv6.proto @@ -162,13 +162,6 @@ message SLRoutev6 { // List of route paths for this route. // Specifying more than one path is allowed for ECMP/UCMP cases repeated SLRoutePath PathList = 4; - - // Reference to the Path Group for this route. - // The attribute is oneof to allow for future extension. - oneof entry { - // Path group reference key - SLPathGroupRefKey PathGroupKey = 5; - } } // List of routes for bulk download diff --git a/grpc/python/src/genpy/sl_af_pb2.py b/grpc/python/src/genpy/sl_af_pb2.py index 95207df..2a5f9f8 100644 --- a/grpc/python/src/genpy/sl_af_pb2.py +++ b/grpc/python/src/genpy/sl_af_pb2.py @@ -14,11 +14,9 @@ from . import sl_common_types_pb2 as sl__common__types__pb2 from . import sl_route_common_pb2 as sl__route__common__pb2 -from . import sl_route_ipv4_pb2 as sl__route__ipv4__pb2 -from . import sl_route_ipv6_pb2 as sl__route__ipv6__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bsl_af.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\x1a\x13sl_route_ipv4.proto\x1a\x13sl_route_ipv6.proto\"`\n\nSLAFVrfReg\x12)\n\x05Table\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLTableType\x12\'\n\x06VrfReg\x18\x02 \x01(\x0b\x32\x17.service_layer.SLVrfReg\"d\n\rSLAFVrfRegMsg\x12$\n\x04Oper\x18\x01 \x01(\x0e\x32\x16.service_layer.SLRegOp\x12-\n\nVrfRegMsgs\x18\x02 \x03(\x0b\x32\x19.service_layer.SLAFVrfReg\"\x7f\n\x10SLAFVrfRegMsgRes\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12)\n\x05Table\x18\x03 \x01(\x0e\x32\x1a.service_layer.SLTableType\"y\n\x10SLAFVrfRegMsgRsp\x12\x33\n\rStatusSummary\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x30\n\x07Results\x18\x02 \x03(\x0b\x32\x1f.service_layer.SLAFVrfRegMsgRes\"\"\n\x10SLAFVrfRegGetMsg\x12\x0e\n\x06GetAll\x18\x01 \x01(\x08\"\xad\x01\n\x13SLAFVrfRegGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x10\n\x08\x43lientID\x18\x02 \x01(\x04\x12)\n\x05Table\x18\x03 \x01(\x0e\x32\x1a.service_layer.SLTableType\x12(\n\x07\x45ntries\x18\x04 \x03(\x0b\x32\x17.service_layer.SLVrfReg\"\x9b\x02\n\x0bSLPathGroup\x12.\n\x0bPathGroupId\x18\x01 \x01(\x0b\x32\x19.service_layer.SLObjectId\x12\x15\n\rAdminDistance\x18\x02 \x01(\r\x12\x39\n\x08PathList\x18\x03 \x01(\x0b\x32%.service_layer.SLPathGroup.SLPathListH\x00\x12\r\n\x05\x46lags\x18\x04 \x01(\r\x1a\x32\n\x06SLPath\x12(\n\x04Path\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLRoutePath\x1a>\n\nSLPathList\x12\x30\n\x05Paths\x18\x01 \x03(\x0b\x32!.service_layer.SLPathGroup.SLPathB\x07\n\x05\x65ntry\"\xb8\x01\n\x0bSLMplsEntry\x12\x12\n\nLocalLabel\x18\x01 \x01(\r\x12\x15\n\rAdminDistance\x18\x02 \x01(\r\x12,\n\x08PathList\x18\x03 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\x12\x38\n\x0cPathGroupKey\x18\x04 \x01(\x0b\x32 .service_layer.SLPathGroupRefKeyH\x00\x12\r\n\x05\x46lags\x18\x05 \x01(\rB\x07\n\x05\x65ntry\"\xd5\x01\n\nSLAFObject\x12-\n\tIPv4Route\x18\x01 \x01(\x0b\x32\x18.service_layer.SLRoutev4H\x00\x12-\n\tIPv6Route\x18\x02 \x01(\x0b\x32\x18.service_layer.SLRoutev6H\x00\x12/\n\tMplsLabel\x18\x03 \x01(\x0b\x32\x1a.service_layer.SLMplsEntryH\x00\x12/\n\tPathGroup\x18\x04 \x01(\x0b\x32\x1a.service_layer.SLPathGroupH\x00\x42\x07\n\x05\x65ntry\"\xdf\x01\n\x06SLAFOp\x12+\n\x08\x41\x46Object\x18\x01 \x01(\x0b\x32\x19.service_layer.SLAFObject\x12\x13\n\x0bOperationID\x18\x02 \x01(\x04\x12,\n\x07\x41\x63kType\x18\x03 \x01(\x0e\x32\x1b.service_layer.SLRspACKType\x12\x31\n\nAckPermits\x18\x04 \x03(\x0e\x32\x1d.service_layer.SLRspACKPermit\x12\x32\n\nAckCadence\x18\x05 \x01(\x0e\x32\x1e.service_layer.SLRspAckCadence\"\x93\x01\n\nSLAFGetMsg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12)\n\x05Table\x18\x02 \x01(\x0e\x32\x1a.service_layer.SLTableType\x12\x15\n\rGetAllClients\x18\x03 \x01(\x08\x12\x32\n\nRouteMatch\x18\x04 \x03(\x0b\x32\x1e.service_layer.SLRouteGetMatch\"\xac\x01\n\x10SLAFDepFibStatus\x12/\n\tErrorCode\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x13\n\x0bOperationID\x18\x02 \x01(\x04\x12\x0f\n\x07Version\x18\x03 \x01(\x04\x12\x38\n\x0cPathGroupKey\x18\x04 \x01(\x0b\x32 .service_layer.SLPathGroupRefKeyH\x00\x42\x07\n\x05\x65ntry\"T\n\rSLAFFibStatus\x12\x0f\n\x07Version\x18\x01 \x01(\x04\x12\x32\n\tDepResult\x18\x02 \x01(\x0b\x32\x1f.service_layer.SLAFDepFibStatus\"{\n\x12SLAFGetMsgRspEntry\x12#\n\x04\x41\x46Op\x18\x01 \x01(\x0b\x32\x15.service_layer.SLAFOp\x12/\n\tErrorCode\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0f\n\x07Version\x18\x03 \x01(\x04\"\x96\x01\n\rSLAFGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x10\n\x08\x43lientID\x18\x03 \x01(\x04\x12\x31\n\x06\x41\x46List\x18\x04 \x03(\x0b\x32!.service_layer.SLAFGetMsgRspEntry\"j\n\x07SLAFMsg\x12\'\n\x04Oper\x18\x01 \x01(\x0e\x32\x19.service_layer.SLObjectOp\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12%\n\x06OpList\x18\x03 \x03(\x0b\x32\x15.service_layer.SLAFOp\"\xaa\x01\n\x07SLAFRes\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12(\n\tOperation\x18\x02 \x01(\x0b\x32\x15.service_layer.SLAFOp\x12\x13\n\x0b\x45rrorString\x18\x03 \x01(\t\x12/\n\tFIBStatus\x18\x04 \x01(\x0b\x32\x1c.service_layer.SLAFFibStatus\"F\n\nSLAFMsgRsp\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\'\n\x07Results\x18\x02 \x03(\x0b\x32\x16.service_layer.SLAFRes\"d\n\x10SLAFRedistRegMsg\x12\x10\n\x08SrcProto\x18\x01 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x02 \x01(\t\x12)\n\x05Table\x18\x03 \x01(\x0e\x32\x1a.service_layer.SLTableType\"\xf0\x01\n\x11SLAFNextHopRegKey\x12@\n\x07NextHop\x18\x01 \x01(\x0b\x32-.service_layer.SLAFNextHopRegKey.SLNextHopKeyH\x00\x1a\x8a\x01\n\x0cSLNextHopKey\x12+\n\x07NextHop\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x12\n\nNextHopLen\x18\x02 \x01(\r\x12\x12\n\nExactMatch\x18\x03 \x01(\x08\x12\x14\n\x0c\x41llowDefault\x18\x04 \x01(\x08\x12\x0f\n\x07Recurse\x18\x05 \x01(\x08\x42\x0c\n\nnexthopkey\"I\n\x11SLAFNextHopRegMsg\x12\x34\n\nNextHopKey\x18\x01 \x01(\x0b\x32 .service_layer.SLAFNextHopRegKey\"\x9f\x01\n\x0fSLAFNotifRegReq\x12\x34\n\tRedistReq\x18\x01 \x01(\x0b\x32\x1f.service_layer.SLAFRedistRegMsgH\x00\x12\x36\n\nNextHopReq\x18\x02 \x01(\x0b\x32 .service_layer.SLAFNextHopRegMsgH\x00\x12\x13\n\x0bOperationID\x18\x03 \x01(\x04\x42\t\n\x07request\"y\n\x0cSLAFNotifReq\x12&\n\x04Oper\x18\x01 \x01(\x0e\x32\x18.service_layer.SLNotifOp\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x30\n\x08NotifReq\x18\x03 \x03(\x0b\x32\x1e.service_layer.SLAFNotifRegReq\"s\n\x0cSLAFNotifRsp\x12\x30\n\x08NotifReq\x18\x01 \x01(\x0b\x32\x1e.service_layer.SLAFNotifRegReq\x12\x31\n\x0bNotifStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"\x89\x02\n\tSLNextHop\x12\x34\n\nNextHopKey\x18\x01 \x01(\x0b\x32 .service_layer.SLAFNextHopRegKey\x12\x32\n\x0eResolvingRoute\x18\x02 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x19\n\x11ResolvingRouteLen\x18\x03 \x01(\r\x12\x10\n\x08SrcProto\x18\x04 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x05 \x01(\t\x12\x15\n\rAdminDistance\x18\x06 \x01(\r\x12\x0e\n\x06Metric\x18\x07 \x01(\r\x12)\n\x05Paths\x18\x08 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\"\xe3\x02\n\tSLAFNotif\x12\x32\n\x0bNotifStatus\x18\x01 \x01(\x0b\x32\x1b.service_layer.SLAFNotifRspH\x00\x12>\n\x0bStartMarker\x18\x02 \x01(\x0b\x32\'.service_layer.SLAFNotif.SLRedistMarkerH\x00\x12<\n\tEndMarker\x18\x03 \x01(\x0b\x32\'.service_layer.SLAFNotif.SLRedistMarkerH\x00\x12\x31\n\x0cRedistObject\x18\x04 \x01(\x0b\x32\x19.service_layer.SLAFObjectH\x00\x12+\n\x07NextHop\x18\x05 \x01(\x0b\x32\x18.service_layer.SLNextHopH\x00\x1a;\n\x0eSLRedistMarker\x12)\n\x05Table\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLTableTypeB\x07\n\x05\x45vent\"K\n\x0cSLAFNotifMsg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12*\n\x08\x41\x46Notifs\x18\x03 \x03(\x0b\x32\x18.service_layer.SLAFNotif2\xc8\x03\n\x04SLAF\x12M\n\x0cSLAFVrfRegOp\x12\x1c.service_layer.SLAFVrfRegMsg\x1a\x1f.service_layer.SLAFVrfRegMsgRsp\x12V\n\rSLAFVrfRegGet\x12\x1f.service_layer.SLAFVrfRegGetMsg\x1a\".service_layer.SLAFVrfRegGetMsgRsp0\x01\x12;\n\x06SLAFOp\x12\x16.service_layer.SLAFMsg\x1a\x19.service_layer.SLAFMsgRsp\x12\x45\n\x0cSLAFOpStream\x12\x16.service_layer.SLAFMsg\x1a\x19.service_layer.SLAFMsgRsp(\x01\x30\x01\x12\x44\n\x07SLAFGet\x12\x19.service_layer.SLAFGetMsg\x1a\x1c.service_layer.SLAFGetMsgRsp0\x01\x12O\n\x0fSLAFNotifStream\x12\x1b.service_layer.SLAFNotifReq\x1a\x1b.service_layer.SLAFNotifMsg(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bsl_af.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"`\n\nSLAFVrfReg\x12)\n\x05Table\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLTableType\x12\'\n\x06VrfReg\x18\x02 \x01(\x0b\x32\x17.service_layer.SLVrfReg\"d\n\rSLAFVrfRegMsg\x12$\n\x04Oper\x18\x01 \x01(\x0e\x32\x16.service_layer.SLRegOp\x12-\n\nVrfRegMsgs\x18\x02 \x03(\x0b\x32\x19.service_layer.SLAFVrfReg\"\x7f\n\x10SLAFVrfRegMsgRes\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12)\n\x05Table\x18\x03 \x01(\x0e\x32\x1a.service_layer.SLTableType\"y\n\x10SLAFVrfRegMsgRsp\x12\x33\n\rStatusSummary\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x30\n\x07Results\x18\x02 \x03(\x0b\x32\x1f.service_layer.SLAFVrfRegMsgRes\"\"\n\x10SLAFVrfRegGetMsg\x12\x0e\n\x06GetAll\x18\x01 \x01(\x08\"\xad\x01\n\x13SLAFVrfRegGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x10\n\x08\x43lientID\x18\x02 \x01(\x04\x12)\n\x05Table\x18\x03 \x01(\x0e\x32\x1a.service_layer.SLTableType\x12(\n\x07\x45ntries\x18\x04 \x03(\x0b\x32\x17.service_layer.SLVrfReg\"\xba\x02\n\x0bSLPathGroup\x12.\n\x0bPathGroupId\x18\x01 \x01(\x0b\x32\x19.service_layer.SLObjectId\x12\x15\n\rAdminDistance\x18\x02 \x01(\r\x12\x39\n\x08PathList\x18\x03 \x01(\x0b\x32%.service_layer.SLPathGroup.SLPathListH\x00\x12,\n\x07PgFlags\x18\x04 \x03(\x0e\x32\x1b.service_layer.SLRouteFlags\x1a\x32\n\x06SLPath\x12(\n\x04Path\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLRoutePath\x1a>\n\nSLPathList\x12\x30\n\x05Paths\x18\x01 \x03(\x0b\x32!.service_layer.SLPathGroup.SLPathB\x07\n\x05\x65ntry\"\x1f\n\x0eSLMplsEntryKey\x12\r\n\x05Label\x18\x01 \x01(\r\"\xb2\x01\n\x0bSLMplsEntry\x12.\n\x07MplsKey\x18\x01 \x01(\x0b\x32\x1d.service_layer.SLMplsEntryKey\x12\x15\n\rAdminDistance\x18\x02 \x01(\r\x12,\n\x08PathList\x18\x03 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\x12.\n\tMplsFlags\x18\x04 \x03(\x0e\x32\x1b.service_layer.SLRouteFlags\"\xa3\x01\n\x0bSLAFIPRoute\x12\x33\n\rIPRoutePrefix\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLRoutePrefix\x12\x31\n\x0bRouteCommon\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLRouteCommon\x12,\n\x08PathList\x18\x03 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\"\xa6\x01\n\nSLAFObject\x12-\n\x07IPRoute\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLAFIPRouteH\x00\x12/\n\tMplsLabel\x18\x02 \x01(\x0b\x32\x1a.service_layer.SLMplsEntryH\x00\x12/\n\tPathGroup\x18\x03 \x01(\x0b\x32\x1a.service_layer.SLPathGroupH\x00\x42\x07\n\x05\x65ntry\"\xe2\x01\n\tSLAFOpMsg\x12+\n\x08\x41\x46Object\x18\x01 \x01(\x0b\x32\x19.service_layer.SLAFObject\x12\x13\n\x0bOperationID\x18\x02 \x01(\x04\x12,\n\x07\x41\x63kType\x18\x03 \x01(\x0e\x32\x1b.service_layer.SLRspACKType\x12\x31\n\nAckPermits\x18\x04 \x03(\x0e\x32\x1d.service_layer.SLRspACKPermit\x12\x32\n\nAckCadence\x18\x05 \x01(\x0e\x32\x1e.service_layer.SLRspAckCadence\"(\n\x10SLAFClientIDList\x12\x14\n\x0c\x43lientIDList\x18\x01 \x03(\x04\"<\n\x0fSLTableTypeList\x12)\n\x05Table\x18\x01 \x03(\x0e\x32\x1a.service_layer.SLTableType\"\xb3\x01\n\rSLAFObjectKey\x12\x35\n\rIPRoutePrefix\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLRoutePrefixH\x00\x12\x32\n\tMplsLabel\x18\x02 \x01(\x0b\x32\x1d.service_layer.SLMplsEntryKeyH\x00\x12\x30\n\x0bPathGroupId\x18\x03 \x01(\x0b\x32\x19.service_layer.SLObjectIdH\x00\x42\x05\n\x03key\"t\n\x0cSLAFGetMatch\x12+\n\x03Key\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLAFObjectKeyH\x00\x12\x18\n\x0ePathGroupRegex\x18\x02 \x01(\tH\x00\x12\x14\n\nVxlanVniId\x18\x03 \x01(\rH\x00\x42\x07\n\x05\x65ntry\">\n\x10SLAFGetMatchList\x12*\n\x05Match\x18\x01 \x03(\x0b\x32\x1b.service_layer.SLAFGetMatch\"\xef\x01\n\nSLAFGetMsg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\x37\n\x0c\x43lientIDList\x18\x02 \x01(\x0b\x32\x1f.service_layer.SLAFClientIDListH\x00\x12\x14\n\nAllClients\x18\x03 \x01(\x08H\x00\x12\x33\n\tTableList\x18\x04 \x01(\x0b\x32\x1e.service_layer.SLTableTypeListH\x01\x12\x39\n\x0eRouteMatchList\x18\x05 \x01(\x0b\x32\x1f.service_layer.SLAFGetMatchListH\x01\x42\x08\n\x06\x63lientB\x07\n\x05match\"p\n\x12SLAFGetMsgRspEntry\x12)\n\x07\x41\x46OpMsg\x18\x01 \x01(\x0b\x32\x18.service_layer.SLAFOpMsg\x12/\n\tFIBStatus\x18\x02 \x01(\x0e\x32\x1c.service_layer.SLAFFibStatus\"\x96\x01\n\rSLAFGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x10\n\x08\x43lientID\x18\x03 \x01(\x04\x12\x31\n\x06\x41\x46List\x18\x04 \x03(\x0b\x32!.service_layer.SLAFGetMsgRspEntry\"m\n\x07SLAFMsg\x12\'\n\x04Oper\x18\x01 \x01(\x0e\x32\x19.service_layer.SLObjectOp\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12(\n\x06OpList\x18\x03 \x03(\x0b\x32\x18.service_layer.SLAFOpMsg\"\xbd\x01\n\x07SLAFRes\x12,\n\x06Status\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12)\n\x03Key\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLAFObjectKey\x12\x13\n\x0bOperationID\x18\x03 \x01(\x04\x12/\n\tFIBStatus\x18\x04 \x01(\x0e\x32\x1c.service_layer.SLAFFibStatus\x12\x13\n\x0b\x45rrorString\x18\x05 \x01(\t\"F\n\nSLAFMsgRsp\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\'\n\x07Results\x18\x02 \x03(\x0b\x32\x16.service_layer.SLAFRes\"d\n\x10SLAFRedistRegMsg\x12\x10\n\x08SrcProto\x18\x01 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x02 \x01(\t\x12)\n\x05Table\x18\x03 \x01(\x0e\x32\x1a.service_layer.SLTableType\"\xdf\x01\n\x11SLAFNextHopRegKey\x12@\n\x07NextHop\x18\x01 \x01(\x0b\x32-.service_layer.SLAFNextHopRegKey.SLNextHopKeyH\x00\x1az\n\x0cSLNextHopKey\x12/\n\tNextHopIP\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLRoutePrefix\x12\x12\n\nExactMatch\x18\x02 \x01(\x08\x12\x14\n\x0c\x41llowDefault\x18\x03 \x01(\x08\x12\x0f\n\x07Recurse\x18\x04 \x01(\x08\x42\x0c\n\nnexthopkey\"I\n\x11SLAFNextHopRegMsg\x12\x34\n\nNextHopKey\x18\x01 \x01(\x0b\x32 .service_layer.SLAFNextHopRegKey\"\x9f\x01\n\x0fSLAFNotifRegReq\x12\x34\n\tRedistReq\x18\x01 \x01(\x0b\x32\x1f.service_layer.SLAFRedistRegMsgH\x00\x12\x36\n\nNextHopReq\x18\x02 \x01(\x0b\x32 .service_layer.SLAFNextHopRegMsgH\x00\x12\x13\n\x0bOperationID\x18\x03 \x01(\x04\x42\t\n\x07request\"y\n\x0cSLAFNotifReq\x12&\n\x04Oper\x18\x01 \x01(\x0e\x32\x18.service_layer.SLNotifOp\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x30\n\x08NotifReq\x18\x03 \x03(\x0b\x32\x1e.service_layer.SLAFNotifRegReq\"s\n\x0cSLAFNotifRsp\x12\x30\n\x08NotifReq\x18\x01 \x01(\x0b\x32\x1e.service_layer.SLAFNotifRegReq\x12\x31\n\x0bNotifStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"\xf1\x01\n\tSLNextHop\x12\x34\n\nNextHopKey\x18\x01 \x01(\x0b\x32 .service_layer.SLAFNextHopRegKey\x12\x35\n\x0fResolvingPrefix\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLRoutePrefix\x12\x10\n\x08SrcProto\x18\x03 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x04 \x01(\t\x12\x15\n\rAdminDistance\x18\x05 \x01(\r\x12\x0e\n\x06Metric\x18\x06 \x01(\r\x12)\n\x05Paths\x18\x07 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\"\xe3\x02\n\tSLAFNotif\x12\x32\n\x0bNotifStatus\x18\x01 \x01(\x0b\x32\x1b.service_layer.SLAFNotifRspH\x00\x12>\n\x0bStartMarker\x18\x02 \x01(\x0b\x32\'.service_layer.SLAFNotif.SLRedistMarkerH\x00\x12<\n\tEndMarker\x18\x03 \x01(\x0b\x32\'.service_layer.SLAFNotif.SLRedistMarkerH\x00\x12\x31\n\x0cRedistObject\x18\x04 \x01(\x0b\x32\x19.service_layer.SLAFObjectH\x00\x12+\n\x07NextHop\x18\x05 \x01(\x0b\x32\x18.service_layer.SLNextHopH\x00\x1a;\n\x0eSLRedistMarker\x12)\n\x05Table\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLTableTypeB\x07\n\x05\x45vent\"K\n\x0cSLAFNotifMsg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12*\n\x08\x41\x46Notifs\x18\x03 \x03(\x0b\x32\x18.service_layer.SLAFNotif2\xc8\x03\n\x04SLAF\x12M\n\x0cSLAFVrfRegOp\x12\x1c.service_layer.SLAFVrfRegMsg\x1a\x1f.service_layer.SLAFVrfRegMsgRsp\x12V\n\rSLAFVrfRegGet\x12\x1f.service_layer.SLAFVrfRegGetMsg\x1a\".service_layer.SLAFVrfRegGetMsgRsp0\x01\x12;\n\x06SLAFOp\x12\x16.service_layer.SLAFMsg\x1a\x19.service_layer.SLAFMsgRsp\x12\x45\n\x0cSLAFOpStream\x12\x16.service_layer.SLAFMsg\x1a\x19.service_layer.SLAFMsgRsp(\x01\x30\x01\x12\x44\n\x07SLAFGet\x12\x19.service_layer.SLAFGetMsg\x1a\x1c.service_layer.SLAFGetMsgRsp0\x01\x12O\n\x0fSLAFNotifStream\x12\x1b.service_layer.SLAFNotifReq\x1a\x1b.service_layer.SLAFNotifMsg(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,68 +24,78 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' - _globals['_SLAFVRFREG']._serialized_start=118 - _globals['_SLAFVRFREG']._serialized_end=214 - _globals['_SLAFVRFREGMSG']._serialized_start=216 - _globals['_SLAFVRFREGMSG']._serialized_end=316 - _globals['_SLAFVRFREGMSGRES']._serialized_start=318 - _globals['_SLAFVRFREGMSGRES']._serialized_end=445 - _globals['_SLAFVRFREGMSGRSP']._serialized_start=447 - _globals['_SLAFVRFREGMSGRSP']._serialized_end=568 - _globals['_SLAFVRFREGGETMSG']._serialized_start=570 - _globals['_SLAFVRFREGGETMSG']._serialized_end=604 - _globals['_SLAFVRFREGGETMSGRSP']._serialized_start=607 - _globals['_SLAFVRFREGGETMSGRSP']._serialized_end=780 - _globals['_SLPATHGROUP']._serialized_start=783 - _globals['_SLPATHGROUP']._serialized_end=1066 - _globals['_SLPATHGROUP_SLPATH']._serialized_start=943 - _globals['_SLPATHGROUP_SLPATH']._serialized_end=993 - _globals['_SLPATHGROUP_SLPATHLIST']._serialized_start=995 - _globals['_SLPATHGROUP_SLPATHLIST']._serialized_end=1057 - _globals['_SLMPLSENTRY']._serialized_start=1069 - _globals['_SLMPLSENTRY']._serialized_end=1253 - _globals['_SLAFOBJECT']._serialized_start=1256 - _globals['_SLAFOBJECT']._serialized_end=1469 - _globals['_SLAFOP']._serialized_start=1472 - _globals['_SLAFOP']._serialized_end=1695 - _globals['_SLAFGETMSG']._serialized_start=1698 - _globals['_SLAFGETMSG']._serialized_end=1845 - _globals['_SLAFDEPFIBSTATUS']._serialized_start=1848 - _globals['_SLAFDEPFIBSTATUS']._serialized_end=2020 - _globals['_SLAFFIBSTATUS']._serialized_start=2022 - _globals['_SLAFFIBSTATUS']._serialized_end=2106 - _globals['_SLAFGETMSGRSPENTRY']._serialized_start=2108 - _globals['_SLAFGETMSGRSPENTRY']._serialized_end=2231 - _globals['_SLAFGETMSGRSP']._serialized_start=2234 - _globals['_SLAFGETMSGRSP']._serialized_end=2384 - _globals['_SLAFMSG']._serialized_start=2386 - _globals['_SLAFMSG']._serialized_end=2492 - _globals['_SLAFRES']._serialized_start=2495 - _globals['_SLAFRES']._serialized_end=2665 - _globals['_SLAFMSGRSP']._serialized_start=2667 - _globals['_SLAFMSGRSP']._serialized_end=2737 - _globals['_SLAFREDISTREGMSG']._serialized_start=2739 - _globals['_SLAFREDISTREGMSG']._serialized_end=2839 - _globals['_SLAFNEXTHOPREGKEY']._serialized_start=2842 - _globals['_SLAFNEXTHOPREGKEY']._serialized_end=3082 - _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_start=2930 - _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_end=3068 - _globals['_SLAFNEXTHOPREGMSG']._serialized_start=3084 - _globals['_SLAFNEXTHOPREGMSG']._serialized_end=3157 - _globals['_SLAFNOTIFREGREQ']._serialized_start=3160 - _globals['_SLAFNOTIFREGREQ']._serialized_end=3319 - _globals['_SLAFNOTIFREQ']._serialized_start=3321 - _globals['_SLAFNOTIFREQ']._serialized_end=3442 - _globals['_SLAFNOTIFRSP']._serialized_start=3444 - _globals['_SLAFNOTIFRSP']._serialized_end=3559 - _globals['_SLNEXTHOP']._serialized_start=3562 - _globals['_SLNEXTHOP']._serialized_end=3827 - _globals['_SLAFNOTIF']._serialized_start=3830 - _globals['_SLAFNOTIF']._serialized_end=4185 - _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_start=4117 - _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_end=4176 - _globals['_SLAFNOTIFMSG']._serialized_start=4187 - _globals['_SLAFNOTIFMSG']._serialized_end=4262 - _globals['_SLAF']._serialized_start=4265 - _globals['_SLAF']._serialized_end=4721 + _globals['_SLAFVRFREG']._serialized_start=76 + _globals['_SLAFVRFREG']._serialized_end=172 + _globals['_SLAFVRFREGMSG']._serialized_start=174 + _globals['_SLAFVRFREGMSG']._serialized_end=274 + _globals['_SLAFVRFREGMSGRES']._serialized_start=276 + _globals['_SLAFVRFREGMSGRES']._serialized_end=403 + _globals['_SLAFVRFREGMSGRSP']._serialized_start=405 + _globals['_SLAFVRFREGMSGRSP']._serialized_end=526 + _globals['_SLAFVRFREGGETMSG']._serialized_start=528 + _globals['_SLAFVRFREGGETMSG']._serialized_end=562 + _globals['_SLAFVRFREGGETMSGRSP']._serialized_start=565 + _globals['_SLAFVRFREGGETMSGRSP']._serialized_end=738 + _globals['_SLPATHGROUP']._serialized_start=741 + _globals['_SLPATHGROUP']._serialized_end=1055 + _globals['_SLPATHGROUP_SLPATH']._serialized_start=932 + _globals['_SLPATHGROUP_SLPATH']._serialized_end=982 + _globals['_SLPATHGROUP_SLPATHLIST']._serialized_start=984 + _globals['_SLPATHGROUP_SLPATHLIST']._serialized_end=1046 + _globals['_SLMPLSENTRYKEY']._serialized_start=1057 + _globals['_SLMPLSENTRYKEY']._serialized_end=1088 + _globals['_SLMPLSENTRY']._serialized_start=1091 + _globals['_SLMPLSENTRY']._serialized_end=1269 + _globals['_SLAFIPROUTE']._serialized_start=1272 + _globals['_SLAFIPROUTE']._serialized_end=1435 + _globals['_SLAFOBJECT']._serialized_start=1438 + _globals['_SLAFOBJECT']._serialized_end=1604 + _globals['_SLAFOPMSG']._serialized_start=1607 + _globals['_SLAFOPMSG']._serialized_end=1833 + _globals['_SLAFCLIENTIDLIST']._serialized_start=1835 + _globals['_SLAFCLIENTIDLIST']._serialized_end=1875 + _globals['_SLTABLETYPELIST']._serialized_start=1877 + _globals['_SLTABLETYPELIST']._serialized_end=1937 + _globals['_SLAFOBJECTKEY']._serialized_start=1940 + _globals['_SLAFOBJECTKEY']._serialized_end=2119 + _globals['_SLAFGETMATCH']._serialized_start=2121 + _globals['_SLAFGETMATCH']._serialized_end=2237 + _globals['_SLAFGETMATCHLIST']._serialized_start=2239 + _globals['_SLAFGETMATCHLIST']._serialized_end=2301 + _globals['_SLAFGETMSG']._serialized_start=2304 + _globals['_SLAFGETMSG']._serialized_end=2543 + _globals['_SLAFGETMSGRSPENTRY']._serialized_start=2545 + _globals['_SLAFGETMSGRSPENTRY']._serialized_end=2657 + _globals['_SLAFGETMSGRSP']._serialized_start=2660 + _globals['_SLAFGETMSGRSP']._serialized_end=2810 + _globals['_SLAFMSG']._serialized_start=2812 + _globals['_SLAFMSG']._serialized_end=2921 + _globals['_SLAFRES']._serialized_start=2924 + _globals['_SLAFRES']._serialized_end=3113 + _globals['_SLAFMSGRSP']._serialized_start=3115 + _globals['_SLAFMSGRSP']._serialized_end=3185 + _globals['_SLAFREDISTREGMSG']._serialized_start=3187 + _globals['_SLAFREDISTREGMSG']._serialized_end=3287 + _globals['_SLAFNEXTHOPREGKEY']._serialized_start=3290 + _globals['_SLAFNEXTHOPREGKEY']._serialized_end=3513 + _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_start=3377 + _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_end=3499 + _globals['_SLAFNEXTHOPREGMSG']._serialized_start=3515 + _globals['_SLAFNEXTHOPREGMSG']._serialized_end=3588 + _globals['_SLAFNOTIFREGREQ']._serialized_start=3591 + _globals['_SLAFNOTIFREGREQ']._serialized_end=3750 + _globals['_SLAFNOTIFREQ']._serialized_start=3752 + _globals['_SLAFNOTIFREQ']._serialized_end=3873 + _globals['_SLAFNOTIFRSP']._serialized_start=3875 + _globals['_SLAFNOTIFRSP']._serialized_end=3990 + _globals['_SLNEXTHOP']._serialized_start=3993 + _globals['_SLNEXTHOP']._serialized_end=4234 + _globals['_SLAFNOTIF']._serialized_start=4237 + _globals['_SLAFNOTIF']._serialized_end=4592 + _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_start=4524 + _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_end=4583 + _globals['_SLAFNOTIFMSG']._serialized_start=4594 + _globals['_SLAFNOTIFMSG']._serialized_end=4669 + _globals['_SLAF']._serialized_start=4672 + _globals['_SLAF']._serialized_end=5128 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_af_pb2_grpc.py b/grpc/python/src/genpy/sl_af_pb2_grpc.py index 4edbecb..68703a7 100644 --- a/grpc/python/src/genpy/sl_af_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_af_pb2_grpc.py @@ -22,7 +22,7 @@ class SLAFStub(object): Each client application MUST use a unique client ID identifying itself that is separate from other clients programming the server. If there are multiple instances of the client application, then each such - instance MUST be uniquely idenified. + instance MUST be uniquely identified. If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes a default client id of 0 for that RPC invocation and associates @@ -110,7 +110,7 @@ class SLAFServicer(object): Each client application MUST use a unique client ID identifying itself that is separate from other clients programming the server. If there are multiple instances of the client application, then each such - instance MUST be uniquely idenified. + instance MUST be uniquely identified. If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes a default client id of 0 for that RPC invocation and associates @@ -152,7 +152,7 @@ def SLAFVrfRegOp(self, request, context): any other object (e.g. IP Route and MPLS label object) created by ANY other client. - Only the client that created the object (IP/MPLS and Path Group included) + Only the client that created the object (IP/MPLS and Path Group included) can manipulate that object. @@ -256,6 +256,8 @@ def SLAFOpStream(self, request_iterator, context): def SLAFGet(self, request, context): """Retrieves object attributes. + This RPC is unidirectional streaming from the server side + Server will close the stream when all the entries have been returned. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -282,7 +284,8 @@ def SLAFNotifStream(self, request_iterator, context): The call takes a stream of per-VRF table notification requests. Each notification request is first responded to with the result of the registration operation itself, followed by any redistributed - routes if requested and present, and any next hops if requested and present. + routes if requested and present, and any next hops if requested and + present. From then on, any updates are notified as long as RPC is up. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -346,7 +349,7 @@ class SLAF(object): Each client application MUST use a unique client ID identifying itself that is separate from other clients programming the server. If there are multiple instances of the client application, then each such - instance MUST be uniquely idenified. + instance MUST be uniquely identified. If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes a default client id of 0 for that RPC invocation and associates diff --git a/grpc/python/src/genpy/sl_common_types_pb2.py b/grpc/python/src/genpy/sl_common_types_pb2.py index 93354bf..80a2165 100644 --- a/grpc/python/src/genpy/sl_common_types_pb2.py +++ b/grpc/python/src/genpy/sl_common_types_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15sl_common_types.proto\x12\rservice_layer\"\xccW\n\rSLErrorStatus\x12\x34\n\x06Status\x18\x01 \x01(\x0e\x32$.service_layer.SLErrorStatus.SLErrno\"\x84W\n\x07SLErrno\x12\x0e\n\nSL_SUCCESS\x10\x00\x12\x14\n\x10SL_NOT_CONNECTED\x10\x01\x12\r\n\tSL_EAGAIN\x10\x02\x12\r\n\tSL_ENOMEM\x10\x03\x12\x0c\n\x08SL_EBUSY\x10\x04\x12\r\n\tSL_EINVAL\x10\x05\x12\x16\n\x12SL_UNSUPPORTED_VER\x10\x06\x12\x14\n\x10SL_NOT_AVAILABLE\x10\x07\x12\x1b\n\x17SL_STREAM_NOT_SUPPORTED\x10\x08\x12\x0e\n\nSL_ENOTSUP\x10\t\x12\x0f\n\x0bSL_SOME_ERR\x10\n\x12\x0e\n\nSL_TIMEOUT\x10\x0b\x12\x11\n\rSL_NOTIF_TERM\x10\x0c\x12\x10\n\x0cSL_AUTH_FAIL\x10\r\x12\x1d\n\x19SL_ACK_TYPE_NOT_SUPPORTED\x10\x0e\x12\x19\n\x14SL_INIT_START_OFFSET\x10\x80\n\x12\x18\n\x13SL_INIT_STATE_CLEAR\x10\x81\n\x12\x18\n\x13SL_INIT_STATE_READY\x10\x82\n\x12\x1c\n\x17SL_INIT_UNSUPPORTED_VER\x10\x83\n\x12#\n\x1eSL_INIT_SERVER_NOT_INITIALIZED\x10\x84\n\x12&\n!SL_INIT_SERVER_MODE_CHANGE_FAILED\x10\x85\n\x12\x1c\n\x17SL_RPC_VRF_START_OFFSET\x10\x80 \x12%\n SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS\x10\x81 \x12&\n!SL_RPC_VRF_SERVER_NOT_INITIALIZED\x10\x82 \x12&\n!SL_RPC_VRF_OP_NOTSUP_WITH_AUTOREG\x10\x83 \x12\x18\n\x13SL_VRF_START_OFFSET\x10\x80@\x12\x18\n\x13SL_VRF_NAME_TOOLONG\x10\x81@\x12\x15\n\x10SL_VRF_NOT_FOUND\x10\x82@\x12\x17\n\x12SL_VRF_NO_TABLE_ID\x10\x83@\x12&\n!SL_VRF_REG_INVALID_ADMIN_DISTANCE\x10\x84@\x12\x19\n\x14SL_VRF_TABLE_ADD_ERR\x10\x85@\x12\"\n\x1dSL_VRF_TABLE_REGISTRATION_ERR\x10\x86@\x12$\n\x1fSL_VRF_TABLE_UNREGISTRATION_ERR\x10\x87@\x12\x19\n\x14SL_VRF_TABLE_EOF_ERR\x10\x88@\x12 \n\x1bSL_VRF_REG_VRF_NAME_MISSING\x10\x89@\x12\'\n\"SL_VRF_V4_ROUTE_REPLAY_FATAL_ERROR\x10\x90@\x12\'\n\"SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR\x10\x91@\x12\x1e\n\x19SL_VRF_V4_ROUTE_REPLAY_OK\x10\x92@\x12\x1e\n\x19SL_VRF_V6_ROUTE_REPLAY_OK\x10\x93@\x12\x1e\n\x19SL_RPC_ROUTE_START_OFFSET\x10\x80`\x12!\n\x1cSL_RPC_ROUTE_TOO_MANY_ROUTES\x10\x81`\x12\"\n\x1dSL_RPC_ROUTE_VRF_NAME_TOOLONG\x10\x82`\x12\x1f\n\x1aSL_RPC_ROUTE_VRF_NOT_FOUND\x10\x83`\x12\x1e\n\x19SL_RPC_ROUTE_VRF_NO_TABLE\x10\x84`\x12*\n%SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED\x10\x85`\x12\"\n\x1dSL_RPC_ROUTE_VRF_NAME_MISSING\x10\x86`\x12(\n#SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE\x10\x87`\x12(\n#SL_RPC_ROUTE_SERVER_NOT_INITIALIZED\x10\x88`\x12)\n$SL_RPC_ROUTE_NOTIF_SRC_PROTO_TOOLONG\x10\x89`\x12-\n(SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG\x10\x8a`\x12#\n\x1eSL_RPC_ROUTE_GET_MATCH_INVALID\x10\x8b`\x12\"\n\x1dSL_RPC_ROUTE_GET_MATCH_NOTSUP\x10\x8c`\x12\x1b\n\x15SL_ROUTE_START_OFFSET\x10\x80\x80\x01\x12\x1b\n\x15SL_ROUTE_ADD_NO_PATHS\x10\x81\x80\x01\x12\x1e\n\x18SL_ROUTE_UPDATE_NO_PATHS\x10\x82\x80\x01\x12!\n\x1bSL_ROUTE_INVALID_PREFIX_LEN\x10\x83\x80\x01\x12%\n\x1fSL_ROUTE_INVALID_ADMIN_DISTANCE\x10\x84\x80\x01\x12 \n\x1aSL_ROUTE_INVALID_NUM_PATHS\x10\x85\x80\x01\x12 \n\x1aSL_ROUTE_INVALID_PREFIX_SZ\x10\x86\x80\x01\x12\x1d\n\x17SL_ROUTE_INVALID_PREFIX\x10\x87\x80\x01\x12*\n$SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED\x10\x88\x80\x01\x12#\n\x1dSL_ROUTE_ERR_RIB_INVALID_ARGS\x10\x89\x80\x01\x12\'\n!SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT\x10\x8a\x80\x01\x12#\n\x1dSL_ROUTE_ERR_RIB_TOOMANYPATHS\x10\x8b\x80\x01\x12\x15\n\x0fSL_ROUTE_EEXIST\x10\x8c\x80\x01\x12\x1c\n\x16SL_ROUTE_HOST_BITS_SET\x10\x8d\x80\x01\x12#\n\x1dSL_ROUTE_INVALID_PREFIX_MCAST\x10\x8e\x80\x01\x12 \n\x1aSL_ROUTE_PATH_AFI_MISMATCH\x10\x8f\x80\x01\x12$\n\x1eSL_ROUTE_TOOMANY_PRIMARY_PATHS\x10\x90\x80\x01\x12#\n\x1dSL_ROUTE_TOOMANY_BACKUP_PATHS\x10\x91\x80\x01\x12\x17\n\x11SL_ROUTE_DB_NOMEM\x10\x92\x80\x01\x12\"\n\x1cSL_ROUTE_INVALID_LOCAL_LABEL\x10\x93\x80\x01\x12\x1c\n\x16SL_ROUTE_INVALID_FLAGS\x10\x94\x80\x01\x12\x1a\n\x14SL_PATH_START_OFFSET\x10\x80\xa0\x01\x12\x19\n\x13SL_PATH_NH_NO_TABLE\x10\x81\xa0\x01\x12\x1f\n\x19SL_PATH_NH_INTF_NOT_FOUND\x10\x82\xa0\x01\x12!\n\x1bSL_PATH_INVALID_LABEL_COUNT\x10\x83\xa0\x01\x12\x18\n\x12SL_PATH_INVALID_ID\x10\x84\xa0\x01\x12\x1e\n\x18SL_PATH_VRF_NAME_TOOLONG\x10\x85\xa0\x01\x12\"\n\x1cSL_PATH_NH_INTF_NAME_TOOLONG\x10\x86\xa0\x01\x12 \n\x1aSL_PATH_NH_INVALID_ADDR_SZ\x10\x87\xa0\x01\x12!\n\x1bSL_PATH_NH_INF_NAME_MISSING\x10\x88\xa0\x01\x12#\n\x1dSL_PATH_INVALID_NEXT_HOP_ADDR\x10\x89\xa0\x01\x12\'\n!SL_PATH_INVALID_REMOTE_ADDR_COUNT\x10\x8a\xa0\x01\x12$\n\x1eSL_PATH_REMOTE_ADDR_INVALID_SZ\x10\x8b\xa0\x01\x12&\n SL_PATH_REMOTE_ADDR_AFI_MISMATCH\x10\x8c\xa0\x01\x12&\n SL_PATH_INVALID_PROTECTED_BITMAP\x10\x8d\xa0\x01\x12)\n#SL_PATH_BACKUP_MISSING_PRIMARY_PATH\x10\x8e\xa0\x01\x12!\n\x1bSL_PATH_PRIMARY_ID_REPEATED\x10\x8f\xa0\x01\x12 \n\x1aSL_PATH_BACKUP_ID_REPEATED\x10\x90\xa0\x01\x12*\n$SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS\x10\x91\xa0\x01\x12$\n\x1eSL_PATH_PRIMARY_TOOMANY_LABELS\x10\x92\xa0\x01\x12)\n#SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR\x10\x93\xa0\x01\x12!\n\x1bSL_PATH_REMOTE_ADDR_INVALID\x10\x94\xa0\x01\x12\x1b\n\x15SL_PATH_INVALID_LABEL\x10\x95\xa0\x01\x12(\n\"SL_PATH_ROUTER_MAC_ADDR_INVALID_SZ\x10\x96\xa0\x01\x12#\n\x1dSL_PATH_BACKUP_TOOMANY_LABELS\x10\x97\xa0\x01\x12\x19\n\x13SL_PATH_INVALID_VNI\x10\x98\xa0\x01\x12 \n\x1aSL_PATH_INVALID_ENCAP_ADDR\x10\x99\xa0\x01\x12(\n\"SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH\x10\x9a\xa0\x01\x12\x1b\n\x15SL_PATH_RTR_MAC_NOSUP\x10\x9b\xa0\x01\x12!\n\x1bSL_PATH_ENCAP_TYPE_MISMATCH\x10\x9c\xa0\x01\x12\x1d\n\x17SL_RPC_BFD_START_OFFSET\x10\x80\xc0\x01\x12&\n SL_RPC_BFD_TOO_MANY_BFD_SESSIONS\x10\x81\xc0\x01\x12\"\n\x1cSL_RPC_BFD_API_BAD_PARAMETER\x10\x82\xc0\x01\x12*\n$SL_RPC_BFD_API_CLIENT_NOT_REGISTERED\x10\x83\xc0\x01\x12#\n\x1dSL_RPC_BFD_API_INTERNAL_ERROR\x10\x84\xc0\x01\x12\'\n!SL_RPC_BFD_SERVER_NOT_INITIALIZED\x10\x85\xc0\x01\x12\"\n\x1cSL_RPC_BFD_V4_NOT_REGISTERED\x10\x86\xc0\x01\x12\"\n\x1cSL_RPC_BFD_V6_NOT_REGISTERED\x10\x87\xc0\x01\x12\x19\n\x13SL_BFD_START_OFFSET\x10\x80\xe0\x01\x12\x1e\n\x18SL_BFD_INTF_NAME_TOOLONG\x10\x81\xe0\x01\x12\x1b\n\x15SL_BFD_INTF_NOT_FOUND\x10\x82\xe0\x01\x12\x1e\n\x18SL_BFD_INVALID_ATTRIBUTE\x10\x83\xe0\x01\x12\x1e\n\x18SL_BFD_INTF_NAME_MISSING\x10\x84\xe0\x01\x12\x1e\n\x18SL_BFD_INVALID_NBR_MCAST\x10\x85\xe0\x01\x12\x18\n\x12SL_BFD_INVALID_NBR\x10\x86\xe0\x01\x12\x1d\n\x17SL_BFD_VRF_NAME_TOOLONG\x10\x87\xe0\x01\x12\x1a\n\x14SL_BFD_BAD_PARAMETER\x10\x88\xe0\x01\x12\x1f\n\x19SL_BFD_API_INTERNAL_ERROR\x10\x89\xe0\x01\x12\x1a\n\x14SL_BFD_VRF_NOT_FOUND\x10\x8a\xe0\x01\x12 \n\x1aSL_BFD_INVALID_PREFIX_SIZE\x10\x8b\xe0\x01\x12!\n\x1bSL_BFD_INVALID_SESSION_TYPE\x10\x8c\xe0\x01\x12\x18\n\x12SL_BFD_INVALID_VRF\x10\x8d\xe0\x01\x12\x1e\n\x18SL_BFD_SESSION_NOT_FOUND\x10\x8e\xe0\x01\x12\x1b\n\x15SL_BFD_SESSION_EXISTS\x10\x8f\xe0\x01\x12\x1e\n\x18SL_BFD_INTERNAL_DB_ERROR\x10\x90\xe0\x01\x12\x1b\n\x15SL_BFD_RECOVERY_ERROR\x10\x91\xe0\x01\x12\x1e\n\x18SL_RPC_MPLS_START_OFFSET\x10\x80\x80\x02\x12#\n\x1dSL_RPC_MPLS_ILM_TOO_MANY_ILMS\x10\x81\x80\x02\x12(\n\"SL_RPC_MPLS_SERVER_NOT_INITIALIZED\x10\x82\x80\x02\x12(\n\"SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE\x10\x83\x80\x02\x12/\n)SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS\x10\x84\x80\x02\x12 \n\x1aSL_RPC_MPLS_NOT_REGISTERED\x10\x85\x80\x02\x12\x17\n\x11SL_ILM_ERR_OFFSET\x10\x80\xa0\x02\x12\x17\n\x11SL_ILM_ADD_FAILED\x10\x81\xa0\x02\x12\x1b\n\x15SL_ILM_LSD_ADD_FAILED\x10\x82\xa0\x02\x12\x1e\n\x18SL_ILM_INVALID_NUM_NHLFE\x10\x83\xa0\x02\x12\x1a\n\x14SL_ILM_INVALID_LABEL\x10\x84\xa0\x02\x12\x1a\n\x14SL_ILM_DELETE_FAILED\x10\x85\xa0\x02\x12\x1e\n\x18SL_ILM_LSD_DELETE_FAILED\x10\x86\xa0\x02\x12#\n\x1dSL_ILM_TOOMANY_PRIMARY_NHLFES\x10\x87\xa0\x02\x12\"\n\x1cSL_ILM_TOOMANY_BACKUP_NHLFES\x10\x88\xa0\x02\x12\'\n!SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED\x10\x89\xa0\x02\x12%\n\x1fSL_ILM_LSD_NHLFE_INVALID_ATTRIB\x10\x8a\xa0\x02\x12\x13\n\rSL_ILM_EEXIST\x10\x8b\xa0\x02\x12\x15\n\x0fSL_ILM_DB_NOMEM\x10\x8c\xa0\x02\x12\x1d\n\x17SL_ILM_INVALID_ELSP_EXP\x10\x8d\xa0\x02\x12)\n#SL_ILM_ELSP_EXP_OR_DFLT_ALREADY_SET\x10\x8e\xa0\x02\x12\x19\n\x13SL_ILM_ADD_NO_PATHS\x10\x8f\xa0\x02\x12\x1c\n\x16SL_ILM_UPDATE_NO_PATHS\x10\x90\xa0\x02\x12\x1d\n\x17SL_ILM_UNSUPPORTED_ELSP\x10\x91\xa0\x02\x12&\n SL_ILM_LABEL_TOOMANY_EXP_CLASSES\x10\x92\xa0\x02\x12\x1f\n\x19SL_ILM_REPLAY_FATAL_ERROR\x10\x93\xa0\x02\x12\x16\n\x10SL_ILM_REPLAY_OK\x10\x94\xa0\x02\x12\x1f\n\x19SL_ILM_INVALID_PREFIX_LEN\x10\x95\xa0\x02\x12\x1a\n\x14SL_ILM_HOST_BITS_SET\x10\x96\xa0\x02\x12\x1e\n\x18SL_ILM_INVALID_PREFIX_SZ\x10\x97\xa0\x02\x12\x1b\n\x15SL_ILM_INVALID_PREFIX\x10\x98\xa0\x02\x12!\n\x1bSL_ILM_INVALID_PREFIX_MCAST\x10\x99\xa0\x02\x12\x1d\n\x17SL_ILM_VRF_NAME_TOOLONG\x10\xa0\xa0\x02\x12\x1c\n\x16SL_ILM_VRF_NO_TABLE_ID\x10\xa1\xa0\x02\x12\x1d\n\x17SL_ILM_VRF_NAME_MISSING\x10\xa2\xa0\x02\x12\x19\n\x13SL_NHLFE_ERR_OFFSET\x10\x80\xc0\x02\x12\x1a\n\x14SL_NHLFE_NH_NO_TABLE\x10\x81\xc0\x02\x12!\n\x1bSL_NHLFE_NH_INVALID_ADDR_SZ\x10\x82\xc0\x02\x12$\n\x1eSL_NHLFE_INVALID_NEXT_HOP_ADDR\x10\x83\xc0\x02\x12\x1f\n\x19SL_NHLFE_VRF_NAME_TOOLONG\x10\x84\xc0\x02\x12\"\n\x1cSL_NHLFE_NH_INF_NAME_MISSING\x10\x85\xc0\x02\x12#\n\x1dSL_NHLFE_NH_INTF_NAME_TOOLONG\x10\x86\xc0\x02\x12\"\n\x1cSL_NHLFE_INVALID_LABEL_COUNT\x10\x87\xc0\x02\x12\x1e\n\x18SL_NHLFE_INVALID_PATH_ID\x10\x88\xc0\x02\x12\x1c\n\x16SL_NHLFE_INVALID_LABEL\x10\x89\xc0\x02\x12\'\n!SL_NHLFE_INVALID_PROTECTED_BITMAP\x10\x8a\xc0\x02\x12(\n\"SL_NHLFE_INVALID_REMOTE_ADDR_COUNT\x10\x8b\xc0\x02\x12%\n\x1fSL_NHLFE_REMOTE_ADDR_INVALID_SZ\x10\x8c\xc0\x02\x12%\n\x1fSL_NHLFE_PRIMARY_TOOMANY_LABELS\x10\x8d\xc0\x02\x12*\n$SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR\x10\x8e\xc0\x02\x12!\n\x1bSL_NHLFE_BACKUP_ID_REPEATED\x10\x8f\xc0\x02\x12\"\n\x1cSL_NHLFE_PRIMARY_ID_REPEATED\x10\x90\xc0\x02\x12,\n&SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY\x10\x91\xc0\x02\x12+\n%SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS\x10\x92\xc0\x02\x12\"\n\x1cSL_NHLFE_REMOTE_ADDR_INVALID\x10\x93\xc0\x02\x12*\n$SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH\x10\x94\xc0\x02\x12\x1f\n\x19SL_NHLFE_NEXT_HOP_MISSING\x10\x95\xc0\x02\x12#\n\x1dSL_NHLFE_LABEL_ACTION_INVALID\x10\x96\xc0\x02\x12 \n\x1aSL_NHLFE_NH_INTF_NOT_FOUND\x10\x97\xc0\x02\x12\x1a\n\x14SL_NHLFE_OPER_FAILED\x10\x98\xc0\x02\x12#\n\x1dSL_NHLFE_LABEL_ACTION_MISSING\x10\x99\xc0\x02\x12\x1d\n\x17SL_NHLFE_EXP_SET_FAILED\x10\x9a\xc0\x02\x12*\n$SL_NHLFE_ELSP_PROTECTION_UNSUPPORTED\x10\x9b\xc0\x02\x12\x1f\n\x19SL_NHLFE_INVALID_ELSP_EXP\x10\x9c\xc0\x02\x12$\n\x1eSL_NHLFE_INVALID_PATH_PRIORITY\x10\x9d\xc0\x02\x12\"\n\x1cSL_NHLFE_INVALID_LOAD_METRIC\x10\x9e\xc0\x02\x12\x1c\n\x16SL_NHLFE_INVALID_SETID\x10\x9f\xc0\x02\x12%\n\x1fSL_NHLFE_INVALID_SETID_PRIORITY\x10\xa0\xc0\x02\x12.\n(SL_NHLFE_INVALID_MULTIPLE_PRIMARY_SETIDS\x10\xa1\xc0\x02\x12$\n\x1eSL_NHLFE_NON_CONTIGUOUS_SETIDS\x10\xa2\xc0\x02\x12!\n\x1bSL_NHLFE_NON_CONTIGUOUS_EXP\x10\xa3\xc0\x02\x12\'\n!SL_NHLFE_INCONSISTENT_EXP_ON_PATH\x10\xa4\xc0\x02\x12\x1d\n\x17SL_LABEL_BLK_ERR_OFFSET\x10\x80\xe0\x02\x12!\n\x1bSL_LABEL_BLK_LSD_ADD_FAILED\x10\x81\xe0\x02\x12$\n\x1eSL_LABEL_BLK_LSD_DELETE_FAILED\x10\x82\xe0\x02\x12*\n$SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND\x10\x83\xe0\x02\x12\'\n!SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE\x10\x84\xe0\x02\x12%\n\x1fSL_LABEL_BLK_LSD_INVALID_ATTRIB\x10\x85\xe0\x02\x12%\n\x1fSL_LABEL_BLK_INVALID_BLOCK_SIZE\x10\x86\xe0\x02\x12&\n SL_LABEL_BLK_INVALID_START_LABEL\x10\x87\xe0\x02\x12\x19\n\x13SL_LABEL_BLK_EEXIST\x10\x88\xe0\x02\x12\x1b\n\x15SL_LABEL_BLK_DB_NOMEM\x10\x89\xe0\x02\x12\x1f\n\x19SL_LABEL_BLK_TYPE_INVALID\x10\x8a\xe0\x02\x12&\n SL_LABEL_BLK_CLIENT_NAME_TOOLONG\x10\x8b\xe0\x02\x12\x1c\n\x16SL_MPLS_REG_ERR_OFFSET\x10\x80\x80\x03\x12\x15\n\x0fSL_MPLS_REG_ERR\x10\x81\x80\x03\x12\x17\n\x11SL_MPLS_UNREG_ERR\x10\x82\x80\x03\x12\x15\n\x0fSL_MPLS_EOF_ERR\x10\x83\x80\x03\x12\x1e\n\x18SL_RPC_INTF_START_OFFSET\x10\x80\xa0\x03\x12%\n\x1fSL_RPC_INTF_TOO_MANY_INTERFACES\x10\x81\xa0\x03\x12(\n\"SL_RPC_INTF_SERVER_NOT_INITIALIZED\x10\x82\xa0\x03\x12+\n%SL_RPC_INTF_API_CLIENT_NOT_REGISTERED\x10\x83\xa0\x03\x12\x1a\n\x14SL_INTF_START_OFFSET\x10\x80\xc0\x03\x12$\n\x1eSL_INTF_INTERFACE_NAME_MISSING\x10\x81\xc0\x03\x12$\n\x1eSL_INTF_INTERFACE_NAME_TOOLONG\x10\x82\xc0\x03\x12\x1f\n\x19SL_INTF_INTERFACE_REG_ERR\x10\x83\xc0\x03\x12\x1f\n\x19SL_INTF_INTERNAL_DB_ERROR\x10\x84\xc0\x03\x12\x1c\n\x16SL_INTF_RECOVERY_ERROR\x10\x85\xc0\x03\x12\x1e\n\x18SL_INTF_INTERFACE_EXISTS\x10\x86\xc0\x03\x12!\n\x1bSL_INTF_INTERFACE_NOT_FOUND\x10\x87\xc0\x03\x12+\n%SL_INTF_INTERFACE_STATE_NOT_SUPPORTED\x10\x88\xc0\x03\x12\x1c\n\x16SL_L2_REG_START_OFFSET\x10\x80\xe0\x03\x12\x1c\n\x16SL_L2_REGISTRATION_ERR\x10\x81\xe0\x03\x12\x1e\n\x18SL_L2_UNREGISTRATION_ERR\x10\x82\xe0\x03\x12\x13\n\rSL_L2_EOF_ERR\x10\x83\xe0\x03\x12&\n SL_L2_REG_INVALID_ADMIN_DISTANCE\x10\x84\xe0\x03\x12\x1c\n\x16SL_L2_REG_IS_DUPLICATE\x10\x85\xe0\x03\x12&\n SL_L2_REG_SERVER_NOT_INITIALIZED\x10\x86\xe0\x03\x12#\n\x1dSL_RPC_L2_BD_REG_START_OFFSET\x10\x80\x80\x04\x12#\n\x1dSL_RPC_L2_BD_REG_NAME_MISSING\x10\x81\x80\x04\x12$\n\x1eSL_RPC_L2_BD_REG_TOO_MANY_MSGS\x10\x82\x80\x04\x12-\n\'SL_RPC_L2_BD_REG_SERVER_NOT_INITIALIZED\x10\x83\x80\x04\x12,\n&SL_RPC_L2_BD_REG_CLIENT_NOT_REGISTERED\x10\x84\x80\x04\x12\x1f\n\x19SL_L2_BD_REG_START_OFFSET\x10\x80\xa0\x04\x12\x1f\n\x19SL_L2_BD_REGISTRATION_ERR\x10\x81\xa0\x04\x12!\n\x1bSL_L2_BD_UNREGISTRATION_ERR\x10\x82\xa0\x04\x12\x16\n\x10SL_L2_BD_EOF_ERR\x10\x83\xa0\x04\x12 \n\x1aSL_L2_BD_REG_NAME_TOO_LONG\x10\x84\xa0\x04\x12\x1f\n\x19SL_L2_BD_REG_BD_NOT_FOUND\x10\x85\xa0\x04\x12\"\n\x1cSL_RPC_L2_ROUTE_START_OFFSET\x10\x80\xc0\x04\x12#\n\x1dSL_RPC_L2_ROUTE_TOO_MANY_MSGS\x10\x81\xc0\x04\x12,\n&SL_RPC_L2_ROUTE_SERVER_NOT_INITIALIZED\x10\x82\xc0\x04\x12+\n%SL_RPC_L2_ROUTE_CLIENT_NOT_REGISTERED\x10\x83\xc0\x04\x12\x1e\n\x18SL_L2_ROUTE_START_OFFSET\x10\x80\xe0\x04\x12!\n\x1bSL_L2_ROUTE_BD_NAME_MISSING\x10\x81\xe0\x04\x12!\n\x1bSL_L2_ROUTE_BD_NAME_TOOLONG\x10\x82\xe0\x04\x12\x1e\n\x18SL_L2_ROUTE_BD_NOT_FOUND\x10\x83\xe0\x04\x12#\n\x1dSL_L2_ROUTE_BD_NOT_REGISTERED\x10\x84\xe0\x04\x12\x1e\n\x18SL_L2_ROUTE_INVALID_ARGS\x10\x85\xe0\x04\x12\"\n\x1cSL_RPC_L2_NOTIF_START_OFFSET\x10\x81\x80\x05\x12,\n&SL_RPC_L2_NOTIF_SERVER_NOT_INITIALIZED\x10\x82\x80\x05\x12+\n%SL_RPC_L2_NOTIF_CLIENT_NOT_REGISTERED\x10\x83\x80\x05\x12 \n\x1aSL_RPC_L2_NOTIF_ENABLE_ERR\x10\x84\x80\x05\x12!\n\x1bSL_RPC_L2_NOTIF_DISABLE_ERR\x10\x85\x80\x05\x12\x1d\n\x17SL_RPC_L2_NOTIF_EOF_ERR\x10\x86\x80\x05\x12%\n\x1fSL_RPC_L2_NOTIF_BD_NAME_MISSING\x10\x87\x80\x05\x12%\n\x1fSL_RPC_L2_NOTIF_BD_NAME_TOOLONG\x10\x88\x80\x05\x12\"\n\x1cSL_RPC_L2_NOTIF_BD_NOT_FOUND\x10\x89\x80\x05\x12\x17\n\x11SL_PG_VRF_ADD_ERR\x10\x81\xa0\x05\x12\x18\n\x12SL_PG_VRF_NO_VRFID\x10\x82\xa0\x05\x12\x1b\n\x15SL_PG_STR_KEY_TOOLONG\x10\x83\xa0\x05\x12\x1f\n\x19SL_PG_TARGET_VRF_NO_VRFID\x10\x84\xa0\x05\x12\x1b\n\x15SL_PG_STR_KEY_INVALID\x10\x85\xa0\x05\x12\x1e\n\x18SL_NEXT_HOP_START_OFFSET\x10\x80\xc0\x05\x12$\n\x1eSL_NEXT_HOP_INVALID_PREFIX_LEN\x10\x81\xc0\x05\x12\x1f\n\x19SL_NEXT_HOP_HOST_BITS_SET\x10\x82\xc0\x05\x12&\n SL_NEXT_HOP_INVALID_PREFIX_MCAST\x10\x83\xc0\x05\x12 \n\x1aSL_NEXT_HOP_INVALID_PREFIX\x10\x84\xc0\x05\x12\'\n!SL_NEXT_HOP_INVALID_NEXT_HOP_ADDR\x10\x85\xc0\x05\x12#\n\x1dSL_NEXT_HOP_INVALID_PREFIX_SZ\x10\x86\xc0\x05\x12 \n\x1aSL_NEXT_HOP_RIB_ADD_FAILED\x10\x87\xc0\x05\x12$\n\x1eSL_ROUTE_REDIST_RIB_ADD_FAILED\x10\x88\xc0\x05\x12\x19\n\x13SL_FIB_START_OFFSET\x10\x80\xe0\x05\x12\x14\n\x0eSL_FIB_SUCCESS\x10\x81\xe0\x05\x12\x13\n\rSL_FIB_FAILED\x10\x82\xe0\x05\x12\x17\n\x11SL_FIB_INELIGIBLE\x10\x83\xe0\x05\x12\x1a\n\x14SL_FIB_INUSE_SUCCESS\x10\x84\xe0\x05\x12!\n\x1bSL_ACK_PERMIT_NOT_SUPPORTED\x10\x85\xe0\x05\x12\x18\n\x12SL_INVALID_ACKTYPE\x10\x86\xe0\x05\x12\x1c\n\x16SL_POLICY_START_OFFSET\x10\x80\x80\x06\x12\x17\n\x11SL_POLICY_ADD_ERR\x10\x81\x80\x06\x12\x1a\n\x14SL_POLICY_EXISTS_ERR\x10\x82\x80\x06\x12\x1a\n\x14SL_POLICY_DELETE_ERR\x10\x83\x80\x06\x12\x1c\n\x16SL_POLICY_RULE_ADD_ERR\x10\x84\x80\x06\x12\x1f\n\x19SL_POLICY_RULE_EXISTS_ERR\x10\x85\x80\x06\x12\x1f\n\x19SL_POLICY_RULE_DELETE_ERR\x10\x86\x80\x06\x12\x19\n\x13SL_POLICY_APPLY_ERR\x10\x87\x80\x06\x12\x1b\n\x15SL_POLICY_UNAPPLY_ERR\x10\x88\x80\x06\x12!\n\x1bSL_POLICY_TOO_MANY_POLICIES\x10\x89\x80\x06\x12\x1d\n\x17SL_POLICY_NAME_TOO_LONG\x10\x8a\x80\x06\x12\"\n\x1cSL_POLICY_RULE_NAME_TOO_LONG\x10\x8b\x80\x06\x12*\n$SL_POLICY_DUPLICATE_PRIORITY_IN_RULE\x10\x8c\x80\x06\x12$\n\x1eSL_POLICY_RULE_MOD_NOT_ALLOWED\x10\x8d\x80\x06\x12\x1c\n\x16SL_POLICY_INVALID_RULE\x10\x8e\x80\x06\x12!\n\x1bSL_POLICY_RULE_ADD_NO_RULES\x10\x8f\x80\x06\x12+\n%SL_POLICY_INVALID_MATCH_COUNT_IN_RULE\x10\x90\x80\x06\x12,\n&SL_POLICY_INVALID_ACTION_COUNT_IN_RULE\x10\x91\x80\x06\x12\x19\n\x13SL_POLICY_NOT_FOUND\x10\x92\x80\x06\x12\x17\n\x11SL_POLICY_INVALID\x10\x93\x80\x06\x12\x1c\n\x16SL_POLICY_NAME_MISSING\x10\x94\x80\x06\x12!\n\x1bSL_POLICY_RULE_NAME_MISSING\x10\x95\x80\x06\x12(\n\"SL_POLICY_PRIORITY_MISSING_IN_RULE\x10\x96\x80\x06\x12\x1c\n\x16SL_POLICY_TYPE_INVALID\x10\x97\x80\x06\x12!\n\x1bSL_POLICY_INVALID_DIRECTION\x10\x98\x80\x06\x12!\n\x1bSL_POLICY_INTF_NAME_TOOLONG\x10\x99\x80\x06\x12!\n\x1bSL_POLICY_INTF_NAME_MISSING\x10\x9a\x80\x06\x12&\n SL_POLICY_MAX_RULE_LIMIT_REACHED\x10\x9b\x80\x06\x12!\n\x1bSL_POLICY_VRF_NAME_TOO_LONG\x10\x9c\x80\x06\x12 \n\x1aSL_POLICY_VRF_NAME_MISSING\x10\x9d\x80\x06\x12&\n SL_POLICY_PATH_GRP_NAME_TOO_LONG\x10\x9e\x80\x06\x12%\n\x1fSL_POLICY_PATH_GRP_NAME_MISSING\x10\x9f\x80\x06\x12\"\n\x1cSL_POLICY_INVALID_DSCP_VALUE\x10\xa0\x80\x06\x12%\n\x1fSL_POLICY_PRIORITY_STR_TOO_LONG\x10\xa1\x80\x06\x12&\n SL_POLICY_MAX_INTF_LIMIT_REACHED\x10\xa2\x80\x06\x12$\n\x1eSL_POLICY_RULE_DELETE_NO_RULES\x10\xa3\x80\x06\x12\x1e\n\x18SL_POLICY_APPLY_NO_INTFS\x10\xa4\x80\x06\x12 \n\x1aSL_POLICY_UNAPPLY_NO_INTFS\x10\xa5\x80\x06\x12 \n\x1aSL_BGPLS_TOPO_START_OFFSET\x10\x80\xa0\x06\x12#\n\x1dSL_BGPLS_SERVER_NOT_AVAILABLE\x10\x81\xa0\x06\x12(\n\"SL_BGPLS_MAX_MATCH_FILTER_EXCEEDED\x10\x82\xa0\x06\x12#\n\x1dSL_BGPLS_MAX_STREAMS_EXCEEDED\x10\x83\xa0\x06\x12\x1e\n\x18SL_INTERNAL_START_OFFSET\x10\x80\x80@\"<\n\x0bSLInterface\x12\x0e\n\x04Name\x18\x01 \x01(\tH\x00\x12\x10\n\x06Handle\x18\x02 \x01(\rH\x00\x42\x0b\n\tInterface\"B\n\x0bSLIpAddress\x12\x13\n\tV4Address\x18\x01 \x01(\rH\x00\x12\x13\n\tV6Address\x18\x02 \x01(\x0cH\x00\x42\t\n\x07\x41\x64\x64ress\"%\n\nSLObjectId\x12\x0e\n\x04Name\x18\x01 \x01(\tH\x00\x42\x07\n\x05\x65ntry\"T\n\x11SLPathGroupRefKey\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12.\n\x0bPathGroupId\x18\x02 \x01(\x0b\x32\x19.service_layer.SLObjectId*b\n\x07SLRegOp\x12\x15\n\x11SL_REGOP_RESERVED\x10\x00\x12\x15\n\x11SL_REGOP_REGISTER\x10\x01\x12\x17\n\x13SL_REGOP_UNREGISTER\x10\x02\x12\x10\n\x0cSL_REGOP_EOF\x10\x03*_\n\nSLObjectOp\x12\x15\n\x11SL_OBJOP_RESERVED\x10\x00\x12\x10\n\x0cSL_OBJOP_ADD\x10\x01\x12\x13\n\x0fSL_OBJOP_UPDATE\x10\x02\x12\x13\n\x0fSL_OBJOP_DELETE\x10\x03*S\n\tSLNotifOp\x12\x17\n\x13SL_NOTIFOP_RESERVED\x10\x00\x12\x15\n\x11SL_NOTIFOP_ENABLE\x10\x01\x12\x16\n\x12SL_NOTIFOP_DISABLE\x10\x02*\x89\x01\n\x10SLUpdatePriority\x12\x18\n\x14SL_PRIORITY_RESERVED\x10\x00\x12\x18\n\x14SL_PRIORITY_CRITICAL\x10\x04\x12\x14\n\x10SL_PRIORITY_HIGH\x10\x08\x12\x16\n\x12SL_PRIORITY_MEDIUM\x10\x0c\x12\x13\n\x0fSL_PRIORITY_LOW\x10\x10*K\n\x0bSLEncapType\x12\x15\n\x11SL_ENCAP_RESERVED\x10\x00\x12\x12\n\x0eSL_ENCAP_VXLAN\x10\x01\x12\x11\n\rSL_ENCAP_MPLS\x10\x02*\x8d\x01\n\x0bSLTableType\x12\x1a\n\x16SL_TABLE_TYPE_RESERVED\x10\x00\x12\x17\n\x13SL_IPv4_ROUTE_TABLE\x10\x01\x12\x17\n\x13SL_IPv6_ROUTE_TABLE\x10\x02\x12\x17\n\x13SL_MPLS_LABEL_TABLE\x10\x03\x12\x17\n\x13SL_PATH_GROUP_TABLE\x10\x04*G\n\x0cSLRspACKType\x12\x0b\n\x07RIB_ACK\x10\x00\x12\x13\n\x0fRIB_AND_FIB_ACK\x10\x01\x12\x15\n\x11RIB_FIB_INUSE_ACK\x10\x02*\xbd\x01\n\x0eSLRspACKPermit\x12\x11\n\rSL_PERMIT_ALL\x10\x00\x12\x18\n\x14SL_PERMIT_SL_SUCCESS\x10\x01\x12\x1c\n\x18SL_PERMIT_SL_FIB_SUCCESS\x10\x02\x12\x1b\n\x17SL_PERMIT_SL_FIB_FAILED\x10\x03\x12\x1f\n\x1bSL_PERMIT_SL_FIB_INELIGIBLE\x10\x04\x12\"\n\x1eSL_PERMIT_SL_FIB_INUSE_SUCCESS\x10\x05*e\n\x0fSLRspAckCadence\x12\x15\n\x11SL_RSP_CONTINUOUS\x10\x00\x12\x14\n\x10SL_RSP_JUST_ONCE\x10\x01\x12\x14\n\x10SL_RSP_ONCE_EACH\x10\x02\x12\x0f\n\x0bSL_RSP_NONE\x10\x03\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15sl_common_types.proto\x12\rservice_layer\"\x8aW\n\rSLErrorStatus\x12\x34\n\x06Status\x18\x01 \x01(\x0e\x32$.service_layer.SLErrorStatus.SLErrno\"\xc2V\n\x07SLErrno\x12\x0e\n\nSL_SUCCESS\x10\x00\x12\x14\n\x10SL_NOT_CONNECTED\x10\x01\x12\r\n\tSL_EAGAIN\x10\x02\x12\r\n\tSL_ENOMEM\x10\x03\x12\x0c\n\x08SL_EBUSY\x10\x04\x12\r\n\tSL_EINVAL\x10\x05\x12\x16\n\x12SL_UNSUPPORTED_VER\x10\x06\x12\x14\n\x10SL_NOT_AVAILABLE\x10\x07\x12\x1b\n\x17SL_STREAM_NOT_SUPPORTED\x10\x08\x12\x0e\n\nSL_ENOTSUP\x10\t\x12\x0f\n\x0bSL_SOME_ERR\x10\n\x12\x0e\n\nSL_TIMEOUT\x10\x0b\x12\x11\n\rSL_NOTIF_TERM\x10\x0c\x12\x10\n\x0cSL_AUTH_FAIL\x10\r\x12\x1d\n\x19SL_ACK_TYPE_NOT_SUPPORTED\x10\x0e\x12\x19\n\x14SL_INIT_START_OFFSET\x10\x80\n\x12\x18\n\x13SL_INIT_STATE_CLEAR\x10\x81\n\x12\x18\n\x13SL_INIT_STATE_READY\x10\x82\n\x12\x1c\n\x17SL_INIT_UNSUPPORTED_VER\x10\x83\n\x12#\n\x1eSL_INIT_SERVER_NOT_INITIALIZED\x10\x84\n\x12&\n!SL_INIT_SERVER_MODE_CHANGE_FAILED\x10\x85\n\x12\x1c\n\x17SL_RPC_VRF_START_OFFSET\x10\x80 \x12%\n SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS\x10\x81 \x12&\n!SL_RPC_VRF_SERVER_NOT_INITIALIZED\x10\x82 \x12&\n!SL_RPC_VRF_OP_NOTSUP_WITH_AUTOREG\x10\x83 \x12\x18\n\x13SL_VRF_START_OFFSET\x10\x80@\x12\x18\n\x13SL_VRF_NAME_TOOLONG\x10\x81@\x12\x15\n\x10SL_VRF_NOT_FOUND\x10\x82@\x12\x17\n\x12SL_VRF_NO_TABLE_ID\x10\x83@\x12&\n!SL_VRF_REG_INVALID_ADMIN_DISTANCE\x10\x84@\x12\x19\n\x14SL_VRF_TABLE_ADD_ERR\x10\x85@\x12\"\n\x1dSL_VRF_TABLE_REGISTRATION_ERR\x10\x86@\x12$\n\x1fSL_VRF_TABLE_UNREGISTRATION_ERR\x10\x87@\x12\x19\n\x14SL_VRF_TABLE_EOF_ERR\x10\x88@\x12 \n\x1bSL_VRF_REG_VRF_NAME_MISSING\x10\x89@\x12\'\n\"SL_VRF_V4_ROUTE_REPLAY_FATAL_ERROR\x10\x90@\x12\'\n\"SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR\x10\x91@\x12\x1e\n\x19SL_VRF_V4_ROUTE_REPLAY_OK\x10\x92@\x12\x1e\n\x19SL_VRF_V6_ROUTE_REPLAY_OK\x10\x93@\x12\x1e\n\x19SL_RPC_ROUTE_START_OFFSET\x10\x80`\x12!\n\x1cSL_RPC_ROUTE_TOO_MANY_ROUTES\x10\x81`\x12\"\n\x1dSL_RPC_ROUTE_VRF_NAME_TOOLONG\x10\x82`\x12\x1f\n\x1aSL_RPC_ROUTE_VRF_NOT_FOUND\x10\x83`\x12\x1e\n\x19SL_RPC_ROUTE_VRF_NO_TABLE\x10\x84`\x12*\n%SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED\x10\x85`\x12\"\n\x1dSL_RPC_ROUTE_VRF_NAME_MISSING\x10\x86`\x12(\n#SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE\x10\x87`\x12(\n#SL_RPC_ROUTE_SERVER_NOT_INITIALIZED\x10\x88`\x12)\n$SL_RPC_ROUTE_NOTIF_SRC_PROTO_TOOLONG\x10\x89`\x12-\n(SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG\x10\x8a`\x12#\n\x1eSL_RPC_ROUTE_GET_MATCH_INVALID\x10\x8b`\x12\"\n\x1dSL_RPC_ROUTE_GET_MATCH_NOTSUP\x10\x8c`\x12\x1b\n\x15SL_ROUTE_START_OFFSET\x10\x80\x80\x01\x12\x1b\n\x15SL_ROUTE_ADD_NO_PATHS\x10\x81\x80\x01\x12\x1e\n\x18SL_ROUTE_UPDATE_NO_PATHS\x10\x82\x80\x01\x12!\n\x1bSL_ROUTE_INVALID_PREFIX_LEN\x10\x83\x80\x01\x12%\n\x1fSL_ROUTE_INVALID_ADMIN_DISTANCE\x10\x84\x80\x01\x12 \n\x1aSL_ROUTE_INVALID_NUM_PATHS\x10\x85\x80\x01\x12 \n\x1aSL_ROUTE_INVALID_PREFIX_SZ\x10\x86\x80\x01\x12\x1d\n\x17SL_ROUTE_INVALID_PREFIX\x10\x87\x80\x01\x12*\n$SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED\x10\x88\x80\x01\x12#\n\x1dSL_ROUTE_ERR_RIB_INVALID_ARGS\x10\x89\x80\x01\x12\'\n!SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT\x10\x8a\x80\x01\x12#\n\x1dSL_ROUTE_ERR_RIB_TOOMANYPATHS\x10\x8b\x80\x01\x12\x15\n\x0fSL_ROUTE_EEXIST\x10\x8c\x80\x01\x12\x1c\n\x16SL_ROUTE_HOST_BITS_SET\x10\x8d\x80\x01\x12#\n\x1dSL_ROUTE_INVALID_PREFIX_MCAST\x10\x8e\x80\x01\x12 \n\x1aSL_ROUTE_PATH_AFI_MISMATCH\x10\x8f\x80\x01\x12$\n\x1eSL_ROUTE_TOOMANY_PRIMARY_PATHS\x10\x90\x80\x01\x12#\n\x1dSL_ROUTE_TOOMANY_BACKUP_PATHS\x10\x91\x80\x01\x12\x17\n\x11SL_ROUTE_DB_NOMEM\x10\x92\x80\x01\x12\"\n\x1cSL_ROUTE_INVALID_LOCAL_LABEL\x10\x93\x80\x01\x12\x1c\n\x16SL_ROUTE_INVALID_FLAGS\x10\x94\x80\x01\x12\x1a\n\x14SL_PATH_START_OFFSET\x10\x80\xa0\x01\x12\x19\n\x13SL_PATH_NH_NO_TABLE\x10\x81\xa0\x01\x12\x1f\n\x19SL_PATH_NH_INTF_NOT_FOUND\x10\x82\xa0\x01\x12!\n\x1bSL_PATH_INVALID_LABEL_COUNT\x10\x83\xa0\x01\x12\x18\n\x12SL_PATH_INVALID_ID\x10\x84\xa0\x01\x12\x1e\n\x18SL_PATH_VRF_NAME_TOOLONG\x10\x85\xa0\x01\x12\"\n\x1cSL_PATH_NH_INTF_NAME_TOOLONG\x10\x86\xa0\x01\x12 \n\x1aSL_PATH_NH_INVALID_ADDR_SZ\x10\x87\xa0\x01\x12!\n\x1bSL_PATH_NH_INF_NAME_MISSING\x10\x88\xa0\x01\x12#\n\x1dSL_PATH_INVALID_NEXT_HOP_ADDR\x10\x89\xa0\x01\x12\'\n!SL_PATH_INVALID_REMOTE_ADDR_COUNT\x10\x8a\xa0\x01\x12$\n\x1eSL_PATH_REMOTE_ADDR_INVALID_SZ\x10\x8b\xa0\x01\x12&\n SL_PATH_REMOTE_ADDR_AFI_MISMATCH\x10\x8c\xa0\x01\x12&\n SL_PATH_INVALID_PROTECTED_BITMAP\x10\x8d\xa0\x01\x12)\n#SL_PATH_BACKUP_MISSING_PRIMARY_PATH\x10\x8e\xa0\x01\x12!\n\x1bSL_PATH_PRIMARY_ID_REPEATED\x10\x8f\xa0\x01\x12 \n\x1aSL_PATH_BACKUP_ID_REPEATED\x10\x90\xa0\x01\x12*\n$SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS\x10\x91\xa0\x01\x12$\n\x1eSL_PATH_PRIMARY_TOOMANY_LABELS\x10\x92\xa0\x01\x12)\n#SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR\x10\x93\xa0\x01\x12!\n\x1bSL_PATH_REMOTE_ADDR_INVALID\x10\x94\xa0\x01\x12\x1b\n\x15SL_PATH_INVALID_LABEL\x10\x95\xa0\x01\x12(\n\"SL_PATH_ROUTER_MAC_ADDR_INVALID_SZ\x10\x96\xa0\x01\x12#\n\x1dSL_PATH_BACKUP_TOOMANY_LABELS\x10\x97\xa0\x01\x12\x19\n\x13SL_PATH_INVALID_VNI\x10\x98\xa0\x01\x12 \n\x1aSL_PATH_INVALID_ENCAP_ADDR\x10\x99\xa0\x01\x12(\n\"SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH\x10\x9a\xa0\x01\x12\x1b\n\x15SL_PATH_RTR_MAC_NOSUP\x10\x9b\xa0\x01\x12!\n\x1bSL_PATH_ENCAP_TYPE_MISMATCH\x10\x9c\xa0\x01\x12\x1d\n\x17SL_RPC_BFD_START_OFFSET\x10\x80\xc0\x01\x12&\n SL_RPC_BFD_TOO_MANY_BFD_SESSIONS\x10\x81\xc0\x01\x12\"\n\x1cSL_RPC_BFD_API_BAD_PARAMETER\x10\x82\xc0\x01\x12*\n$SL_RPC_BFD_API_CLIENT_NOT_REGISTERED\x10\x83\xc0\x01\x12#\n\x1dSL_RPC_BFD_API_INTERNAL_ERROR\x10\x84\xc0\x01\x12\'\n!SL_RPC_BFD_SERVER_NOT_INITIALIZED\x10\x85\xc0\x01\x12\"\n\x1cSL_RPC_BFD_V4_NOT_REGISTERED\x10\x86\xc0\x01\x12\"\n\x1cSL_RPC_BFD_V6_NOT_REGISTERED\x10\x87\xc0\x01\x12\x19\n\x13SL_BFD_START_OFFSET\x10\x80\xe0\x01\x12\x1e\n\x18SL_BFD_INTF_NAME_TOOLONG\x10\x81\xe0\x01\x12\x1b\n\x15SL_BFD_INTF_NOT_FOUND\x10\x82\xe0\x01\x12\x1e\n\x18SL_BFD_INVALID_ATTRIBUTE\x10\x83\xe0\x01\x12\x1e\n\x18SL_BFD_INTF_NAME_MISSING\x10\x84\xe0\x01\x12\x1e\n\x18SL_BFD_INVALID_NBR_MCAST\x10\x85\xe0\x01\x12\x18\n\x12SL_BFD_INVALID_NBR\x10\x86\xe0\x01\x12\x1d\n\x17SL_BFD_VRF_NAME_TOOLONG\x10\x87\xe0\x01\x12\x1a\n\x14SL_BFD_BAD_PARAMETER\x10\x88\xe0\x01\x12\x1f\n\x19SL_BFD_API_INTERNAL_ERROR\x10\x89\xe0\x01\x12\x1a\n\x14SL_BFD_VRF_NOT_FOUND\x10\x8a\xe0\x01\x12 \n\x1aSL_BFD_INVALID_PREFIX_SIZE\x10\x8b\xe0\x01\x12!\n\x1bSL_BFD_INVALID_SESSION_TYPE\x10\x8c\xe0\x01\x12\x18\n\x12SL_BFD_INVALID_VRF\x10\x8d\xe0\x01\x12\x1e\n\x18SL_BFD_SESSION_NOT_FOUND\x10\x8e\xe0\x01\x12\x1b\n\x15SL_BFD_SESSION_EXISTS\x10\x8f\xe0\x01\x12\x1e\n\x18SL_BFD_INTERNAL_DB_ERROR\x10\x90\xe0\x01\x12\x1b\n\x15SL_BFD_RECOVERY_ERROR\x10\x91\xe0\x01\x12\x1e\n\x18SL_RPC_MPLS_START_OFFSET\x10\x80\x80\x02\x12#\n\x1dSL_RPC_MPLS_ILM_TOO_MANY_ILMS\x10\x81\x80\x02\x12(\n\"SL_RPC_MPLS_SERVER_NOT_INITIALIZED\x10\x82\x80\x02\x12(\n\"SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE\x10\x83\x80\x02\x12/\n)SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS\x10\x84\x80\x02\x12 \n\x1aSL_RPC_MPLS_NOT_REGISTERED\x10\x85\x80\x02\x12\x17\n\x11SL_ILM_ERR_OFFSET\x10\x80\xa0\x02\x12\x17\n\x11SL_ILM_ADD_FAILED\x10\x81\xa0\x02\x12\x1b\n\x15SL_ILM_LSD_ADD_FAILED\x10\x82\xa0\x02\x12\x1e\n\x18SL_ILM_INVALID_NUM_NHLFE\x10\x83\xa0\x02\x12\x1a\n\x14SL_ILM_INVALID_LABEL\x10\x84\xa0\x02\x12\x1a\n\x14SL_ILM_DELETE_FAILED\x10\x85\xa0\x02\x12\x1e\n\x18SL_ILM_LSD_DELETE_FAILED\x10\x86\xa0\x02\x12#\n\x1dSL_ILM_TOOMANY_PRIMARY_NHLFES\x10\x87\xa0\x02\x12\"\n\x1cSL_ILM_TOOMANY_BACKUP_NHLFES\x10\x88\xa0\x02\x12\'\n!SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED\x10\x89\xa0\x02\x12%\n\x1fSL_ILM_LSD_NHLFE_INVALID_ATTRIB\x10\x8a\xa0\x02\x12\x13\n\rSL_ILM_EEXIST\x10\x8b\xa0\x02\x12\x15\n\x0fSL_ILM_DB_NOMEM\x10\x8c\xa0\x02\x12\x1d\n\x17SL_ILM_INVALID_ELSP_EXP\x10\x8d\xa0\x02\x12)\n#SL_ILM_ELSP_EXP_OR_DFLT_ALREADY_SET\x10\x8e\xa0\x02\x12\x19\n\x13SL_ILM_ADD_NO_PATHS\x10\x8f\xa0\x02\x12\x1c\n\x16SL_ILM_UPDATE_NO_PATHS\x10\x90\xa0\x02\x12\x1d\n\x17SL_ILM_UNSUPPORTED_ELSP\x10\x91\xa0\x02\x12&\n SL_ILM_LABEL_TOOMANY_EXP_CLASSES\x10\x92\xa0\x02\x12\x1f\n\x19SL_ILM_REPLAY_FATAL_ERROR\x10\x93\xa0\x02\x12\x16\n\x10SL_ILM_REPLAY_OK\x10\x94\xa0\x02\x12\x1f\n\x19SL_ILM_INVALID_PREFIX_LEN\x10\x95\xa0\x02\x12\x1a\n\x14SL_ILM_HOST_BITS_SET\x10\x96\xa0\x02\x12\x1e\n\x18SL_ILM_INVALID_PREFIX_SZ\x10\x97\xa0\x02\x12\x1b\n\x15SL_ILM_INVALID_PREFIX\x10\x98\xa0\x02\x12!\n\x1bSL_ILM_INVALID_PREFIX_MCAST\x10\x99\xa0\x02\x12\x1d\n\x17SL_ILM_VRF_NAME_TOOLONG\x10\xa0\xa0\x02\x12\x1c\n\x16SL_ILM_VRF_NO_TABLE_ID\x10\xa1\xa0\x02\x12\x1d\n\x17SL_ILM_VRF_NAME_MISSING\x10\xa2\xa0\x02\x12\x19\n\x13SL_NHLFE_ERR_OFFSET\x10\x80\xc0\x02\x12\x1a\n\x14SL_NHLFE_NH_NO_TABLE\x10\x81\xc0\x02\x12!\n\x1bSL_NHLFE_NH_INVALID_ADDR_SZ\x10\x82\xc0\x02\x12$\n\x1eSL_NHLFE_INVALID_NEXT_HOP_ADDR\x10\x83\xc0\x02\x12\x1f\n\x19SL_NHLFE_VRF_NAME_TOOLONG\x10\x84\xc0\x02\x12\"\n\x1cSL_NHLFE_NH_INF_NAME_MISSING\x10\x85\xc0\x02\x12#\n\x1dSL_NHLFE_NH_INTF_NAME_TOOLONG\x10\x86\xc0\x02\x12\"\n\x1cSL_NHLFE_INVALID_LABEL_COUNT\x10\x87\xc0\x02\x12\x1e\n\x18SL_NHLFE_INVALID_PATH_ID\x10\x88\xc0\x02\x12\x1c\n\x16SL_NHLFE_INVALID_LABEL\x10\x89\xc0\x02\x12\'\n!SL_NHLFE_INVALID_PROTECTED_BITMAP\x10\x8a\xc0\x02\x12(\n\"SL_NHLFE_INVALID_REMOTE_ADDR_COUNT\x10\x8b\xc0\x02\x12%\n\x1fSL_NHLFE_REMOTE_ADDR_INVALID_SZ\x10\x8c\xc0\x02\x12%\n\x1fSL_NHLFE_PRIMARY_TOOMANY_LABELS\x10\x8d\xc0\x02\x12*\n$SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR\x10\x8e\xc0\x02\x12!\n\x1bSL_NHLFE_BACKUP_ID_REPEATED\x10\x8f\xc0\x02\x12\"\n\x1cSL_NHLFE_PRIMARY_ID_REPEATED\x10\x90\xc0\x02\x12,\n&SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY\x10\x91\xc0\x02\x12+\n%SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS\x10\x92\xc0\x02\x12\"\n\x1cSL_NHLFE_REMOTE_ADDR_INVALID\x10\x93\xc0\x02\x12*\n$SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH\x10\x94\xc0\x02\x12\x1f\n\x19SL_NHLFE_NEXT_HOP_MISSING\x10\x95\xc0\x02\x12#\n\x1dSL_NHLFE_LABEL_ACTION_INVALID\x10\x96\xc0\x02\x12 \n\x1aSL_NHLFE_NH_INTF_NOT_FOUND\x10\x97\xc0\x02\x12\x1a\n\x14SL_NHLFE_OPER_FAILED\x10\x98\xc0\x02\x12#\n\x1dSL_NHLFE_LABEL_ACTION_MISSING\x10\x99\xc0\x02\x12\x1d\n\x17SL_NHLFE_EXP_SET_FAILED\x10\x9a\xc0\x02\x12*\n$SL_NHLFE_ELSP_PROTECTION_UNSUPPORTED\x10\x9b\xc0\x02\x12\x1f\n\x19SL_NHLFE_INVALID_ELSP_EXP\x10\x9c\xc0\x02\x12$\n\x1eSL_NHLFE_INVALID_PATH_PRIORITY\x10\x9d\xc0\x02\x12\"\n\x1cSL_NHLFE_INVALID_LOAD_METRIC\x10\x9e\xc0\x02\x12\x1c\n\x16SL_NHLFE_INVALID_SETID\x10\x9f\xc0\x02\x12%\n\x1fSL_NHLFE_INVALID_SETID_PRIORITY\x10\xa0\xc0\x02\x12.\n(SL_NHLFE_INVALID_MULTIPLE_PRIMARY_SETIDS\x10\xa1\xc0\x02\x12$\n\x1eSL_NHLFE_NON_CONTIGUOUS_SETIDS\x10\xa2\xc0\x02\x12!\n\x1bSL_NHLFE_NON_CONTIGUOUS_EXP\x10\xa3\xc0\x02\x12\'\n!SL_NHLFE_INCONSISTENT_EXP_ON_PATH\x10\xa4\xc0\x02\x12\x1d\n\x17SL_LABEL_BLK_ERR_OFFSET\x10\x80\xe0\x02\x12!\n\x1bSL_LABEL_BLK_LSD_ADD_FAILED\x10\x81\xe0\x02\x12$\n\x1eSL_LABEL_BLK_LSD_DELETE_FAILED\x10\x82\xe0\x02\x12*\n$SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND\x10\x83\xe0\x02\x12\'\n!SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE\x10\x84\xe0\x02\x12%\n\x1fSL_LABEL_BLK_LSD_INVALID_ATTRIB\x10\x85\xe0\x02\x12%\n\x1fSL_LABEL_BLK_INVALID_BLOCK_SIZE\x10\x86\xe0\x02\x12&\n SL_LABEL_BLK_INVALID_START_LABEL\x10\x87\xe0\x02\x12\x19\n\x13SL_LABEL_BLK_EEXIST\x10\x88\xe0\x02\x12\x1b\n\x15SL_LABEL_BLK_DB_NOMEM\x10\x89\xe0\x02\x12\x1f\n\x19SL_LABEL_BLK_TYPE_INVALID\x10\x8a\xe0\x02\x12&\n SL_LABEL_BLK_CLIENT_NAME_TOOLONG\x10\x8b\xe0\x02\x12\x1c\n\x16SL_MPLS_REG_ERR_OFFSET\x10\x80\x80\x03\x12\x15\n\x0fSL_MPLS_REG_ERR\x10\x81\x80\x03\x12\x17\n\x11SL_MPLS_UNREG_ERR\x10\x82\x80\x03\x12\x15\n\x0fSL_MPLS_EOF_ERR\x10\x83\x80\x03\x12\x1e\n\x18SL_RPC_INTF_START_OFFSET\x10\x80\xa0\x03\x12%\n\x1fSL_RPC_INTF_TOO_MANY_INTERFACES\x10\x81\xa0\x03\x12(\n\"SL_RPC_INTF_SERVER_NOT_INITIALIZED\x10\x82\xa0\x03\x12+\n%SL_RPC_INTF_API_CLIENT_NOT_REGISTERED\x10\x83\xa0\x03\x12\x1a\n\x14SL_INTF_START_OFFSET\x10\x80\xc0\x03\x12$\n\x1eSL_INTF_INTERFACE_NAME_MISSING\x10\x81\xc0\x03\x12$\n\x1eSL_INTF_INTERFACE_NAME_TOOLONG\x10\x82\xc0\x03\x12\x1f\n\x19SL_INTF_INTERFACE_REG_ERR\x10\x83\xc0\x03\x12\x1f\n\x19SL_INTF_INTERNAL_DB_ERROR\x10\x84\xc0\x03\x12\x1c\n\x16SL_INTF_RECOVERY_ERROR\x10\x85\xc0\x03\x12\x1e\n\x18SL_INTF_INTERFACE_EXISTS\x10\x86\xc0\x03\x12!\n\x1bSL_INTF_INTERFACE_NOT_FOUND\x10\x87\xc0\x03\x12+\n%SL_INTF_INTERFACE_STATE_NOT_SUPPORTED\x10\x88\xc0\x03\x12\x1c\n\x16SL_L2_REG_START_OFFSET\x10\x80\xe0\x03\x12\x1c\n\x16SL_L2_REGISTRATION_ERR\x10\x81\xe0\x03\x12\x1e\n\x18SL_L2_UNREGISTRATION_ERR\x10\x82\xe0\x03\x12\x13\n\rSL_L2_EOF_ERR\x10\x83\xe0\x03\x12&\n SL_L2_REG_INVALID_ADMIN_DISTANCE\x10\x84\xe0\x03\x12\x1c\n\x16SL_L2_REG_IS_DUPLICATE\x10\x85\xe0\x03\x12&\n SL_L2_REG_SERVER_NOT_INITIALIZED\x10\x86\xe0\x03\x12#\n\x1dSL_RPC_L2_BD_REG_START_OFFSET\x10\x80\x80\x04\x12#\n\x1dSL_RPC_L2_BD_REG_NAME_MISSING\x10\x81\x80\x04\x12$\n\x1eSL_RPC_L2_BD_REG_TOO_MANY_MSGS\x10\x82\x80\x04\x12-\n\'SL_RPC_L2_BD_REG_SERVER_NOT_INITIALIZED\x10\x83\x80\x04\x12,\n&SL_RPC_L2_BD_REG_CLIENT_NOT_REGISTERED\x10\x84\x80\x04\x12\x1f\n\x19SL_L2_BD_REG_START_OFFSET\x10\x80\xa0\x04\x12\x1f\n\x19SL_L2_BD_REGISTRATION_ERR\x10\x81\xa0\x04\x12!\n\x1bSL_L2_BD_UNREGISTRATION_ERR\x10\x82\xa0\x04\x12\x16\n\x10SL_L2_BD_EOF_ERR\x10\x83\xa0\x04\x12 \n\x1aSL_L2_BD_REG_NAME_TOO_LONG\x10\x84\xa0\x04\x12\x1f\n\x19SL_L2_BD_REG_BD_NOT_FOUND\x10\x85\xa0\x04\x12\"\n\x1cSL_RPC_L2_ROUTE_START_OFFSET\x10\x80\xc0\x04\x12#\n\x1dSL_RPC_L2_ROUTE_TOO_MANY_MSGS\x10\x81\xc0\x04\x12,\n&SL_RPC_L2_ROUTE_SERVER_NOT_INITIALIZED\x10\x82\xc0\x04\x12+\n%SL_RPC_L2_ROUTE_CLIENT_NOT_REGISTERED\x10\x83\xc0\x04\x12\x1e\n\x18SL_L2_ROUTE_START_OFFSET\x10\x80\xe0\x04\x12!\n\x1bSL_L2_ROUTE_BD_NAME_MISSING\x10\x81\xe0\x04\x12!\n\x1bSL_L2_ROUTE_BD_NAME_TOOLONG\x10\x82\xe0\x04\x12\x1e\n\x18SL_L2_ROUTE_BD_NOT_FOUND\x10\x83\xe0\x04\x12#\n\x1dSL_L2_ROUTE_BD_NOT_REGISTERED\x10\x84\xe0\x04\x12\x1e\n\x18SL_L2_ROUTE_INVALID_ARGS\x10\x85\xe0\x04\x12\"\n\x1cSL_RPC_L2_NOTIF_START_OFFSET\x10\x81\x80\x05\x12,\n&SL_RPC_L2_NOTIF_SERVER_NOT_INITIALIZED\x10\x82\x80\x05\x12+\n%SL_RPC_L2_NOTIF_CLIENT_NOT_REGISTERED\x10\x83\x80\x05\x12 \n\x1aSL_RPC_L2_NOTIF_ENABLE_ERR\x10\x84\x80\x05\x12!\n\x1bSL_RPC_L2_NOTIF_DISABLE_ERR\x10\x85\x80\x05\x12\x1d\n\x17SL_RPC_L2_NOTIF_EOF_ERR\x10\x86\x80\x05\x12%\n\x1fSL_RPC_L2_NOTIF_BD_NAME_MISSING\x10\x87\x80\x05\x12%\n\x1fSL_RPC_L2_NOTIF_BD_NAME_TOOLONG\x10\x88\x80\x05\x12\"\n\x1cSL_RPC_L2_NOTIF_BD_NOT_FOUND\x10\x89\x80\x05\x12\x17\n\x11SL_PG_VRF_ADD_ERR\x10\x81\xa0\x05\x12\x18\n\x12SL_PG_VRF_NO_VRFID\x10\x82\xa0\x05\x12\x1b\n\x15SL_PG_STR_KEY_TOOLONG\x10\x83\xa0\x05\x12\x1f\n\x19SL_PG_TARGET_VRF_NO_VRFID\x10\x84\xa0\x05\x12\x1b\n\x15SL_PG_STR_KEY_INVALID\x10\x85\xa0\x05\x12\x1e\n\x18SL_NEXT_HOP_START_OFFSET\x10\x80\xc0\x05\x12$\n\x1eSL_NEXT_HOP_INVALID_PREFIX_LEN\x10\x81\xc0\x05\x12\x1f\n\x19SL_NEXT_HOP_HOST_BITS_SET\x10\x82\xc0\x05\x12&\n SL_NEXT_HOP_INVALID_PREFIX_MCAST\x10\x83\xc0\x05\x12 \n\x1aSL_NEXT_HOP_INVALID_PREFIX\x10\x84\xc0\x05\x12\'\n!SL_NEXT_HOP_INVALID_NEXT_HOP_ADDR\x10\x85\xc0\x05\x12#\n\x1dSL_NEXT_HOP_INVALID_PREFIX_SZ\x10\x86\xc0\x05\x12 \n\x1aSL_NEXT_HOP_RIB_ADD_FAILED\x10\x87\xc0\x05\x12$\n\x1eSL_ROUTE_REDIST_RIB_ADD_FAILED\x10\x88\xc0\x05\x12\x19\n\x13SL_ACK_START_OFFSET\x10\x80\xe0\x05\x12!\n\x1bSL_ACK_PERMIT_NOT_SUPPORTED\x10\x81\xe0\x05\x12\x19\n\x13SL_ACK_INVALID_TYPE\x10\x82\xe0\x05\x12\x1c\n\x16SL_POLICY_START_OFFSET\x10\x80\x80\x06\x12\x17\n\x11SL_POLICY_ADD_ERR\x10\x81\x80\x06\x12\x1a\n\x14SL_POLICY_EXISTS_ERR\x10\x82\x80\x06\x12\x1a\n\x14SL_POLICY_DELETE_ERR\x10\x83\x80\x06\x12\x1c\n\x16SL_POLICY_RULE_ADD_ERR\x10\x84\x80\x06\x12\x1f\n\x19SL_POLICY_RULE_EXISTS_ERR\x10\x85\x80\x06\x12\x1f\n\x19SL_POLICY_RULE_DELETE_ERR\x10\x86\x80\x06\x12\x19\n\x13SL_POLICY_APPLY_ERR\x10\x87\x80\x06\x12\x1b\n\x15SL_POLICY_UNAPPLY_ERR\x10\x88\x80\x06\x12!\n\x1bSL_POLICY_TOO_MANY_POLICIES\x10\x89\x80\x06\x12\x1d\n\x17SL_POLICY_NAME_TOO_LONG\x10\x8a\x80\x06\x12\"\n\x1cSL_POLICY_RULE_NAME_TOO_LONG\x10\x8b\x80\x06\x12*\n$SL_POLICY_DUPLICATE_PRIORITY_IN_RULE\x10\x8c\x80\x06\x12$\n\x1eSL_POLICY_RULE_MOD_NOT_ALLOWED\x10\x8d\x80\x06\x12\x1c\n\x16SL_POLICY_INVALID_RULE\x10\x8e\x80\x06\x12!\n\x1bSL_POLICY_RULE_ADD_NO_RULES\x10\x8f\x80\x06\x12+\n%SL_POLICY_INVALID_MATCH_COUNT_IN_RULE\x10\x90\x80\x06\x12,\n&SL_POLICY_INVALID_ACTION_COUNT_IN_RULE\x10\x91\x80\x06\x12\x19\n\x13SL_POLICY_NOT_FOUND\x10\x92\x80\x06\x12\x17\n\x11SL_POLICY_INVALID\x10\x93\x80\x06\x12\x1c\n\x16SL_POLICY_NAME_MISSING\x10\x94\x80\x06\x12!\n\x1bSL_POLICY_RULE_NAME_MISSING\x10\x95\x80\x06\x12(\n\"SL_POLICY_PRIORITY_MISSING_IN_RULE\x10\x96\x80\x06\x12\x1c\n\x16SL_POLICY_TYPE_INVALID\x10\x97\x80\x06\x12!\n\x1bSL_POLICY_INVALID_DIRECTION\x10\x98\x80\x06\x12!\n\x1bSL_POLICY_INTF_NAME_TOOLONG\x10\x99\x80\x06\x12!\n\x1bSL_POLICY_INTF_NAME_MISSING\x10\x9a\x80\x06\x12&\n SL_POLICY_MAX_RULE_LIMIT_REACHED\x10\x9b\x80\x06\x12!\n\x1bSL_POLICY_VRF_NAME_TOO_LONG\x10\x9c\x80\x06\x12 \n\x1aSL_POLICY_VRF_NAME_MISSING\x10\x9d\x80\x06\x12&\n SL_POLICY_PATH_GRP_NAME_TOO_LONG\x10\x9e\x80\x06\x12%\n\x1fSL_POLICY_PATH_GRP_NAME_MISSING\x10\x9f\x80\x06\x12\"\n\x1cSL_POLICY_INVALID_DSCP_VALUE\x10\xa0\x80\x06\x12%\n\x1fSL_POLICY_PRIORITY_STR_TOO_LONG\x10\xa1\x80\x06\x12&\n SL_POLICY_MAX_INTF_LIMIT_REACHED\x10\xa2\x80\x06\x12$\n\x1eSL_POLICY_RULE_DELETE_NO_RULES\x10\xa3\x80\x06\x12\x1e\n\x18SL_POLICY_APPLY_NO_INTFS\x10\xa4\x80\x06\x12 \n\x1aSL_POLICY_UNAPPLY_NO_INTFS\x10\xa5\x80\x06\x12\x1b\n\x15SL_POLICY_REPLACE_ERR\x10\xa6\x80\x06\x12 \n\x1aSL_BGPLS_TOPO_START_OFFSET\x10\x80\xa0\x06\x12#\n\x1dSL_BGPLS_SERVER_NOT_AVAILABLE\x10\x81\xa0\x06\x12(\n\"SL_BGPLS_MAX_MATCH_FILTER_EXCEEDED\x10\x82\xa0\x06\x12#\n\x1dSL_BGPLS_MAX_STREAMS_EXCEEDED\x10\x83\xa0\x06\x12\x1e\n\x18SL_INTERNAL_START_OFFSET\x10\x80\x80@\"<\n\x0bSLInterface\x12\x0e\n\x04Name\x18\x01 \x01(\tH\x00\x12\x10\n\x06Handle\x18\x02 \x01(\rH\x00\x42\x0b\n\tInterface\"B\n\x0bSLIpAddress\x12\x13\n\tV4Address\x18\x01 \x01(\rH\x00\x12\x13\n\tV6Address\x18\x02 \x01(\x0cH\x00\x42\t\n\x07\x41\x64\x64ress\"%\n\nSLObjectId\x12\x0e\n\x04Name\x18\x01 \x01(\tH\x00\x42\x07\n\x05\x65ntry\"T\n\x11SLPathGroupRefKey\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12.\n\x0bPathGroupId\x18\x02 \x01(\x0b\x32\x19.service_layer.SLObjectId*b\n\x07SLRegOp\x12\x15\n\x11SL_REGOP_RESERVED\x10\x00\x12\x15\n\x11SL_REGOP_REGISTER\x10\x01\x12\x17\n\x13SL_REGOP_UNREGISTER\x10\x02\x12\x10\n\x0cSL_REGOP_EOF\x10\x03*_\n\nSLObjectOp\x12\x15\n\x11SL_OBJOP_RESERVED\x10\x00\x12\x10\n\x0cSL_OBJOP_ADD\x10\x01\x12\x13\n\x0fSL_OBJOP_UPDATE\x10\x02\x12\x13\n\x0fSL_OBJOP_DELETE\x10\x03*S\n\tSLNotifOp\x12\x17\n\x13SL_NOTIFOP_RESERVED\x10\x00\x12\x15\n\x11SL_NOTIFOP_ENABLE\x10\x01\x12\x16\n\x12SL_NOTIFOP_DISABLE\x10\x02*\x89\x01\n\x10SLUpdatePriority\x12\x18\n\x14SL_PRIORITY_RESERVED\x10\x00\x12\x18\n\x14SL_PRIORITY_CRITICAL\x10\x04\x12\x14\n\x10SL_PRIORITY_HIGH\x10\x08\x12\x16\n\x12SL_PRIORITY_MEDIUM\x10\x0c\x12\x13\n\x0fSL_PRIORITY_LOW\x10\x10*K\n\x0bSLEncapType\x12\x15\n\x11SL_ENCAP_RESERVED\x10\x00\x12\x12\n\x0eSL_ENCAP_VXLAN\x10\x01\x12\x11\n\rSL_ENCAP_MPLS\x10\x02*\x8d\x01\n\x0bSLTableType\x12\x1a\n\x16SL_TABLE_TYPE_RESERVED\x10\x00\x12\x17\n\x13SL_IPv4_ROUTE_TABLE\x10\x01\x12\x17\n\x13SL_IPv6_ROUTE_TABLE\x10\x02\x12\x17\n\x13SL_MPLS_LABEL_TABLE\x10\x03\x12\x17\n\x13SL_PATH_GROUP_TABLE\x10\x04*G\n\x0cSLRspACKType\x12\x0b\n\x07RIB_ACK\x10\x00\x12\x13\n\x0fRIB_AND_FIB_ACK\x10\x01\x12\x15\n\x11RIB_FIB_INUSE_ACK\x10\x02*{\n\rSLAFFibStatus\x12\x12\n\x0eSL_FIB_UNKNOWN\x10\x00\x12\x12\n\x0eSL_FIB_SUCCESS\x10\x01\x12\x11\n\rSL_FIB_FAILED\x10\x02\x12\x15\n\x11SL_FIB_INELIGIBLE\x10\x03\x12\x18\n\x14SL_FIB_INUSE_SUCCESS\x10\x04*\xa2\x01\n\x0eSLRspACKPermit\x12\x1c\n\x18SL_PERMIT_FIB_STATUS_ALL\x10\x00\x12\x19\n\x15SL_PERMIT_FIB_SUCCESS\x10\x01\x12\x18\n\x14SL_PERMIT_FIB_FAILED\x10\x02\x12\x1c\n\x18SL_PERMIT_FIB_INELIGIBLE\x10\x03\x12\x1f\n\x1bSL_PERMIT_FIB_INUSE_SUCCESS\x10\x04*e\n\x0fSLRspAckCadence\x12\x15\n\x11SL_RSP_CONTINUOUS\x10\x00\x12\x14\n\x10SL_RSP_JUST_ONCE\x10\x01\x12\x14\n\x10SL_RSP_ONCE_EACH\x10\x02\x12\x0f\n\x0bSL_RSP_NONE\x10\x03\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -22,34 +22,36 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' - _globals['_SLREGOP']._serialized_start=11510 - _globals['_SLREGOP']._serialized_end=11608 - _globals['_SLOBJECTOP']._serialized_start=11610 - _globals['_SLOBJECTOP']._serialized_end=11705 - _globals['_SLNOTIFOP']._serialized_start=11707 - _globals['_SLNOTIFOP']._serialized_end=11790 - _globals['_SLUPDATEPRIORITY']._serialized_start=11793 - _globals['_SLUPDATEPRIORITY']._serialized_end=11930 - _globals['_SLENCAPTYPE']._serialized_start=11932 - _globals['_SLENCAPTYPE']._serialized_end=12007 - _globals['_SLTABLETYPE']._serialized_start=12010 - _globals['_SLTABLETYPE']._serialized_end=12151 - _globals['_SLRSPACKTYPE']._serialized_start=12153 - _globals['_SLRSPACKTYPE']._serialized_end=12224 - _globals['_SLRSPACKPERMIT']._serialized_start=12227 - _globals['_SLRSPACKPERMIT']._serialized_end=12416 - _globals['_SLRSPACKCADENCE']._serialized_start=12418 - _globals['_SLRSPACKCADENCE']._serialized_end=12519 + _globals['_SLREGOP']._serialized_start=11444 + _globals['_SLREGOP']._serialized_end=11542 + _globals['_SLOBJECTOP']._serialized_start=11544 + _globals['_SLOBJECTOP']._serialized_end=11639 + _globals['_SLNOTIFOP']._serialized_start=11641 + _globals['_SLNOTIFOP']._serialized_end=11724 + _globals['_SLUPDATEPRIORITY']._serialized_start=11727 + _globals['_SLUPDATEPRIORITY']._serialized_end=11864 + _globals['_SLENCAPTYPE']._serialized_start=11866 + _globals['_SLENCAPTYPE']._serialized_end=11941 + _globals['_SLTABLETYPE']._serialized_start=11944 + _globals['_SLTABLETYPE']._serialized_end=12085 + _globals['_SLRSPACKTYPE']._serialized_start=12087 + _globals['_SLRSPACKTYPE']._serialized_end=12158 + _globals['_SLAFFIBSTATUS']._serialized_start=12160 + _globals['_SLAFFIBSTATUS']._serialized_end=12283 + _globals['_SLRSPACKPERMIT']._serialized_start=12286 + _globals['_SLRSPACKPERMIT']._serialized_end=12448 + _globals['_SLRSPACKCADENCE']._serialized_start=12450 + _globals['_SLRSPACKCADENCE']._serialized_end=12551 _globals['_SLERRORSTATUS']._serialized_start=41 - _globals['_SLERRORSTATUS']._serialized_end=11253 + _globals['_SLERRORSTATUS']._serialized_end=11187 _globals['_SLERRORSTATUS_SLERRNO']._serialized_start=113 - _globals['_SLERRORSTATUS_SLERRNO']._serialized_end=11253 - _globals['_SLINTERFACE']._serialized_start=11255 - _globals['_SLINTERFACE']._serialized_end=11315 - _globals['_SLIPADDRESS']._serialized_start=11317 - _globals['_SLIPADDRESS']._serialized_end=11383 - _globals['_SLOBJECTID']._serialized_start=11385 - _globals['_SLOBJECTID']._serialized_end=11422 - _globals['_SLPATHGROUPREFKEY']._serialized_start=11424 - _globals['_SLPATHGROUPREFKEY']._serialized_end=11508 + _globals['_SLERRORSTATUS_SLERRNO']._serialized_end=11187 + _globals['_SLINTERFACE']._serialized_start=11189 + _globals['_SLINTERFACE']._serialized_end=11249 + _globals['_SLIPADDRESS']._serialized_start=11251 + _globals['_SLIPADDRESS']._serialized_end=11317 + _globals['_SLOBJECTID']._serialized_start=11319 + _globals['_SLOBJECTID']._serialized_end=11356 + _globals['_SLPATHGROUPREFKEY']._serialized_start=11358 + _globals['_SLPATHGROUPREFKEY']._serialized_end=11442 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_policy_pb2.py b/grpc/python/src/genpy/sl_policy_pb2.py index 22c5839..6b7e430 100644 --- a/grpc/python/src/genpy/sl_policy_pb2.py +++ b/grpc/python/src/genpy/sl_policy_pb2.py @@ -15,7 +15,7 @@ from . import sl_common_types_pb2 as sl__common__types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fsl_policy.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x83\x01\n\rSLPolicyOpMsg\x12-\n\x04Oper\x18\x01 \x01(\x0e\x32\x1f.service_layer.SLPolicyObjectOp\x12\x13\n\x0bOperationID\x18\x02 \x01(\x04\x12.\n\x08Policies\x18\x03 \x03(\x0b\x32\x1c.service_layer.SLPolicyEntry\"\xae\x01\n\rSLPolicyEntry\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLPolicyKey\x12.\n\x05Rules\x18\x02 \x01(\x0b\x32\x1d.service_layer.PolicyRuleListH\x00\x12.\n\x05Intfs\x18\x03 \x01(\x0b\x32\x1d.service_layer.PolicyIntfListH\x00\x42\x14\n\x12SLPolicyObjectList\"B\n\x0ePolicyRuleList\x12\x30\n\x0bPolicyRules\x18\x01 \x03(\x0b\x32\x1b.service_layer.SLPolicyRule\"B\n\x0ePolicyIntfList\x12\x30\n\x0bPolicyIntfs\x18\x01 \x03(\x0b\x32\x1b.service_layer.SLPolicyIntf\"L\n\x0bSLPolicyKey\x12\x12\n\nPolicyName\x18\x01 \x01(\t\x12)\n\x04Type\x18\x02 \x01(\x0e\x32\x1b.service_layer.SLPolicyType\"\x8d\x01\n\x0cSLPolicyRule\x12\x10\n\x08RuleName\x18\x01 \x01(\t\x12\x13\n\x0bPriorityStr\x18\x02 \x01(\t\x12)\n\x05Match\x18\x03 \x01(\x0b\x32\x1a.service_layer.SLRuleMatch\x12+\n\x06\x41\x63tion\x18\x04 \x01(\x0b\x32\x1b.service_layer.SLRuleAction\"l\n\x0bSLRuleMatch\x12(\n\x04\x44scp\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLDscpMatch\x12\x33\n\tPathGroup\x18\x02 \x01(\x0b\x32 .service_layer.SLPathGroupRefKey\"*\n\x0bSLDscpMatch\x12\x13\n\tDscpValue\x18\x01 \x01(\rH\x00\x42\x06\n\x04\x44scp\"_\n\x0cSLRuleAction\x12\x33\n\tPathGroup\x18\x01 \x01(\x0b\x32 .service_layer.SLPathGroupRefKey\x12\x1a\n\x12\x45nableStatsCounter\x18\x02 \x01(\x08\"i\n\x0cSLPolicyIntf\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLInterface\x12\x30\n\x07IntfDir\x18\x02 \x01(\x0e\x32\x1f.service_layer.SLApplyDirection\"Q\n\rSLPolicyOpRsp\x12\x13\n\x0bOperationID\x18\x01 \x01(\x04\x12+\n\x07Results\x18\x02 \x03(\x0b\x32\x1a.service_layer.SLPolicyRes\"\xfb\x01\n\x0bSLPolicyRes\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLPolicyKey\x12\x34\n\x0cPolicyStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatusH\x00\x12<\n\x0bRulesStatus\x18\x03 \x01(\x0b\x32%.service_layer.SLPolicyRuleStatusListH\x00\x12;\n\nIntfStatus\x18\x04 \x01(\x0b\x32%.service_layer.SLPolicyIntfStatusListH\x00\x42\x12\n\x10SLPolicyOpStatus\"P\n\x16SLPolicyRuleStatusList\x12\x36\n\x0bRulesStatus\x18\x01 \x03(\x0b\x32!.service_layer.SLPolicyRuleStatus\"P\n\x16SLPolicyIntfStatusList\x12\x36\n\x0bIntfsStatus\x18\x01 \x03(\x0b\x32!.service_layer.SLPolicyIntfStatus\"T\n\x12SLPolicyRuleStatus\x12\x10\n\x08RuleName\x18\x01 \x01(\t\x12,\n\x06Status\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"l\n\x12SLPolicyIntfStatus\x12(\n\x04Intf\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLInterface\x12,\n\x06Status\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"\x10\n\x0eSLPolicyGetMsg\"\x9b\x01\n\x0cSLPolicyInfo\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLPolicyKey\x12\x30\n\x0bPolicyRules\x18\x02 \x03(\x0b\x32\x1b.service_layer.SLPolicyRule\x12\x30\n\x0bPolicyIntfs\x18\x03 \x03(\x0b\x32\x1b.service_layer.SLPolicyIntf\"}\n\x11SLPolicyGetMsgRsp\x12\x37\n\x11PolicyCfgOpStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12/\n\nPolicyObjs\x18\x02 \x03(\x0b\x32\x1b.service_layer.SLPolicyInfo\"\x16\n\x14SLPolicyGlobalGetMsg\"q\n\x17SLPolicyGlobalGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x13\n\x0bMaxPolicies\x18\x02 \x01(\r\x12\x10\n\x08MaxRules\x18\x03 \x01(\r*\xce\x01\n\x10SLPolicyObjectOp\x12\x1c\n\x18SL_OBJOP_POLICY_RESERVED\x10\x00\x12\x17\n\x13SL_OBJOP_POLICY_ADD\x10\x01\x12\x1a\n\x16SL_OBJOP_POLICY_DELETE\x10\x02\x12\x15\n\x11SL_OBJOP_RULE_ADD\x10\x03\x12\x18\n\x14SL_OBJOP_RULE_DELETE\x10\x04\x12\x19\n\x15SL_OBJOP_POLICY_APPLY\x10\x05\x12\x1b\n\x17SL_OBJOP_POLICY_UNAPPLY\x10\x06*=\n\x0cSLPolicyType\x12\x18\n\x14SL_PM_PTYPE_RESERVED\x10\x00\x12\x13\n\x0fSL_PM_PTYPE_PBR\x10\x01*N\n\x10SLApplyDirection\x12\x1a\n\x16SL_APPLY_TYPE_RESERVED\x10\x00\x12\x1e\n\x1aSL_APPLY_DIRECTION_INGRESS\x10\x01\x32\x88\x02\n\x08SLPolicy\x12H\n\nSLPolicyOp\x12\x1c.service_layer.SLPolicyOpMsg\x1a\x1c.service_layer.SLPolicyOpRsp\x12P\n\x0bSLPolicyGet\x12\x1d.service_layer.SLPolicyGetMsg\x1a .service_layer.SLPolicyGetMsgRsp0\x01\x12`\n\x11SLPolicyGlobalGet\x12#.service_layer.SLPolicyGlobalGetMsg\x1a&.service_layer.SLPolicyGlobalGetMsgRspBQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fsl_policy.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x83\x01\n\rSLPolicyOpMsg\x12-\n\x04Oper\x18\x01 \x01(\x0e\x32\x1f.service_layer.SLPolicyObjectOp\x12\x13\n\x0bOperationID\x18\x02 \x01(\x04\x12.\n\x08Policies\x18\x03 \x03(\x0b\x32\x1c.service_layer.SLPolicyEntry\"\xae\x01\n\rSLPolicyEntry\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLPolicyKey\x12.\n\x05Rules\x18\x02 \x01(\x0b\x32\x1d.service_layer.PolicyRuleListH\x00\x12.\n\x05Intfs\x18\x03 \x01(\x0b\x32\x1d.service_layer.PolicyIntfListH\x00\x42\x14\n\x12SLPolicyObjectList\"B\n\x0ePolicyRuleList\x12\x30\n\x0bPolicyRules\x18\x01 \x03(\x0b\x32\x1b.service_layer.SLPolicyRule\"B\n\x0ePolicyIntfList\x12\x30\n\x0bPolicyIntfs\x18\x01 \x03(\x0b\x32\x1b.service_layer.SLPolicyIntf\"L\n\x0bSLPolicyKey\x12\x12\n\nPolicyName\x18\x01 \x01(\t\x12)\n\x04Type\x18\x02 \x01(\x0e\x32\x1b.service_layer.SLPolicyType\"\x8d\x01\n\x0cSLPolicyRule\x12\x10\n\x08RuleName\x18\x01 \x01(\t\x12\x13\n\x0bPriorityStr\x18\x02 \x01(\t\x12)\n\x05Match\x18\x03 \x01(\x0b\x32\x1a.service_layer.SLRuleMatch\x12+\n\x06\x41\x63tion\x18\x04 \x01(\x0b\x32\x1b.service_layer.SLRuleAction\"l\n\x0bSLRuleMatch\x12(\n\x04\x44scp\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLDscpMatch\x12\x33\n\tPathGroup\x18\x02 \x01(\x0b\x32 .service_layer.SLPathGroupRefKey\"*\n\x0bSLDscpMatch\x12\x13\n\tDscpValue\x18\x01 \x01(\rH\x00\x42\x06\n\x04\x44scp\"_\n\x0cSLRuleAction\x12\x33\n\tPathGroup\x18\x01 \x01(\x0b\x32 .service_layer.SLPathGroupRefKey\x12\x1a\n\x12\x45nableStatsCounter\x18\x02 \x01(\x08\"i\n\x0cSLPolicyIntf\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLInterface\x12\x30\n\x07IntfDir\x18\x02 \x01(\x0e\x32\x1f.service_layer.SLApplyDirection\"Q\n\rSLPolicyOpRsp\x12\x13\n\x0bOperationID\x18\x01 \x01(\x04\x12+\n\x07Results\x18\x02 \x03(\x0b\x32\x1a.service_layer.SLPolicyRes\"\xfb\x01\n\x0bSLPolicyRes\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLPolicyKey\x12\x34\n\x0cPolicyStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatusH\x00\x12<\n\x0bRulesStatus\x18\x03 \x01(\x0b\x32%.service_layer.SLPolicyRuleStatusListH\x00\x12;\n\nIntfStatus\x18\x04 \x01(\x0b\x32%.service_layer.SLPolicyIntfStatusListH\x00\x42\x12\n\x10SLPolicyOpStatus\"P\n\x16SLPolicyRuleStatusList\x12\x36\n\x0bRulesStatus\x18\x01 \x03(\x0b\x32!.service_layer.SLPolicyRuleStatus\"P\n\x16SLPolicyIntfStatusList\x12\x36\n\x0bIntfsStatus\x18\x01 \x03(\x0b\x32!.service_layer.SLPolicyIntfStatus\"T\n\x12SLPolicyRuleStatus\x12\x10\n\x08RuleName\x18\x01 \x01(\t\x12,\n\x06Status\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"l\n\x12SLPolicyIntfStatus\x12(\n\x04Intf\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLInterface\x12,\n\x06Status\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"\x10\n\x0eSLPolicyGetMsg\"\x9b\x01\n\x0cSLPolicyInfo\x12\'\n\x03Key\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLPolicyKey\x12\x30\n\x0bPolicyRules\x18\x02 \x03(\x0b\x32\x1b.service_layer.SLPolicyRule\x12\x30\n\x0bPolicyIntfs\x18\x03 \x03(\x0b\x32\x1b.service_layer.SLPolicyIntf\"}\n\x11SLPolicyGetMsgRsp\x12\x37\n\x11PolicyCfgOpStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12/\n\nPolicyObjs\x18\x02 \x03(\x0b\x32\x1b.service_layer.SLPolicyInfo\"\x16\n\x14SLPolicyGlobalGetMsg\"q\n\x17SLPolicyGlobalGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x13\n\x0bMaxPolicies\x18\x02 \x01(\r\x12\x10\n\x08MaxRules\x18\x03 \x01(\r*\xeb\x01\n\x10SLPolicyObjectOp\x12\x1c\n\x18SL_OBJOP_POLICY_RESERVED\x10\x00\x12\x17\n\x13SL_OBJOP_POLICY_ADD\x10\x01\x12\x1a\n\x16SL_OBJOP_POLICY_DELETE\x10\x02\x12\x15\n\x11SL_OBJOP_RULE_ADD\x10\x03\x12\x18\n\x14SL_OBJOP_RULE_DELETE\x10\x04\x12\x19\n\x15SL_OBJOP_POLICY_APPLY\x10\x05\x12\x1b\n\x17SL_OBJOP_POLICY_UNAPPLY\x10\x06\x12\x1b\n\x17SL_OBJOP_POLICY_REPLACE\x10\x07*=\n\x0cSLPolicyType\x12\x18\n\x14SL_PM_PTYPE_RESERVED\x10\x00\x12\x13\n\x0fSL_PM_PTYPE_PBR\x10\x01*N\n\x10SLApplyDirection\x12\x1a\n\x16SL_APPLY_TYPE_RESERVED\x10\x00\x12\x1e\n\x1aSL_APPLY_DIRECTION_INGRESS\x10\x01\x32\x88\x02\n\x08SLPolicy\x12H\n\nSLPolicyOp\x12\x1c.service_layer.SLPolicyOpMsg\x1a\x1c.service_layer.SLPolicyOpRsp\x12P\n\x0bSLPolicyGet\x12\x1d.service_layer.SLPolicyGetMsg\x1a .service_layer.SLPolicyGetMsgRsp0\x01\x12`\n\x11SLPolicyGlobalGet\x12#.service_layer.SLPolicyGlobalGetMsg\x1a&.service_layer.SLPolicyGlobalGetMsgRspBQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,11 +24,11 @@ _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLPOLICYOBJECTOP']._serialized_start=2224 - _globals['_SLPOLICYOBJECTOP']._serialized_end=2430 - _globals['_SLPOLICYTYPE']._serialized_start=2432 - _globals['_SLPOLICYTYPE']._serialized_end=2493 - _globals['_SLAPPLYDIRECTION']._serialized_start=2495 - _globals['_SLAPPLYDIRECTION']._serialized_end=2573 + _globals['_SLPOLICYOBJECTOP']._serialized_end=2459 + _globals['_SLPOLICYTYPE']._serialized_start=2461 + _globals['_SLPOLICYTYPE']._serialized_end=2522 + _globals['_SLAPPLYDIRECTION']._serialized_start=2524 + _globals['_SLAPPLYDIRECTION']._serialized_end=2602 _globals['_SLPOLICYOPMSG']._serialized_start=58 _globals['_SLPOLICYOPMSG']._serialized_end=189 _globals['_SLPOLICYENTRY']._serialized_start=192 @@ -71,6 +71,6 @@ _globals['_SLPOLICYGLOBALGETMSG']._serialized_end=2106 _globals['_SLPOLICYGLOBALGETMSGRSP']._serialized_start=2108 _globals['_SLPOLICYGLOBALGETMSGRSP']._serialized_end=2221 - _globals['_SLPOLICY']._serialized_start=2576 - _globals['_SLPOLICY']._serialized_end=2840 + _globals['_SLPOLICY']._serialized_start=2605 + _globals['_SLPOLICY']._serialized_end=2869 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_policy_pb2_grpc.py b/grpc/python/src/genpy/sl_policy_pb2_grpc.py index 05f8e7b..f6e67e2 100644 --- a/grpc/python/src/genpy/sl_policy_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_policy_pb2_grpc.py @@ -8,9 +8,12 @@ class SLPolicyStub(object): """@defgroup SLPolicy @ingroup Policy - Used for policy creation and deletion, add and delete rules from policy, - apply and un-apply policy from interfaces. - Defines the RPC for operations on policy, interface and get requests. + Used for: + - Policy creation, replacement, and deletion + - Rule addition, and deletion from Policy + - Apply and Un-apply Policy from Interfaces + + Defines the RPC for operations on Policy, Interface and get requests. @{ @addtogroup SLPolicy @{ @@ -43,9 +46,12 @@ def __init__(self, channel): class SLPolicyServicer(object): """@defgroup SLPolicy @ingroup Policy - Used for policy creation and deletion, add and delete rules from policy, - apply and un-apply policy from interfaces. - Defines the RPC for operations on policy, interface and get requests. + Used for: + - Policy creation, replacement, and deletion + - Rule addition, and deletion from Policy + - Apply and Un-apply Policy from Interfaces + + Defines the RPC for operations on Policy, Interface and get requests. @{ @addtogroup SLPolicy @{ @@ -94,6 +100,41 @@ def SLPolicyOp(self, request, context): affected. + SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_REPLACE + Replace an existing Policy Object with the incoming Policy Object. + Add a new Policy Object if it does not exist in the server. + As part of Replace, + - Rule Objects specified in the incoming Policy Object that do not + exist in the server's Policy Object will be created. + - Rule Objects that do not change (idempotent) are not impacted. + - If the server's Policy Object contains a Rule Object that is being + modified in the incoming request, the existing Rule Object in the + server will be modified. + - Rule Objects that exist in the server's Policy Object and are not + specified in the incoming Policy Object will be deleted. + + Example, + P{r1, r2, r3} + POLICY_REPLACE(P{r1*, r3, r4}) -> P{r1*, r3, r4} + i.e., for an existing Policy P{r1, r2, r3} on server side, + perform POLICY_REPLACE(P{r1*, r3, r4}) where r1* denotes a modified + Rule Object, r3 is idempotent (i.e., matches, action, priority are + exactly same) with the server Rule Object. + The final Policy Object in the server will be: P{r1*, r3, r4} + Note: No change to r3 since it is idempotent. No traffic impact for + such rule(s). + + Response for the operation will contain a status for each Rule Object + within the Policy (including for existing Rule Objects that would + be deleted if not specified in the request). + + The order of Rule Objects in the request does not matter i.e., + POLICY_REPLACE(P{r1*, r3, r4}) and POLICY_REPLACE(P{r4, r3, r1*}) + will have same behavior. + + Note: SL-Policy RPC operations are best-effort. Failure in individual + Rule Objects does not revert other successfully processed Rule Objects + in the REPLACE request. + SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_DELETE Delete the policy object. The object's key is enough to delete the object. Other attributes if present are ignored. Delete of a non- @@ -122,12 +163,14 @@ def SLPolicyOp(self, request, context): and the interface where it needs to be applied will be verified and used. Other attributes are ignored. + SLPolicyOpMsg.Oper = SL_OBJOP_POLICY_UNAPPLY Unapply the policy on an interface. Only the policy object key and the interface where it needs to be removed from will be verified and used, other attributes are ignored. + The device can be programmed by only one active instance of this RPC. @@ -184,9 +227,12 @@ def add_SLPolicyServicer_to_server(servicer, server): class SLPolicy(object): """@defgroup SLPolicy @ingroup Policy - Used for policy creation and deletion, add and delete rules from policy, - apply and un-apply policy from interfaces. - Defines the RPC for operations on policy, interface and get requests. + Used for: + - Policy creation, replacement, and deletion + - Rule addition, and deletion from Policy + - Apply and Un-apply Policy from Interfaces + + Defines the RPC for operations on Policy, Interface and get requests. @{ @addtogroup SLPolicy @{ diff --git a/grpc/python/src/genpy/sl_route_common_pb2.py b/grpc/python/src/genpy/sl_route_common_pb2.py index ad84f73..05f1e9d 100644 --- a/grpc/python/src/genpy/sl_route_common_pb2.py +++ b/grpc/python/src/genpy/sl_route_common_pb2.py @@ -15,7 +15,7 @@ from . import sl_common_types_pb2 as sl__common__types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15sl_route_common.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x16\n\x14SLRouteGlobalsGetMsg\"\x86\x01\n\x17SLRouteGlobalsGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x1d\n\x15MaxVrfregPerVrfregmsg\x18\x02 \x01(\r\x12\x1b\n\x13MaxRoutePerRoutemsg\x18\x03 \x01(\r\"\x1a\n\x18SLRouteGlobalStatsGetMsg\"t\n\x1bSLRouteGlobalStatsGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x10\n\x08VrfCount\x18\x02 \x01(\r\x12\x12\n\nRouteCount\x18\x03 \x01(\r\"S\n\x08SLVrfReg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\x15\n\rAdminDistance\x18\x02 \x01(\r\x12\x1f\n\x17VrfPurgeIntervalSeconds\x18\x03 \x01(\r\"`\n\x0bSLVrfRegMsg\x12$\n\x04Oper\x18\x01 \x01(\x0e\x32\x16.service_layer.SLRegOp\x12+\n\nVrfRegMsgs\x18\x02 \x03(\x0b\x32\x17.service_layer.SLVrfReg\"R\n\x0eSLVrfRegMsgRes\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\"u\n\x0eSLVrfRegMsgRsp\x12\x33\n\rStatusSummary\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12.\n\x07Results\x18\x02 \x03(\x0b\x32\x1d.service_layer.SLVrfRegMsgRes\"H\n\x0eSLVrfRegGetMsg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\x14\n\x0c\x45ntriesCount\x18\x02 \x01(\r\x12\x0f\n\x07GetNext\x18\x03 \x01(\x08\"{\n\x11SLVrfRegGetMsgRsp\x12\x0b\n\x03\x45of\x18\x01 \x01(\x08\x12/\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12(\n\x07\x45ntries\x18\x03 \x03(\x0b\x32\x17.service_layer.SLVrfReg\":\n\x13SLVRFGetStatsMsgRes\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\x12\n\nRouteCount\x18\x02 \x01(\r\"\x88\x01\n\x13SLVRFGetStatsMsgRsp\x12\x0b\n\x03\x45of\x18\x01 \x01(\x08\x12/\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x33\n\x07\x45ntries\x18\x03 \x03(\x0b\x32\".service_layer.SLVRFGetStatsMsgRes\"\x88\x01\n\x12SLRouteGetNotifMsg\x12&\n\x04Oper\x18\x01 \x01(\x0e\x32\x18.service_layer.SLNotifOp\x12\x12\n\nCorrelator\x18\x02 \x01(\x04\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12\x10\n\x08SrcProto\x18\x04 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x05 \x01(\t\"l\n\x12SLRouteNotifStatus\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x31\n\x0bNotifStatus\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"%\n\x12SLRouteNotifMarker\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\"H\n\nSLVrfNotif\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12)\n\x06Status\x18\x02 \x01(\x0e\x32\x19.service_layer.SLObjectOp\"J\n\x0fSLRouteGetMatch\x12\x18\n\x0ePathGroupRegex\x18\x01 \x01(\tH\x00\x12\x14\n\nVxlanVniId\x18\x02 \x01(\rH\x00\x42\x07\n\x05\x65ntry\"}\n\rSLRouteCommon\x12\x15\n\rAdminDistance\x18\x01 \x01(\r\x12\x12\n\nLocalLabel\x18\x02 \x01(\r\x12\x0b\n\x03Tag\x18\x03 \x01(\r\x12\x10\n\x08SrcProto\x18\x04 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x05 \x01(\t\x12\r\n\x05\x46lags\x18\x06 \x01(\r\"\xb1\x01\n\x0bSLVxLANPath\x12\x0b\n\x03VNI\x18\x01 \x01(\r\x12\x18\n\x10SourceMacAddress\x18\x02 \x01(\x0c\x12\x16\n\x0e\x44\x65stMacAddress\x18\x03 \x01(\x0c\x12\x30\n\x0cSrcIpAddress\x18\x04 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x31\n\rDestIpAddress\x18\x05 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\"\xab\x03\n\x0bSLRoutePath\x12\x32\n\x0eNexthopAddress\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x34\n\x10NexthopInterface\x18\x02 \x01(\x0b\x32\x1a.service_layer.SLInterface\x12\x12\n\nLoadMetric\x18\x03 \x01(\r\x12\x0f\n\x07VrfName\x18\x04 \x01(\t\x12\x0e\n\x06Metric\x18\x05 \x01(\r\x12\x0e\n\x06PathId\x18\x06 \x01(\r\x12\x1b\n\x13ProtectedPathBitmap\x18\x07 \x03(\x04\x12\x12\n\nLabelStack\x18\x08 \x03(\r\x12\x31\n\rRemoteAddress\x18\t \x03(\x0b\x32\x1a.service_layer.SLIpAddress\x12-\n\tEncapType\x18\n \x01(\x0e\x32\x1a.service_layer.SLEncapType\x12\x1c\n\x14VtepRouterMacAddress\x18\x0b \x01(\x0c\x12-\n\tVxLANPath\x18\x0c \x01(\x0b\x32\x1a.service_layer.SLVxLANPath\x12\r\n\x05\x46lags\x18\r \x01(\r*\xca\x01\n\x0bSLNotifType\x12\x1a\n\x16SL_EVENT_TYPE_RESERVED\x10\x00\x12\x17\n\x13SL_EVENT_TYPE_ERROR\x10\x01\x12\x18\n\x14SL_EVENT_TYPE_STATUS\x10\x02\x12\x17\n\x13SL_EVENT_TYPE_ROUTE\x10\x03\x12\x1e\n\x1aSL_EVENT_TYPE_START_MARKER\x10\x04\x12\x1c\n\x18SL_EVENT_TYPE_END_MARKER\x10\x05\x12\x15\n\x11SL_EVENT_TYPE_VRF\x10\x06*\xc2\x01\n\x0cSLRouteFlags\x12\x1a\n\x16SL_ROUTE_FLAG_RESERVED\x10\x00\x12!\n\x1dSL_ROUTE_FLAG_PREFER_OVER_LDP\x10\x01\x12%\n!SL_ROUTE_FLAG_DISABLE_LABEL_MERGE\x10\x02\x12#\n\x1fSL_ROUTE_FLAG_VIABLE_PATHS_ONLY\x10\x04\x12\'\n#SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH\x10\x08*J\n\x0bSLPathFlags\x12\x19\n\x15SL_PATH_FLAG_RESERVED\x10\x00\x12 \n\x1cSL_PATH_FLAG_SINGLE_PATH_OPT\x10\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15sl_route_common.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x16\n\x14SLRouteGlobalsGetMsg\"\x86\x01\n\x17SLRouteGlobalsGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x1d\n\x15MaxVrfregPerVrfregmsg\x18\x02 \x01(\r\x12\x1b\n\x13MaxRoutePerRoutemsg\x18\x03 \x01(\r\"\x1a\n\x18SLRouteGlobalStatsGetMsg\"t\n\x1bSLRouteGlobalStatsGetMsgRsp\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x10\n\x08VrfCount\x18\x02 \x01(\r\x12\x12\n\nRouteCount\x18\x03 \x01(\r\"S\n\x08SLVrfReg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\x15\n\rAdminDistance\x18\x02 \x01(\r\x12\x1f\n\x17VrfPurgeIntervalSeconds\x18\x03 \x01(\r\"`\n\x0bSLVrfRegMsg\x12$\n\x04Oper\x18\x01 \x01(\x0e\x32\x16.service_layer.SLRegOp\x12+\n\nVrfRegMsgs\x18\x02 \x03(\x0b\x32\x17.service_layer.SLVrfReg\"R\n\x0eSLVrfRegMsgRes\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\"u\n\x0eSLVrfRegMsgRsp\x12\x33\n\rStatusSummary\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12.\n\x07Results\x18\x02 \x03(\x0b\x32\x1d.service_layer.SLVrfRegMsgRes\"H\n\x0eSLVrfRegGetMsg\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\x14\n\x0c\x45ntriesCount\x18\x02 \x01(\r\x12\x0f\n\x07GetNext\x18\x03 \x01(\x08\"{\n\x11SLVrfRegGetMsgRsp\x12\x0b\n\x03\x45of\x18\x01 \x01(\x08\x12/\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12(\n\x07\x45ntries\x18\x03 \x03(\x0b\x32\x17.service_layer.SLVrfReg\":\n\x13SLVRFGetStatsMsgRes\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12\x12\n\nRouteCount\x18\x02 \x01(\r\"\x88\x01\n\x13SLVRFGetStatsMsgRsp\x12\x0b\n\x03\x45of\x18\x01 \x01(\x08\x12/\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x33\n\x07\x45ntries\x18\x03 \x03(\x0b\x32\".service_layer.SLVRFGetStatsMsgRes\"\x88\x01\n\x12SLRouteGetNotifMsg\x12&\n\x04Oper\x18\x01 \x01(\x0e\x32\x18.service_layer.SLNotifOp\x12\x12\n\nCorrelator\x18\x02 \x01(\x04\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12\x10\n\x08SrcProto\x18\x04 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x05 \x01(\t\"l\n\x12SLRouteNotifStatus\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x31\n\x0bNotifStatus\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\"%\n\x12SLRouteNotifMarker\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\"H\n\nSLVrfNotif\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12)\n\x06Status\x18\x02 \x01(\x0e\x32\x19.service_layer.SLObjectOp\"\xac\x01\n\rSLRouteCommon\x12\x15\n\rAdminDistance\x18\x01 \x01(\r\x12\x12\n\nLocalLabel\x18\x02 \x01(\r\x12\x0b\n\x03Tag\x18\x03 \x01(\r\x12\x10\n\x08SrcProto\x18\x04 \x01(\t\x12\x13\n\x0bSrcProtoTag\x18\x05 \x01(\t\x12/\n\nRouteFlags\x18\x07 \x03(\x0e\x32\x1b.service_layer.SLRouteFlagsJ\x04\x08\x06\x10\x07R\x05\x46lags\"\xb1\x01\n\x0bSLVxLANPath\x12\x0b\n\x03VNI\x18\x01 \x01(\r\x12\x18\n\x10SourceMacAddress\x18\x02 \x01(\x0c\x12\x16\n\x0e\x44\x65stMacAddress\x18\x03 \x01(\x0c\x12\x30\n\x0cSrcIpAddress\x18\x04 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x31\n\rDestIpAddress\x18\x05 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\"\xa3\x04\n\x0bSLRoutePath\x12\x32\n\x0eNexthopAddress\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x34\n\x10NexthopInterface\x18\x02 \x01(\x0b\x32\x1a.service_layer.SLInterface\x12\x12\n\nLoadMetric\x18\x03 \x01(\r\x12\x0f\n\x07VrfName\x18\x04 \x01(\t\x12\x0e\n\x06Metric\x18\x05 \x01(\r\x12\x0e\n\x06PathId\x18\x06 \x01(\r\x12\x1b\n\x13ProtectedPathBitmap\x18\x07 \x03(\x04\x12\x12\n\nLabelStack\x18\x08 \x03(\r\x12\x31\n\rRemoteAddress\x18\t \x03(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x31\n\tEncapType\x18\n \x01(\x0e\x32\x1a.service_layer.SLEncapTypeB\x02\x18\x01\x12 \n\x14VtepRouterMacAddress\x18\x0b \x01(\x0c\x42\x02\x18\x01\x12-\n\tVxLANPath\x18\x0c \x01(\x0b\x32\x1a.service_layer.SLVxLANPath\x12-\n\tPathFlags\x18\x0e \x03(\x0e\x32\x1a.service_layer.SLPathFlags\x12\x38\n\x0cPathGroupKey\x18\x0f \x01(\x0b\x32 .service_layer.SLPathGroupRefKeyH\x00\x42\x07\n\x05\x65ntryJ\x04\x08\r\x10\x0eR\x05\x46lags\"N\n\rSLRoutePrefix\x12*\n\x06Prefix\x18\x01 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x11\n\tPrefixLen\x18\x02 \x01(\r*\xca\x01\n\x0bSLNotifType\x12\x1a\n\x16SL_EVENT_TYPE_RESERVED\x10\x00\x12\x17\n\x13SL_EVENT_TYPE_ERROR\x10\x01\x12\x18\n\x14SL_EVENT_TYPE_STATUS\x10\x02\x12\x17\n\x13SL_EVENT_TYPE_ROUTE\x10\x03\x12\x1e\n\x1aSL_EVENT_TYPE_START_MARKER\x10\x04\x12\x1c\n\x18SL_EVENT_TYPE_END_MARKER\x10\x05\x12\x15\n\x11SL_EVENT_TYPE_VRF\x10\x06*\xc2\x01\n\x0cSLRouteFlags\x12\x1a\n\x16SL_ROUTE_FLAG_RESERVED\x10\x00\x12!\n\x1dSL_ROUTE_FLAG_PREFER_OVER_LDP\x10\x01\x12%\n!SL_ROUTE_FLAG_DISABLE_LABEL_MERGE\x10\x02\x12#\n\x1fSL_ROUTE_FLAG_VIABLE_PATHS_ONLY\x10\x03\x12\'\n#SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH\x10\x04*J\n\x0bSLPathFlags\x12\x19\n\x15SL_PATH_FLAG_RESERVED\x10\x00\x12 \n\x1cSL_PATH_FLAG_SINGLE_PATH_OPT\x10\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,12 +23,16 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' - _globals['_SLNOTIFTYPE']._serialized_start=2330 - _globals['_SLNOTIFTYPE']._serialized_end=2532 - _globals['_SLROUTEFLAGS']._serialized_start=2535 - _globals['_SLROUTEFLAGS']._serialized_end=2729 - _globals['_SLPATHFLAGS']._serialized_start=2731 - _globals['_SLPATHFLAGS']._serialized_end=2805 + _globals['_SLROUTEPATH'].fields_by_name['EncapType']._options = None + _globals['_SLROUTEPATH'].fields_by_name['EncapType']._serialized_options = b'\030\001' + _globals['_SLROUTEPATH'].fields_by_name['VtepRouterMacAddress']._options = None + _globals['_SLROUTEPATH'].fields_by_name['VtepRouterMacAddress']._serialized_options = b'\030\001' + _globals['_SLNOTIFTYPE']._serialized_start=2502 + _globals['_SLNOTIFTYPE']._serialized_end=2704 + _globals['_SLROUTEFLAGS']._serialized_start=2707 + _globals['_SLROUTEFLAGS']._serialized_end=2901 + _globals['_SLPATHFLAGS']._serialized_start=2903 + _globals['_SLPATHFLAGS']._serialized_end=2977 _globals['_SLROUTEGLOBALSGETMSG']._serialized_start=63 _globals['_SLROUTEGLOBALSGETMSG']._serialized_end=85 _globals['_SLROUTEGLOBALSGETMSGRSP']._serialized_start=88 @@ -61,12 +65,12 @@ _globals['_SLROUTENOTIFMARKER']._serialized_end=1440 _globals['_SLVRFNOTIF']._serialized_start=1442 _globals['_SLVRFNOTIF']._serialized_end=1514 - _globals['_SLROUTEGETMATCH']._serialized_start=1516 - _globals['_SLROUTEGETMATCH']._serialized_end=1590 - _globals['_SLROUTECOMMON']._serialized_start=1592 - _globals['_SLROUTECOMMON']._serialized_end=1717 - _globals['_SLVXLANPATH']._serialized_start=1720 - _globals['_SLVXLANPATH']._serialized_end=1897 - _globals['_SLROUTEPATH']._serialized_start=1900 - _globals['_SLROUTEPATH']._serialized_end=2327 + _globals['_SLROUTECOMMON']._serialized_start=1517 + _globals['_SLROUTECOMMON']._serialized_end=1689 + _globals['_SLVXLANPATH']._serialized_start=1692 + _globals['_SLVXLANPATH']._serialized_end=1869 + _globals['_SLROUTEPATH']._serialized_start=1872 + _globals['_SLROUTEPATH']._serialized_end=2419 + _globals['_SLROUTEPREFIX']._serialized_start=2421 + _globals['_SLROUTEPREFIX']._serialized_end=2499 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_route_ipv4_pb2.py b/grpc/python/src/genpy/sl_route_ipv4_pb2.py index bf2a758..1d137ad 100644 --- a/grpc/python/src/genpy/sl_route_ipv4_pb2.py +++ b/grpc/python/src/genpy/sl_route_ipv4_pb2.py @@ -16,7 +16,7 @@ from . import sl_route_common_pb2 as sl__route__common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13sl_route_ipv4.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"\xd2\x01\n\tSLRoutev4\x12\x0e\n\x06Prefix\x18\x01 \x01(\r\x12\x11\n\tPrefixLen\x18\x02 \x01(\r\x12\x31\n\x0bRouteCommon\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLRouteCommon\x12,\n\x08PathList\x18\x04 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\x12\x38\n\x0cPathGroupKey\x18\x05 \x01(\x0b\x32 .service_layer.SLPathGroupRefKeyH\x00\x42\x07\n\x05\x65ntry\"\x86\x01\n\x0cSLRoutev4Msg\x12\'\n\x04Oper\x18\x01 \x01(\x0e\x32\x19.service_layer.SLObjectOp\x12\x12\n\nCorrelator\x18\x02 \x01(\x04\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12(\n\x06Routes\x18\x04 \x03(\x0b\x32\x18.service_layer.SLRoutev4\"b\n\x0cSLRoutev4Res\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0e\n\x06Prefix\x18\x02 \x01(\r\x12\x11\n\tPrefixLen\x18\x03 \x01(\r\"\x99\x01\n\x0fSLRoutev4MsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x33\n\rStatusSummary\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12,\n\x07Results\x18\x04 \x03(\x0b\x32\x1b.service_layer.SLRoutev4Res\"\x80\x01\n\x0fSLRoutev4GetMsg\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x0e\n\x06Prefix\x18\x03 \x01(\r\x12\x11\n\tPrefixLen\x18\x04 \x01(\r\x12\x14\n\x0c\x45ntriesCount\x18\x05 \x01(\r\x12\x0f\n\x07GetNext\x18\x06 \x01(\x08\"\xa2\x01\n\x12SLRoutev4GetMsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0b\n\x03\x45of\x18\x02 \x01(\x08\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12/\n\tErrStatus\x18\x04 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12)\n\x07\x45ntries\x18\x05 \x03(\x0b\x32\x18.service_layer.SLRoutev4\"Q\n\x13SLRoutev4NotifRoute\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12)\n\x07\x45ntries\x18\x02 \x03(\x0b\x32\x18.service_layer.SLRoutev4\"\xc9\x02\n\x0eSLRoutev4Notif\x12-\n\tEventType\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLNotifType\x12\x31\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatusH\x00\x12\x38\n\x0bNotifStatus\x18\x03 \x01(\x0b\x32!.service_layer.SLRouteNotifStatusH\x00\x12\x33\n\x05Route\x18\x04 \x01(\x0b\x32\".service_layer.SLRoutev4NotifRouteH\x00\x12\x33\n\x06Marker\x18\x05 \x01(\x0b\x32!.service_layer.SLRouteNotifMarkerH\x00\x12(\n\x03Vrf\x18\x06 \x01(\x0b\x32\x19.service_layer.SLVrfNotifH\x00\x42\x07\n\x05\x45vent2\x98\x07\n\rSLRoutev4Oper\x12\x62\n\x13SLRoutev4GlobalsGet\x12#.service_layer.SLRouteGlobalsGetMsg\x1a&.service_layer.SLRouteGlobalsGetMsgRsp\x12n\n\x17SLRoutev4GlobalStatsGet\x12\'.service_layer.SLRouteGlobalStatsGetMsg\x1a*.service_layer.SLRouteGlobalStatsGetMsgRsp\x12N\n\x11SLRoutev4VrfRegOp\x12\x1a.service_layer.SLVrfRegMsg\x1a\x1d.service_layer.SLVrfRegMsgRsp\x12U\n\x12SLRoutev4VrfRegGet\x12\x1d.service_layer.SLVrfRegGetMsg\x1a .service_layer.SLVrfRegGetMsgRsp\x12Y\n\x14SLRoutev4VrfGetStats\x12\x1d.service_layer.SLVrfRegGetMsg\x1a\".service_layer.SLVRFGetStatsMsgRsp\x12J\n\x0bSLRoutev4Op\x12\x1b.service_layer.SLRoutev4Msg\x1a\x1e.service_layer.SLRoutev4MsgRsp\x12Q\n\x0cSLRoutev4Get\x12\x1e.service_layer.SLRoutev4GetMsg\x1a!.service_layer.SLRoutev4GetMsgRsp\x12T\n\x11SLRoutev4OpStream\x12\x1b.service_layer.SLRoutev4Msg\x1a\x1e.service_layer.SLRoutev4MsgRsp(\x01\x30\x01\x12[\n\x12SLRoutev4GetStream\x12\x1e.service_layer.SLRoutev4GetMsg\x1a!.service_layer.SLRoutev4GetMsgRsp(\x01\x30\x01\x12_\n\x17SLRoutev4GetNotifStream\x12!.service_layer.SLRouteGetNotifMsg\x1a\x1d.service_layer.SLRoutev4Notif(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13sl_route_ipv4.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"\x8f\x01\n\tSLRoutev4\x12\x0e\n\x06Prefix\x18\x01 \x01(\r\x12\x11\n\tPrefixLen\x18\x02 \x01(\r\x12\x31\n\x0bRouteCommon\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLRouteCommon\x12,\n\x08PathList\x18\x04 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\"\x86\x01\n\x0cSLRoutev4Msg\x12\'\n\x04Oper\x18\x01 \x01(\x0e\x32\x19.service_layer.SLObjectOp\x12\x12\n\nCorrelator\x18\x02 \x01(\x04\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12(\n\x06Routes\x18\x04 \x03(\x0b\x32\x18.service_layer.SLRoutev4\"b\n\x0cSLRoutev4Res\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0e\n\x06Prefix\x18\x02 \x01(\r\x12\x11\n\tPrefixLen\x18\x03 \x01(\r\"\x99\x01\n\x0fSLRoutev4MsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x33\n\rStatusSummary\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12,\n\x07Results\x18\x04 \x03(\x0b\x32\x1b.service_layer.SLRoutev4Res\"\x80\x01\n\x0fSLRoutev4GetMsg\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x0e\n\x06Prefix\x18\x03 \x01(\r\x12\x11\n\tPrefixLen\x18\x04 \x01(\r\x12\x14\n\x0c\x45ntriesCount\x18\x05 \x01(\r\x12\x0f\n\x07GetNext\x18\x06 \x01(\x08\"\xa2\x01\n\x12SLRoutev4GetMsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0b\n\x03\x45of\x18\x02 \x01(\x08\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12/\n\tErrStatus\x18\x04 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12)\n\x07\x45ntries\x18\x05 \x03(\x0b\x32\x18.service_layer.SLRoutev4\"Q\n\x13SLRoutev4NotifRoute\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12)\n\x07\x45ntries\x18\x02 \x03(\x0b\x32\x18.service_layer.SLRoutev4\"\xc9\x02\n\x0eSLRoutev4Notif\x12-\n\tEventType\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLNotifType\x12\x31\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatusH\x00\x12\x38\n\x0bNotifStatus\x18\x03 \x01(\x0b\x32!.service_layer.SLRouteNotifStatusH\x00\x12\x33\n\x05Route\x18\x04 \x01(\x0b\x32\".service_layer.SLRoutev4NotifRouteH\x00\x12\x33\n\x06Marker\x18\x05 \x01(\x0b\x32!.service_layer.SLRouteNotifMarkerH\x00\x12(\n\x03Vrf\x18\x06 \x01(\x0b\x32\x19.service_layer.SLVrfNotifH\x00\x42\x07\n\x05\x45vent2\x98\x07\n\rSLRoutev4Oper\x12\x62\n\x13SLRoutev4GlobalsGet\x12#.service_layer.SLRouteGlobalsGetMsg\x1a&.service_layer.SLRouteGlobalsGetMsgRsp\x12n\n\x17SLRoutev4GlobalStatsGet\x12\'.service_layer.SLRouteGlobalStatsGetMsg\x1a*.service_layer.SLRouteGlobalStatsGetMsgRsp\x12N\n\x11SLRoutev4VrfRegOp\x12\x1a.service_layer.SLVrfRegMsg\x1a\x1d.service_layer.SLVrfRegMsgRsp\x12U\n\x12SLRoutev4VrfRegGet\x12\x1d.service_layer.SLVrfRegGetMsg\x1a .service_layer.SLVrfRegGetMsgRsp\x12Y\n\x14SLRoutev4VrfGetStats\x12\x1d.service_layer.SLVrfRegGetMsg\x1a\".service_layer.SLVRFGetStatsMsgRsp\x12J\n\x0bSLRoutev4Op\x12\x1b.service_layer.SLRoutev4Msg\x1a\x1e.service_layer.SLRoutev4MsgRsp\x12Q\n\x0cSLRoutev4Get\x12\x1e.service_layer.SLRoutev4GetMsg\x1a!.service_layer.SLRoutev4GetMsgRsp\x12T\n\x11SLRoutev4OpStream\x12\x1b.service_layer.SLRoutev4Msg\x1a\x1e.service_layer.SLRoutev4MsgRsp(\x01\x30\x01\x12[\n\x12SLRoutev4GetStream\x12\x1e.service_layer.SLRoutev4GetMsg\x1a!.service_layer.SLRoutev4GetMsgRsp(\x01\x30\x01\x12_\n\x17SLRoutev4GetNotifStream\x12!.service_layer.SLRouteGetNotifMsg\x1a\x1d.service_layer.SLRoutev4Notif(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,21 +25,21 @@ _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLROUTEV4']._serialized_start=85 - _globals['_SLROUTEV4']._serialized_end=295 - _globals['_SLROUTEV4MSG']._serialized_start=298 - _globals['_SLROUTEV4MSG']._serialized_end=432 - _globals['_SLROUTEV4RES']._serialized_start=434 - _globals['_SLROUTEV4RES']._serialized_end=532 - _globals['_SLROUTEV4MSGRSP']._serialized_start=535 - _globals['_SLROUTEV4MSGRSP']._serialized_end=688 - _globals['_SLROUTEV4GETMSG']._serialized_start=691 - _globals['_SLROUTEV4GETMSG']._serialized_end=819 - _globals['_SLROUTEV4GETMSGRSP']._serialized_start=822 - _globals['_SLROUTEV4GETMSGRSP']._serialized_end=984 - _globals['_SLROUTEV4NOTIFROUTE']._serialized_start=986 - _globals['_SLROUTEV4NOTIFROUTE']._serialized_end=1067 - _globals['_SLROUTEV4NOTIF']._serialized_start=1070 - _globals['_SLROUTEV4NOTIF']._serialized_end=1399 - _globals['_SLROUTEV4OPER']._serialized_start=1402 - _globals['_SLROUTEV4OPER']._serialized_end=2322 + _globals['_SLROUTEV4']._serialized_end=228 + _globals['_SLROUTEV4MSG']._serialized_start=231 + _globals['_SLROUTEV4MSG']._serialized_end=365 + _globals['_SLROUTEV4RES']._serialized_start=367 + _globals['_SLROUTEV4RES']._serialized_end=465 + _globals['_SLROUTEV4MSGRSP']._serialized_start=468 + _globals['_SLROUTEV4MSGRSP']._serialized_end=621 + _globals['_SLROUTEV4GETMSG']._serialized_start=624 + _globals['_SLROUTEV4GETMSG']._serialized_end=752 + _globals['_SLROUTEV4GETMSGRSP']._serialized_start=755 + _globals['_SLROUTEV4GETMSGRSP']._serialized_end=917 + _globals['_SLROUTEV4NOTIFROUTE']._serialized_start=919 + _globals['_SLROUTEV4NOTIFROUTE']._serialized_end=1000 + _globals['_SLROUTEV4NOTIF']._serialized_start=1003 + _globals['_SLROUTEV4NOTIF']._serialized_end=1332 + _globals['_SLROUTEV4OPER']._serialized_start=1335 + _globals['_SLROUTEV4OPER']._serialized_end=2255 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_route_ipv6_pb2.py b/grpc/python/src/genpy/sl_route_ipv6_pb2.py index aea4bba..a164522 100644 --- a/grpc/python/src/genpy/sl_route_ipv6_pb2.py +++ b/grpc/python/src/genpy/sl_route_ipv6_pb2.py @@ -16,7 +16,7 @@ from . import sl_route_common_pb2 as sl__route__common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13sl_route_ipv6.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"\xd2\x01\n\tSLRoutev6\x12\x0e\n\x06Prefix\x18\x01 \x01(\x0c\x12\x11\n\tPrefixLen\x18\x02 \x01(\r\x12\x31\n\x0bRouteCommon\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLRouteCommon\x12,\n\x08PathList\x18\x04 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\x12\x38\n\x0cPathGroupKey\x18\x05 \x01(\x0b\x32 .service_layer.SLPathGroupRefKeyH\x00\x42\x07\n\x05\x65ntry\"\x86\x01\n\x0cSLRoutev6Msg\x12\'\n\x04Oper\x18\x01 \x01(\x0e\x32\x19.service_layer.SLObjectOp\x12\x12\n\nCorrelator\x18\x02 \x01(\x04\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12(\n\x06Routes\x18\x04 \x03(\x0b\x32\x18.service_layer.SLRoutev6\"b\n\x0cSLRoutev6Res\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0e\n\x06Prefix\x18\x02 \x01(\x0c\x12\x11\n\tPrefixLen\x18\x03 \x01(\r\"\x99\x01\n\x0fSLRoutev6MsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x33\n\rStatusSummary\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12,\n\x07Results\x18\x04 \x03(\x0b\x32\x1b.service_layer.SLRoutev6Res\"\x80\x01\n\x0fSLRoutev6GetMsg\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x0e\n\x06Prefix\x18\x03 \x01(\x0c\x12\x11\n\tPrefixLen\x18\x04 \x01(\r\x12\x14\n\x0c\x45ntriesCount\x18\x05 \x01(\r\x12\x0f\n\x07GetNext\x18\x06 \x01(\x08\"\xa2\x01\n\x12SLRoutev6GetMsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0b\n\x03\x45of\x18\x02 \x01(\x08\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12/\n\tErrStatus\x18\x04 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12)\n\x07\x45ntries\x18\x05 \x03(\x0b\x32\x18.service_layer.SLRoutev6\"Q\n\x13SLRoutev6NotifRoute\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12)\n\x07\x45ntries\x18\x02 \x03(\x0b\x32\x18.service_layer.SLRoutev6\"\xc9\x02\n\x0eSLRoutev6Notif\x12-\n\tEventType\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLNotifType\x12\x31\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatusH\x00\x12\x38\n\x0bNotifStatus\x18\x03 \x01(\x0b\x32!.service_layer.SLRouteNotifStatusH\x00\x12\x33\n\x05Route\x18\x04 \x01(\x0b\x32\".service_layer.SLRoutev6NotifRouteH\x00\x12\x33\n\x06Marker\x18\x05 \x01(\x0b\x32!.service_layer.SLRouteNotifMarkerH\x00\x12(\n\x03Vrf\x18\x06 \x01(\x0b\x32\x19.service_layer.SLVrfNotifH\x00\x42\x07\n\x05\x45vent2\x98\x07\n\rSLRoutev6Oper\x12\x62\n\x13SLRoutev6GlobalsGet\x12#.service_layer.SLRouteGlobalsGetMsg\x1a&.service_layer.SLRouteGlobalsGetMsgRsp\x12n\n\x17SLRoutev6GlobalStatsGet\x12\'.service_layer.SLRouteGlobalStatsGetMsg\x1a*.service_layer.SLRouteGlobalStatsGetMsgRsp\x12N\n\x11SLRoutev6VrfRegOp\x12\x1a.service_layer.SLVrfRegMsg\x1a\x1d.service_layer.SLVrfRegMsgRsp\x12U\n\x12SLRoutev6VrfRegGet\x12\x1d.service_layer.SLVrfRegGetMsg\x1a .service_layer.SLVrfRegGetMsgRsp\x12Y\n\x14SLRoutev6VrfGetStats\x12\x1d.service_layer.SLVrfRegGetMsg\x1a\".service_layer.SLVRFGetStatsMsgRsp\x12J\n\x0bSLRoutev6Op\x12\x1b.service_layer.SLRoutev6Msg\x1a\x1e.service_layer.SLRoutev6MsgRsp\x12Q\n\x0cSLRoutev6Get\x12\x1e.service_layer.SLRoutev6GetMsg\x1a!.service_layer.SLRoutev6GetMsgRsp\x12T\n\x11SLRoutev6OpStream\x12\x1b.service_layer.SLRoutev6Msg\x1a\x1e.service_layer.SLRoutev6MsgRsp(\x01\x30\x01\x12[\n\x12SLRoutev6GetStream\x12\x1e.service_layer.SLRoutev6GetMsg\x1a!.service_layer.SLRoutev6GetMsgRsp(\x01\x30\x01\x12_\n\x17SLRoutev6GetNotifStream\x12!.service_layer.SLRouteGetNotifMsg\x1a\x1d.service_layer.SLRoutev6Notif(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13sl_route_ipv6.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"\x8f\x01\n\tSLRoutev6\x12\x0e\n\x06Prefix\x18\x01 \x01(\x0c\x12\x11\n\tPrefixLen\x18\x02 \x01(\r\x12\x31\n\x0bRouteCommon\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLRouteCommon\x12,\n\x08PathList\x18\x04 \x03(\x0b\x32\x1a.service_layer.SLRoutePath\"\x86\x01\n\x0cSLRoutev6Msg\x12\'\n\x04Oper\x18\x01 \x01(\x0e\x32\x19.service_layer.SLObjectOp\x12\x12\n\nCorrelator\x18\x02 \x01(\x04\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12(\n\x06Routes\x18\x04 \x03(\x0b\x32\x18.service_layer.SLRoutev6\"b\n\x0cSLRoutev6Res\x12/\n\tErrStatus\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x0e\n\x06Prefix\x18\x02 \x01(\x0c\x12\x11\n\tPrefixLen\x18\x03 \x01(\r\"\x99\x01\n\x0fSLRoutev6MsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x33\n\rStatusSummary\x18\x03 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12,\n\x07Results\x18\x04 \x03(\x0b\x32\x1b.service_layer.SLRoutev6Res\"\x80\x01\n\x0fSLRoutev6GetMsg\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0f\n\x07VrfName\x18\x02 \x01(\t\x12\x0e\n\x06Prefix\x18\x03 \x01(\x0c\x12\x11\n\tPrefixLen\x18\x04 \x01(\r\x12\x14\n\x0c\x45ntriesCount\x18\x05 \x01(\r\x12\x0f\n\x07GetNext\x18\x06 \x01(\x08\"\xa2\x01\n\x12SLRoutev6GetMsgRsp\x12\x12\n\nCorrelator\x18\x01 \x01(\x04\x12\x0b\n\x03\x45of\x18\x02 \x01(\x08\x12\x0f\n\x07VrfName\x18\x03 \x01(\t\x12/\n\tErrStatus\x18\x04 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12)\n\x07\x45ntries\x18\x05 \x03(\x0b\x32\x18.service_layer.SLRoutev6\"Q\n\x13SLRoutev6NotifRoute\x12\x0f\n\x07VrfName\x18\x01 \x01(\t\x12)\n\x07\x45ntries\x18\x02 \x03(\x0b\x32\x18.service_layer.SLRoutev6\"\xc9\x02\n\x0eSLRoutev6Notif\x12-\n\tEventType\x18\x01 \x01(\x0e\x32\x1a.service_layer.SLNotifType\x12\x31\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatusH\x00\x12\x38\n\x0bNotifStatus\x18\x03 \x01(\x0b\x32!.service_layer.SLRouteNotifStatusH\x00\x12\x33\n\x05Route\x18\x04 \x01(\x0b\x32\".service_layer.SLRoutev6NotifRouteH\x00\x12\x33\n\x06Marker\x18\x05 \x01(\x0b\x32!.service_layer.SLRouteNotifMarkerH\x00\x12(\n\x03Vrf\x18\x06 \x01(\x0b\x32\x19.service_layer.SLVrfNotifH\x00\x42\x07\n\x05\x45vent2\x98\x07\n\rSLRoutev6Oper\x12\x62\n\x13SLRoutev6GlobalsGet\x12#.service_layer.SLRouteGlobalsGetMsg\x1a&.service_layer.SLRouteGlobalsGetMsgRsp\x12n\n\x17SLRoutev6GlobalStatsGet\x12\'.service_layer.SLRouteGlobalStatsGetMsg\x1a*.service_layer.SLRouteGlobalStatsGetMsgRsp\x12N\n\x11SLRoutev6VrfRegOp\x12\x1a.service_layer.SLVrfRegMsg\x1a\x1d.service_layer.SLVrfRegMsgRsp\x12U\n\x12SLRoutev6VrfRegGet\x12\x1d.service_layer.SLVrfRegGetMsg\x1a .service_layer.SLVrfRegGetMsgRsp\x12Y\n\x14SLRoutev6VrfGetStats\x12\x1d.service_layer.SLVrfRegGetMsg\x1a\".service_layer.SLVRFGetStatsMsgRsp\x12J\n\x0bSLRoutev6Op\x12\x1b.service_layer.SLRoutev6Msg\x1a\x1e.service_layer.SLRoutev6MsgRsp\x12Q\n\x0cSLRoutev6Get\x12\x1e.service_layer.SLRoutev6GetMsg\x1a!.service_layer.SLRoutev6GetMsgRsp\x12T\n\x11SLRoutev6OpStream\x12\x1b.service_layer.SLRoutev6Msg\x1a\x1e.service_layer.SLRoutev6MsgRsp(\x01\x30\x01\x12[\n\x12SLRoutev6GetStream\x12\x1e.service_layer.SLRoutev6GetMsg\x1a!.service_layer.SLRoutev6GetMsgRsp(\x01\x30\x01\x12_\n\x17SLRoutev6GetNotifStream\x12!.service_layer.SLRouteGetNotifMsg\x1a\x1d.service_layer.SLRoutev6Notif(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,21 +25,21 @@ _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLROUTEV6']._serialized_start=85 - _globals['_SLROUTEV6']._serialized_end=295 - _globals['_SLROUTEV6MSG']._serialized_start=298 - _globals['_SLROUTEV6MSG']._serialized_end=432 - _globals['_SLROUTEV6RES']._serialized_start=434 - _globals['_SLROUTEV6RES']._serialized_end=532 - _globals['_SLROUTEV6MSGRSP']._serialized_start=535 - _globals['_SLROUTEV6MSGRSP']._serialized_end=688 - _globals['_SLROUTEV6GETMSG']._serialized_start=691 - _globals['_SLROUTEV6GETMSG']._serialized_end=819 - _globals['_SLROUTEV6GETMSGRSP']._serialized_start=822 - _globals['_SLROUTEV6GETMSGRSP']._serialized_end=984 - _globals['_SLROUTEV6NOTIFROUTE']._serialized_start=986 - _globals['_SLROUTEV6NOTIFROUTE']._serialized_end=1067 - _globals['_SLROUTEV6NOTIF']._serialized_start=1070 - _globals['_SLROUTEV6NOTIF']._serialized_end=1399 - _globals['_SLROUTEV6OPER']._serialized_start=1402 - _globals['_SLROUTEV6OPER']._serialized_end=2322 + _globals['_SLROUTEV6']._serialized_end=228 + _globals['_SLROUTEV6MSG']._serialized_start=231 + _globals['_SLROUTEV6MSG']._serialized_end=365 + _globals['_SLROUTEV6RES']._serialized_start=367 + _globals['_SLROUTEV6RES']._serialized_end=465 + _globals['_SLROUTEV6MSGRSP']._serialized_start=468 + _globals['_SLROUTEV6MSGRSP']._serialized_end=621 + _globals['_SLROUTEV6GETMSG']._serialized_start=624 + _globals['_SLROUTEV6GETMSG']._serialized_end=752 + _globals['_SLROUTEV6GETMSGRSP']._serialized_start=755 + _globals['_SLROUTEV6GETMSGRSP']._serialized_end=917 + _globals['_SLROUTEV6NOTIFROUTE']._serialized_start=919 + _globals['_SLROUTEV6NOTIFROUTE']._serialized_end=1000 + _globals['_SLROUTEV6NOTIF']._serialized_start=1003 + _globals['_SLROUTEV6NOTIF']._serialized_end=1332 + _globals['_SLROUTEV6OPER']._serialized_start=1335 + _globals['_SLROUTEV6OPER']._serialized_end=2255 # @@protoc_insertion_point(module_scope) diff --git a/grpc/utils/genc/sl_api_err.h b/grpc/utils/genc/sl_api_err.h index dee4d1a..ecf2bdd 100644 --- a/grpc/utils/genc/sl_api_err.h +++ b/grpc/utils/genc/sl_api_err.h @@ -86,9 +86,11 @@ SL_VRF_NOT_FOUND = 0x2002,\ /* On a VRF registration, Table ID for the VRF is not found. 0x2003 */\ SL_VRF_NO_TABLE_ID = 0x2003,\ - /* VRF add registration message with invalid administrative distance. 0x2004 */\ + /* VRF add registration message with invalid administrative distance. */\ + /* 0x2004 */\ SL_VRF_REG_INVALID_ADMIN_DISTANCE = 0x2004,\ - /* On a VRF registration, Table cannot be added to persistent memory. 0x2005 */\ + /* On a VRF registration, Table cannot be added to persistent memory. */\ + /* 0x2005 */\ SL_VRF_TABLE_ADD_ERR = 0x2005,\ /* VRF table cannot be registered with RIB. 0x2006 */\ SL_VRF_TABLE_REGISTRATION_ERR = 0x2006,\ @@ -147,9 +149,11 @@ SL_RPC_ROUTE_NOTIF_SRC_PROTO_TOOLONG = 0x3009,\ /* Operation rejected as the request's SrcProtoTag is too long. 0x300a */\ SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG = 0x300a,\ - /* Operation rejected as the requested match value/values/criteria is invalid. 0x300b */\ + /* Operation rejected as the requested match value/values/criteria */\ + /* is invalid. 0x300b */\ SL_RPC_ROUTE_GET_MATCH_INVALID = 0x300b,\ - /* Operation rejected as the requested match value/values/criteria is not supported. 0x300c */\ + /* Operation rejected as the requested match value/values/criteria */\ + /* is not supported. 0x300c */\ SL_RPC_ROUTE_GET_MATCH_NOTSUP = 0x300c,\ /* !!! Error codes for Route objects. */\ /* Offset for route errors. 0x4000 */\ @@ -178,7 +182,7 @@ /* One or more paths could not be programmed in RIB as number of paths */\ /* reached system limit. 0x400b */\ SL_ROUTE_ERR_RIB_TOOMANYPATHS = 0x400b,\ - /* This route already exists in the database. 0x400c */\ + /* This route already exists in the database. 0x400c */\ SL_ROUTE_EEXIST = 0x400c,\ /* Route prefix has host bits set. 0x400d */\ SL_ROUTE_HOST_BITS_SET = 0x400d,\ @@ -205,7 +209,8 @@ SL_PATH_NH_INTF_NOT_FOUND = 0x5002,\ /* Number of labels in the path exceeds system capabilities. 0x5003 */\ SL_PATH_INVALID_LABEL_COUNT = 0x5003,\ - /* Path ID assigned to the path falls outside the supported range. 0x5004 */\ + /* Path ID assigned to the path falls outside the supported range. */\ + /* 0x5004 */\ SL_PATH_INVALID_ID = 0x5004,\ /* Path VRF name exceeds supported length. 0x5005 */\ SL_PATH_VRF_NAME_TOOLONG = 0x5005,\ @@ -254,7 +259,8 @@ SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH = 0x501a,\ /* PATH router mac is not supported with VxLAN path attributes. 0x501b */\ SL_PATH_RTR_MAC_NOSUP = 0x501b,\ - /* Path Encap type attribute does not match specified encapsulation. 0x501c */\ + /* Path Encap type attribute does not match specified encapsulation. */\ + /* 0x501c */\ SL_PATH_ENCAP_TYPE_MISMATCH = 0x501c,\ /* !!! Error codes for BFD opertations. */\ /* Offset for BFD operation errors. 0x6000 */\ @@ -281,7 +287,7 @@ SL_BFD_INTF_NAME_TOOLONG = 0x7001,\ /* BFD Session's interface not found. 0x7002 */\ SL_BFD_INTF_NOT_FOUND = 0x7002,\ - /* BFD Session's tx interval or multiplier are beyond the */\ + /* BFD Session's tx interval or multiplier are beyond the */\ /* supported range. 0x7003 */\ SL_BFD_INVALID_ATTRIBUTE = 0x7003,\ /* BFD Session's interface name is missing. 0x7004 */\ @@ -292,7 +298,7 @@ SL_BFD_INVALID_NBR = 0x7006,\ /* BFD Session's VRF Name is too long. 0x7007 */\ SL_BFD_VRF_NAME_TOOLONG = 0x7007,\ - /* BFD Session's one or more parameters are invalid. */\ + /* BFD Session's one or more parameters are invalid. */\ /* For example, Multihop BFD can not have the interface name set. 0x7008 */\ SL_BFD_BAD_PARAMETER = 0x7008,\ /* BFD Session failed with internal error. 0x7009 */\ @@ -364,7 +370,8 @@ SL_ILM_ELSP_EXP_OR_DFLT_ALREADY_SET = 0x900e,\ /* MPLS ILM add operation requested but no paths were provided. 0x900f */\ SL_ILM_ADD_NO_PATHS = 0x900f,\ - /* MPLS ILM update operation requested but no paths were provided. 0x9010 */\ + /* MPLS ILM update operation requested but no paths were provided. */\ + /* 0x9010 */\ SL_ILM_UPDATE_NO_PATHS = 0x9010,\ /* LSP and ELSP on the same label not supported. 0x9011 */\ SL_ILM_UNSUPPORTED_ELSP = 0x9011,\ @@ -410,7 +417,7 @@ SL_NHLFE_NH_INF_NAME_MISSING = 0xa005,\ /* Interface name exceeds supported length. 0xa006 */\ SL_NHLFE_NH_INTF_NAME_TOOLONG = 0xa006,\ - /* Number of labels in the path incompatible with system capabilities */\ + /* Number of labels in the path incompatible with system capabilities */\ /* for the given label action. 0xa007 */\ SL_NHLFE_INVALID_LABEL_COUNT = 0xa007,\ /* Path id is invalid in NHLFE. 0xa008 */\ @@ -470,7 +477,8 @@ SL_NHLFE_NON_CONTIGUOUS_SETIDS = 0xa022,\ /* Paths with same EXP classification are not contiguous. 0xa023 */\ SL_NHLFE_NON_CONTIGUOUS_EXP = 0xa023,\ - /* On a ILM, mix of NHLFE with EXP class and others without any EXP class are not allowed. 0xa024 */\ + /* On a ILM, mix of NHLFE with EXP class and others without any EXP */\ + /* class are not allowed. 0xa024 */\ SL_NHLFE_INCONSISTENT_EXP_ON_PATH = 0xa024,\ /* !!! MPLS Label block Error codes */\ /* Offset for label block errors. 0xb000 */\ @@ -514,7 +522,7 @@ SL_RPC_INTF_TOO_MANY_INTERFACES = 0xd001,\ /* Interface Operation rejected as server is not initialized. 0xd002 */\ SL_RPC_INTF_SERVER_NOT_INITIALIZED = 0xd002,\ - /* Interface Operation failed as server is not registered with */\ + /* Interface Operation failed as server is not registered with */\ /* interface manager. 0xd003 */\ SL_RPC_INTF_API_CLIENT_NOT_REGISTERED = 0xd003,\ /* !!! Error codes for Interface objects. */\ @@ -524,7 +532,7 @@ SL_INTF_INTERFACE_NAME_MISSING = 0xe001,\ /* Interface object's interface name exceeds supported length. 0xe002 */\ SL_INTF_INTERFACE_NAME_TOOLONG = 0xe002,\ - /* Interface internal registration error. 0xe003 */\ + /* Interface internal registration error. 0xe003 */\ SL_INTF_INTERFACE_REG_ERR = 0xe003,\ /* Internal database error. 0xe004 */\ SL_INTF_INTERNAL_DB_ERROR = 0xe004,\ @@ -633,7 +641,8 @@ SL_PG_VRF_NO_VRFID = 0x15002,\ /* PathGroup's string key is too long. 0x15003 */\ SL_PG_STR_KEY_TOOLONG = 0x15003,\ - /* ID of a next hop VRF in a path in the PathGroup cannot be determined. 0x15004 */\ + /* ID of a next hop VRF in a path in the PathGroup cannot be determined. */\ + /* 0x15004 */\ SL_PG_TARGET_VRF_NO_VRFID = 0x15004,\ /* PathGroup's string key contains invalid characters. 0x15005 */\ SL_PG_STR_KEY_INVALID = 0x15005,\ @@ -657,19 +666,12 @@ /* Unable to program route redist registration to RIB. 0x16008 */\ SL_ROUTE_REDIST_RIB_ADD_FAILED = 0x16008,\ /* Offset for Hardware Ack errors. 0x17000 */\ - SL_FIB_START_OFFSET = 0x17000,\ - /* The operation is successfully programmed in hardware. 0x17001 */\ - SL_FIB_SUCCESS = 0x17001,\ - /* FIB programming failure. 0x17002 */\ - SL_FIB_FAILED = 0x17002,\ - /* The operation is not viable to be programmed in hardware at this time. 0x17003 */\ - SL_FIB_INELIGIBLE = 0x17003,\ - /* The forwarding chain using this object is fully active in hardware. 0x17004 */\ - SL_FIB_INUSE_SUCCESS = 0x17004,\ - /* Ack permit is not supported when ack type is not RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17005 */\ - SL_ACK_PERMIT_NOT_SUPPORTED = 0x17005,\ - /* Given ack type is not permitted on object of this type. 0x17006 */\ - SL_INVALID_ACKTYPE = 0x17006,\ + SL_ACK_START_OFFSET = 0x17000,\ + /* Ack permit is supported only on streaming RPC with ack type set */\ + /* to RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. 0x17001 */\ + SL_ACK_PERMIT_NOT_SUPPORTED = 0x17001,\ + /* The Ack type requested is not supported on the object type. 0x17002 */\ + SL_ACK_INVALID_TYPE = 0x17002,\ /* !!! Error codes for operations on policy objects. */\ /* Offset for policy object operations. 0x18000 */\ SL_POLICY_START_OFFSET = 0x18000,\ @@ -702,7 +704,7 @@ /* Rule belongs to a different policy. 0x1800e */\ SL_POLICY_INVALID_RULE = 0x1800e,\ /* Rule add operation requested but no rules were provided. 0x1800f */\ - SL_POLICY_RULE_ADD_NO_RULES = 0x1800f, \ + SL_POLICY_RULE_ADD_NO_RULES = 0x1800f,\ /* Rule add operation requested but no matches were provided. 0x18010 */\ SL_POLICY_INVALID_MATCH_COUNT_IN_RULE = 0x18010,\ /* Rule add operation requested but no actions were provided. 0x18011 */\ @@ -713,17 +715,17 @@ SL_POLICY_INVALID = 0x18013,\ /* Policy name missing. 0x18014 */\ SL_POLICY_NAME_MISSING = 0x18014,\ - /* Rule name missing. 0x18015 */\ + /* Rule name missing. 0x18015 */\ SL_POLICY_RULE_NAME_MISSING = 0x18015,\ /* Priority missing in rule. 0x18016 */\ SL_POLICY_PRIORITY_MISSING_IN_RULE = 0x18016,\ - /* Invalid policy type. 0x18017 */\ + /* Invalid policy type. 0x18017 */\ SL_POLICY_TYPE_INVALID = 0x18017,\ /* Invalid policy direction. 0x18018 */\ SL_POLICY_INVALID_DIRECTION = 0x18018,\ /* Policy object's interface name exceeds supported length. 0x18019 */\ SL_POLICY_INTF_NAME_TOOLONG = 0x18019,\ - /* Policy object's interface name is missing. 0x1801a */\ + /* Policy object's interface name is missing. 0x1801a */\ SL_POLICY_INTF_NAME_MISSING = 0x1801a,\ /* Max rule limit within a policy is reached. 0x1801b */\ SL_POLICY_MAX_RULE_LIMIT_REACHED = 0x1801b,\ @@ -737,7 +739,7 @@ SL_POLICY_PATH_GRP_NAME_MISSING = 0x1801f,\ /* Invalid Dscp Value. 0x18020 */\ SL_POLICY_INVALID_DSCP_VALUE = 0x18020,\ - /* Priority string too long. 0x18021 */\ + /* Priority string too long. 0x18021 */\ SL_POLICY_PRIORITY_STR_TOO_LONG = 0x18021,\ /* Max interfaces limit in policy reached. 0x18022 */\ SL_POLICY_MAX_INTF_LIMIT_REACHED = 0x18022,\ @@ -747,9 +749,11 @@ SL_POLICY_APPLY_NO_INTFS = 0x18024,\ /* Policy unapply requested but no interfaces were provided. 0x18025 */\ SL_POLICY_UNAPPLY_NO_INTFS = 0x18025,\ + /* Policy object replace failed. 0x18026 */\ + SL_POLICY_REPLACE_ERR = 0x18026,\ /* !!! Error codes for Bgpls Topology objects. */\ /* Offset for Bgpls Topology errors. 0x19000 */\ - SL_BGPLS_TOPO_START_OFFSET = 0x19000, \ + SL_BGPLS_TOPO_START_OFFSET = 0x19000,\ /* LSLIB Server which is required for BGPLS Topology Service */\ /* is not available. 0x19001 */\ SL_BGPLS_SERVER_NOT_AVAILABLE = 0x19001,\ @@ -865,10 +869,12 @@ " On a VRF registration, Table ID for the VRF is not found. "\ },\ {SL_VRF_REG_INVALID_ADMIN_DISTANCE ,\ - " VRF add registration message with invalid administrative distance. "\ + " VRF add registration message with invalid administrative distance. "\ + " "\ },\ {SL_VRF_TABLE_ADD_ERR ,\ - " On a VRF registration, Table cannot be added to persistent memory. "\ + " On a VRF registration, Table cannot be added to persistent memory. "\ + " "\ },\ {SL_VRF_TABLE_REGISTRATION_ERR ,\ " VRF table cannot be registered with RIB. "\ @@ -946,10 +952,12 @@ " Operation rejected as the request's SrcProtoTag is too long. "\ },\ {SL_RPC_ROUTE_GET_MATCH_INVALID ,\ - " Operation rejected as the requested match value/values/criteria is invalid. "\ + " Operation rejected as the requested match value/values/criteria "\ + " is invalid. "\ },\ {SL_RPC_ROUTE_GET_MATCH_NOTSUP ,\ - " Operation rejected as the requested match value/values/criteria is not supported. "\ + " Operation rejected as the requested match value/values/criteria "\ + " is not supported. "\ },\ {SL_ROUTE_START_OFFSET ,\ " Offset for route errors. "\ @@ -1029,7 +1037,8 @@ " Number of labels in the path exceeds system capabilities. "\ },\ {SL_PATH_INVALID_ID ,\ - " Path ID assigned to the path falls outside the supported range. "\ + " Path ID assigned to the path falls outside the supported range. "\ + " "\ },\ {SL_PATH_VRF_NAME_TOOLONG ,\ " Path VRF name exceeds supported length. "\ @@ -1102,7 +1111,8 @@ " PATH router mac is not supported with VxLAN path attributes. "\ },\ {SL_PATH_ENCAP_TYPE_MISMATCH ,\ - " Path Encap type attribute does not match specified encapsulation. "\ + " Path Encap type attribute does not match specified encapsulation. "\ + " "\ },\ {SL_RPC_BFD_START_OFFSET ,\ " Offset for BFD operation errors. "\ @@ -1139,7 +1149,7 @@ " BFD Session's interface not found. "\ },\ {SL_BFD_INVALID_ATTRIBUTE ,\ - " BFD Session's tx interval or multiplier are beyond the "\ + " BFD Session's tx interval or multiplier are beyond the "\ " supported range. "\ },\ {SL_BFD_INTF_NAME_MISSING ,\ @@ -1155,7 +1165,7 @@ " BFD Session's VRF Name is too long. "\ },\ {SL_BFD_BAD_PARAMETER ,\ - " BFD Session's one or more parameters are invalid. "\ + " BFD Session's one or more parameters are invalid. "\ " For example, Multihop BFD can not have the interface name set. "\ },\ {SL_BFD_API_INTERNAL_ERROR ,\ @@ -1257,7 +1267,8 @@ " MPLS ILM add operation requested but no paths were provided. "\ },\ {SL_ILM_UPDATE_NO_PATHS ,\ - " MPLS ILM update operation requested but no paths were provided. "\ + " MPLS ILM update operation requested but no paths were provided. "\ + " "\ },\ {SL_ILM_UNSUPPORTED_ELSP ,\ " LSP and ELSP on the same label not supported. "\ @@ -1322,7 +1333,7 @@ " Interface name exceeds supported length. "\ },\ {SL_NHLFE_INVALID_LABEL_COUNT ,\ - " Number of labels in the path incompatible with system capabilities "\ + " Number of labels in the path incompatible with system capabilities "\ " for the given label action. "\ },\ {SL_NHLFE_INVALID_PATH_ID ,\ @@ -1411,7 +1422,8 @@ " Paths with same EXP classification are not contiguous. "\ },\ {SL_NHLFE_INCONSISTENT_EXP_ON_PATH ,\ - " On a ILM, mix of NHLFE with EXP class and others without any EXP class are not allowed. "\ + " On a ILM, mix of NHLFE with EXP class and others without any EXP "\ + " class are not allowed. "\ },\ {SL_LABEL_BLK_ERR_OFFSET ,\ " Offset for label block errors. "\ @@ -1472,7 +1484,7 @@ " Interface Operation rejected as server is not initialized. "\ },\ {SL_RPC_INTF_API_CLIENT_NOT_REGISTERED ,\ - " Interface Operation failed as server is not registered with "\ + " Interface Operation failed as server is not registered with "\ " interface manager. "\ },\ {SL_INTF_START_OFFSET ,\ @@ -1633,7 +1645,8 @@ " PathGroup's string key is too long. "\ },\ {SL_PG_TARGET_VRF_NO_VRFID ,\ - " ID of a next hop VRF in a path in the PathGroup cannot be determined. "\ + " ID of a next hop VRF in a path in the PathGroup cannot be determined. "\ + " "\ },\ {SL_PG_STR_KEY_INVALID ,\ " PathGroup's string key contains invalid characters. "\ @@ -1665,26 +1678,15 @@ {SL_ROUTE_REDIST_RIB_ADD_FAILED ,\ " Unable to program route redist registration to RIB. "\ },\ - {SL_FIB_START_OFFSET ,\ + {SL_ACK_START_OFFSET ,\ " Offset for Hardware Ack errors. "\ },\ - {SL_FIB_SUCCESS ,\ - " The operation is successfully programmed in hardware. "\ - },\ - {SL_FIB_FAILED ,\ - " FIB programming failure. "\ - },\ - {SL_FIB_INELIGIBLE ,\ - " The operation is not viable to be programmed in hardware at this time. "\ - },\ - {SL_FIB_INUSE_SUCCESS ,\ - " The forwarding chain using this object is fully active in hardware. "\ - },\ {SL_ACK_PERMIT_NOT_SUPPORTED ,\ - " Ack permit is not supported when ack type is not RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. "\ + " Ack permit is supported only on streaming RPC with ack type set "\ + " to RIB_AND_FIB_ACK or RIB_FIB_INUSE_ACK. "\ },\ - {SL_INVALID_ACKTYPE ,\ - " Given ack type is not permitted on object of this type. "\ + {SL_ACK_INVALID_TYPE ,\ + " The Ack type requested is not supported on the object type. "\ },\ {SL_POLICY_START_OFFSET ,\ " Offset for policy object operations. "\ @@ -1800,6 +1802,9 @@ {SL_POLICY_UNAPPLY_NO_INTFS ,\ " Policy unapply requested but no interfaces were provided. "\ },\ + {SL_POLICY_REPLACE_ERR ,\ + " Policy object replace failed. "\ + },\ {SL_BGPLS_TOPO_START_OFFSET ,\ " Offset for Bgpls Topology errors. "\ },\